云服务器centos8安装oracle19c的详细教程
作者:无素达 时间:2024-01-23 06:36:23
因为云服务器的centos是没有图形界面的,所以安装比较麻烦,刚好19c有本地rpm的安装方法,所以推荐用rpm安装。
首先到官网下载rpm包,然后上传到服务器。官网需要先注册账号,而且因国情原因下载很慢,我下载传到网盘了。
链接: https://pan.baidu.com/s/1VypTTrd9zpiLzw1_zV8pVw 提取码: sexh
上传到服务器的两个rpm文件,第一个是数据库安装包,第二个是安装数据库的准备环境,安装的时候先安装第二个。
一、用yum安装准备环境配置:
在安装之前,建议先更新yum源: yum update -y 安装orale准备环境: yum localinstall oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm 安装完之后,会自动创建一个用户名是 oracle的dba账号,检查一下有没有安装成功,例如查看一下有没有oracle用户
因为默认云服务器默认主机名都是一大串数字并不好操作,建议修改一下服务器主机名: vim /etc/hostname 我这里改成 master-kww(下面会用到该主机名) 同时在 /etc/hosts 文件中加上自己的主机名,上面第一个红色框是我云服务器的ip地址。
二、安装oracle数据库
yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm 安静等待安装完成就行了,大概10分钟,软件路径在/opt 下生成一个oracle文件夹,虽然用的root账号安装,但是装完之后用户属于oracle
三、配置环境变量
注意:配置的是oracle用户的环境变量,因为以后所有操作都是在oracle用户下操作,并不是root用户
root用户编辑文件: vim /home/oracle/.bash_profile
然后在底部加入如下配置项
export ORACLE_HOSTNAME=master-kww --- linux服务器主机名
export ORACLE_UNQNAME=ORCLCDB --- 设置成数据库实例名(根据建立的数据库修改)
export ORACLE_SID=ORCLCDB --- 数据库实例名(根据建立的数据库修改,建议就用这个)
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_INVENTORY=$ORACLE_BASE/oraInventory
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 --- sqlplus 操作需要用到的编码,要和数据库编码一致
# 下面三个是为了解决sqlplus下方向键和回退键不能使用的问题,必须安装 rlwrap 后面会提到
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias ggsci='rlwrap ggsci'
至此,安装完了数据库软件,没错,只是安装完了软件,并没有创建数据库。
四、创建数据库
安装数据库一般有两种方式,图形界面安装(使用dbca)或者静默安装,图形界面安装是不可能了,只能静默安装。 静默安装可以通过 /opt/oracle/product/19c/dbhome_1/assistants/dbca/dbca.rsp
配置安装,也可以用19c提供的 默认配置创建,下面介绍用默认配置的方式创建。 在root用户下运行: /etc/init.d/oracledb_ORCLCDB-19c configure
--- 会创建一个实例名为ORCLCDB的容器数据库( 所以上面第三步配置项用ORCLCDB做实例名),还有有一个ORCLPDB1的可插拔数据库。
等大概10分钟左右,数据库创建成功,可以通过 lsnrctl status 查看
至此,数据库实例创建完成。
五、centos8安装注意事项:
1、安装完之后,命令窗口sqlplus输入方向键和回退键会变成乱码,需要安装 rlwrap-0.43-5.el8.x86_64.rpm (在上面的网盘里有此文件) 命令: yum localinstall rlwrap-0.43-5.el8.x86_64.rpm
上面第三步修改的配置文件,最后面三个别名配置项就是安装这个之后配置上去的。
2、sql查询出来的数据中文时显示乱码 上面 第三步操作中配置文件 NLS_LANG 要根据数据库编码配置,可以通过语句查询:select userenv('language') from dual;
3、数据库用户密码有效期默认是180天,建议改成无限期 -- 查询数据库用户密码有效期,可以看到默认是180天 SELECT * FROM dba_profiles s Where s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'
; -- 修改为永不过期 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
4、如果centos8开了防火墙,还需要关闭防火墙或添加监听端口,添加端口如下: firewall-cmd --zone=public --permanent --add-port=1521/tcp firewall-cmd --zone=public --permanent --add-port=5500/tcp
六、重启服务器后自启动数据库(可选)
1、 oracle用户操作,修改文件: vim /etc/oratab 最后一行,把: ORCLCDB:/opt/oracle/product/19c/dbhome_1: N 改为:ORCLCDB:/opt/oracle/product/19c/dbhome_1: Y
2、 root用户操作,修改centos系统启动脚本: vim /etc/rc.d/rc.local 在最后加入以下两行: 启动监听:su oracle -lc "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start" 这句要加引号是因为“lsnrctl start”之间有空格 启动数据库:su oracle -lc /opt/oracle/product/19c/dbhome_1/bin/dbstart
来源:https://blog.csdn.net/se34218/article/details/111477648