原创不易,转载请注明出处
因为云服务器的centos是没有图形界面的,所以安装比较麻烦,刚好19c有本地rpm的安装方法,所以推荐用rpm安装。
首先到官网下载rpm包,然后上传到服务器。官网需要先注册账号,而且因国情原因下载很慢,我下载传到网盘了。
链接:https://pan.baidu.com/s/1Tw38GeKWqRWTnTOEkUvlYA
提取码:iqp6
提取码:iqp6
上传到服务器的两个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分钟左右,数据库创建成功,
切换到oracle用户可以通过 lsnrctl status 查看
至此,数据库实例创建完成。
特别提醒:安装完数据库之后,所有的oracle数据库相关操作,必须切换到 oracle用户下执行,例如sqlplus命令和其他导入导出命令,因为root用户并没有配置oracle运行环境。
五、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
3、
root用户操作,修改centos系统启动脚本权限:
chmod +x /etc/rc.d/rc.local
4、重启服务器,验证是否成功,可以查看oracle进程,通过:
ps -ef | grep ora_