本文基于RockyLinux8.x系统通过图形化来安装Oracle19c,理论适用于其他RHEL8.x兼容系统,不适用于RHEL7.x及相关兼容版本。
下载19c安装包(任选其一):
官方自行下载:https://www.oracle.com/cn/database/technologies/oracle19c-linux-downloads.html
第三方提供的安装包:https://down2.130.cloud/downloads/LINUX.X64_193000_db_home.zip
1、关闭selinux
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
|-----|---------------------------------------------------------------------------------| | 1 2 | setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config |
2、创建用户和组
groupadd oinstall groupadd dba groupadd oper groupadd asmdba groupadd backupdba groupadd dgdba groupadd kmdba groupadd racdba /usr/sbin/useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle echo "oracle" | passwd --stdin oracle
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 | groupadd oinstall groupadd dba groupadd oper groupadd asmdba groupadd backupdba groupadd dgdba groupadd kmdba groupadd racdba /usr/sbin/useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle echo "oracle" | passwd --stdin oracle |
3、设置hostname
hostnamectl set-hostname db_1
|---|-------------------------------| | 1 | hostnamectl set-hostname db_1 |
4、创建目录
mkdir -p /u01/app/oracle/product/19c/db_1
|---|-------------------------------------------| | 1 | mkdir -p /u01/app/oracle/product/19c/db_1 |
5、在该目录下解压缩19c.zip包
上传LINUX.X64_193000_db_home.zip文件至/u01/app/oracle/product/19c/db_1目录下
cd /u01/app/oracle/product/19c/db_1 unzip LINUX.X64_193000_db_home.zip
|-----|------------------------------------------------------------------------| | 1 2 | cd /u01/app/oracle/product/19c/db_1 unzip LINUX.X64_193000_db_home.zip |
6、修改权限
chown -R oracle:oinstall /u01/
|---|--------------------------------| | 1 | chown -R oracle:oinstall /u01/ |
7、修改limit参数
vi /etc/security/limits.conf
|---|------------------------------| | 1 | vi /etc/security/limits.conf |
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
|---------|-------------------------------------------------------------------------------------------------| | 1 2 3 4 | oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
8、配置Oracle用户环境变量
vi /home/oracle/.bash_profile
|---|-------------------------------| | 1 | vi /home/oracle/.bash_profile |
Oracle Settings export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_HOSTNAME=db_1; export ORACLE_BASE=/u01/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1; export ORACLE_SID=orcl; export ORACLE_TERM=xterm; export ORACLE_UNQNAME=orcl; export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH; export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CV_ASSUME_DISTID=RHEL8; if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
|----------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # Oracle Settings export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_HOSTNAME=db_1; export ORACLE_BASE=/u01/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1; export ORACLE_SID=orcl; export ORACLE_TERM=xterm; export ORACLE_UNQNAME=orcl; export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH; export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CV_ASSUME_DISTID=RHEL8; if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi |
注意上面的export ORACLE_HOSTNAME和export ORACLE_HOME路径和实际是否一致
9、配置系统内核参数,解决安装时警告问题
vi /etc/sysctl.conf
|---|---------------------| | 1 | vi /etc/sysctl.conf |
fs.aio-max-nr = 1048576 net.core.wmem_max= 1048576 net.core.wmem_default= 262144 net.core.rmem_max= 4194304 net.core.rmem_default = 262144 fs.file-max = 6815744 kernel.sem = 250 32000 100 128
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 | fs.aio-max-nr = 1048576 net.core.wmem_max= 1048576 net.core.wmem_default= 262144 net.core.rmem_max= 4194304 net.core.rmem_default = 262144 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 |
保存退出
执行sysctl -p命令使其生效
10、安装一些依赖包组
当前系统是Rocky-8.7-x86_64-minimal,使用前dnf update更新下系统并重启,更新后的版本为Rocky Linux release 8.8。
**注意:**8.x系统中已经没有X Window System组了,所以单独安装x11等几个包就好了,没必要装个什么桌面全家桶。
dnf install xorg-x11-utils xhost libnsl wget libstdc++-devel sysstat gcc-c++ ksh make glibc-devel libaio-devel
|---|----------------------------------------------------------------------------------------------------------------| | 1 | dnf install xorg-x11-utils xhost libnsl wget libstdc++-devel sysstat gcc-c++ ksh make glibc-devel libaio-devel |
由于8.x版本中缺少compat-libcap1-1.10和compat-libstdc++-33-3.2.3,可以使用el7的rpm安装,如不安装这两个包,那么在Oracle安装时会显示警告。
rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
|-----|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 | rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm |
11、切换oracle用户配置xhost
su - oracle cd /u01/app/oracle/product/19c/db_1/ xhost + export DISPLAY=10.100.21.230:0.0
|---------|-------------------------------------------------------------------------------------------| | 1 2 3 4 | su - oracle cd /u01/app/oracle/product/19c/db_1/ xhost + export DISPLAY=10.100.21.230:0.0 |
其中10.100.21.230是连接服务器时所使用的IP
12、使用oracle用户安装
先运行xshell全家桶中的Xmanager - Passive,然后执行安装程序
./runInstaller
|---|----------------| | 1 | ./runInstaller |
如果有多台显示器,选择默认Virtual Screen确定即可
13、开始安装
①、创建配置数据库和仅设置软件,选择第一项创建配置数据库
②、选择server class服务器类型
③、选择第一项Enterprise Edition企业版
④、设置数据库目录,我这里默认了
Oracle Base目录存储了Oracle软件安装文件、数据库文件、配置文件以及用户数据等。
⑤、库的目录位置
这个目录存储了Oracle Universal Installer进行安装和管理所需的信息。
⑥、选择General Purpose
General Purpose(通用用途):适用于通用用途的场景,包括事务处理(OLTP)和一般应用程序,适用于典型的企业应用和在线事务处理系统。
Data Warehousing(数据仓库):更注重对大量历史数据的高性能分析和报告生成,适用于满足数据仓库和决策支持系统(DSS)等大规模数据分析的需求。
⑦、默认orcl,取消Create as Container Database勾选
这里的Create as Container Database的选项用于指定是否要创建一个多租户数据库(CDB),如果0勾选 "Create as Container Database",则创建的数据库将是一个容器数据库(CDB),它可以包含一个或多个可插入数据库(PDB)。这种架构允许在一个数据库实例中管理多个数据库,每个 PDB 就像是一个独立的数据库。
如果你只需要单一独立的数据库,可以选择不创建容器数据库。如果你希望充分利用多租户体系结构,可以选择创建容器数据库。
⑧、设置Allocate memory为70%,其他默认下一步
如果勾选 "Enable Automatic Memory Management" 表示你希望数据库实例自动管理共享内存的分配,而不需要手动配置SGA和PGA的具体大小,即AUTO模式。
⑨、目录保持默认下一步
⑩、企业管理云控制默认不勾选,下一步
⑪、Enable Recovery按需求勾选,我这里不勾选
Enable Recovery是否启用数据库的恢复(Recovery)功能。恢复是指在数据库发生故障或崩溃后,通过使用备份或归档日志等手段将数据库恢复到一致且可用的状态。
⑫、选择Use the same password for all accounts适用相同密码,输密码后下一步
密码太简单会弹出提示,yes继续
⑬、一些组权限设置
根据情况自行选择,我这里是这么配置的
⑭、勾选自动化执行Root Script,输入系统root密码
当然你也可以选择不勾选,在安装过程中,手动复制弹出的sh脚本在终端中执行
⑮、先决条件检查
如果检查出问题会给出提示,比如swap空间警告,缺少某些包组警告等。
⑯、点击Install安装
⑰、安装中
这个弹窗大致的意思是脚本需要root权限执行,二次确认提示下,所以点击yes
等待完成
⑱、安装完成,Close关闭即可
至此oracle19c图形化安装完成
14、查看监听
输入lsnrctl status命令,可以查看监听情况,1521和5500端口已启动。
附:lsnrctl stop停止监听,lsnrctl stop启动监听
15、OEM访问
访问OEM管理控制台,https://IP:5500/em/
默认账号为sys,密码就是你安装过程中第十二个步骤中输入的。
**注意:**OEM管理控制台的地址是https开头,默认端口5500,URI是/em,如果访问不了,请查看5500端口是否开启,firewalld防火墙规则是否放行。
如果忘记了sys密码,可以在数据库中使用orcle用户重置一下
sqlplus / as sysdba
|---|---------------------| | 1 | sqlplus / as sysdba |
SQL> alter user sys identified by NEWPASSWORD;
|---|-------------------------------------------------| | 1 | SQL> alter user sys identified by NEWPASSWORD; |