一、准备安装
1.1、检查安装环境
[root@bogon /]# grep MemTotal /proc/meminfo
MemTotal: 7990132 kB
[root@bogon /]# grep SwapTotal /proc/meminfo
SwapTotal: 8257532 kB
[root@bogon /]# df -h /tmp
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 88G 14G 75G 16% /
[root@bogon /]# df -h /dev/shm
文件系统 容量 已用 可用 已用% 挂载点
tmpfs 3.9G 26M 3.8G 1% /dev/shm
[root@bogon /]# free -g
total used free shared buff/cache available
Mem: 7 1 2 0 3 5
Swap: 7 0 7
[root@bogon /]# uname -m
x86_64
[root@bogon /]#
1.2、安装系统依赖包
[root@bogon /]# yum install -y compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio-devel libstdc++-devel elfutils-libelf-devel fontconfig-devel libXrender-devel
[root@bogon /]# yum install bc gcc gcc-c++ binutils compat-libcap1 compat-libstdc++ dtrace-modules dtrace-modules-headers dtrace-modules-provider-headers dtrace-utils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libdtrace-ctf-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make smartmontools sysstat
如果安装依赖包出现:
未找到匹配的参数:依赖包名1
未找到匹配的参数:依赖包名1
错误:没有任何匹配:依赖包名1 依赖包名2
的情况,可更换阿里云镜像源:
wget -SO /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
sed -i.$(date +%F) 's#/$releasever#/8#g;s#/$basearch#/x86_64#g' /etc/yum.repos.d/CentOS-Base.repo
yum repolist
更换镜像源参考博客:https://blog.csdn.net/shanxun1012/article/details/131867802(更换前确定自己的cent_os版本,以对应该版本的安装方法。查看centos版本命令:
cat /etc/redhat-release)
也可下载依赖包进行手动安装:rpm –ivh 依赖包全名
已安装:
compat-libcap1.x86_64 0:1.10-7.el7 compat-libstdc++-33.x86_64 0:3.2.3-72.el7 elfutils-libelf-devel.x86_64 0:0.176-5.el7 fontconfig-devel.x86_64 0:2.13.0-4.3.el7 gcc-c++.x86_64 0:4.8.5-44.el7
ksh.x86_64 0:20120801-143.el7_9 libXrender-devel.x86_64 0:0.9.10-1.el7 libaio-devel.x86_64 0:0.3.109-13.el7 libstdc++-devel.x86_64 0:4.8.5-44.el7
作为依赖被安装:
cpp.x86_64 0:4.8.5-44.el7 expat-devel.x86_64 0:2.1.0-14.el7_9 freetype-devel.x86_64 0:2.8-14.el7_9.1 gcc.x86_64 0:4.8.5-44.el7 glibc-devel.x86_64 0:2.17-326.el7_9
glibc-headers.x86_64 0:2.17-326.el7_9 kernel-headers.x86_64 0:3.10.0-1160.71.1.el7 libpng-devel.x86_64 2:1.5.13-8.el7 libuuid-devel.x86_64 0:2.23.2-65.el7_9.1 zlib-devel.x86_64 0:1.2.7-20.el7_9
作为依赖被升级:
elfutils.x86_64 0:0.176-5.el7 elfutils-libelf.x86_64 0:0.176-5.el7 elfutils-libs.x86_64 0:0.176-5.el7 expat.x86_64 0:2.1.0-14.el7_9 freetype.x86_64 0:2.8-14.el7_9.1
glibc.x86_64 0:2.17-326.el7_9 glibc-common.x86_64 0:2.17-326.el7_9 libblkid.x86_64 0:2.23.2-65.el7_9.1 libgcc.x86_64 0:4.8.5-44.el7 libgomp.x86_64 0:4.8.5-44.el7
libmount.x86_64 0:2.23.2-65.el7_9.1 libpng.x86_64 2:1.5.13-8.el7 libsmartcols.x86_64 0:2.23.2-65.el7_9.1 libstdc++.x86_64 0:4.8.5-44.el7 libuuid.x86_64 0:2.23.2-65.el7_9.1
util-linux.x86_64 0:2.23.2-65.el7_9.1 zlib.x86_64 0:1.2.7-20.el7_9
完毕!
1.3、创建oracle用户组
[root@bogon /]# groupadd oinstall
[root@bogon /]# groupadd dba
[root@bogon /]# groupadd asmdba
[root@bogon /]# groupadd backupdba
[root@bogon /]# groupadd dgdba
[root@bogon /]# groupadd kmdba
[root@bogon /]# groupadd racdba
[root@bogon /]# groupadd oper
[root@bogon /]# useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle
[root@bogon /]# export CV_ASSUME_DISTID=RHEL7.6
1.4、配置系统内核参数
[root@bogon /]# vim /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
输入sysctl -p使配置生效
[root@bogon /]# /sbin/sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@bogon /]#
1.5、关闭selinux和防火墙
[root@bogon /]# setenforce 0
[root@bogon /]# systemctl stop firewalld
1.6配置用户环境
1、oracle用户环境变量
[root@bogon /]# su - oracle
[oracle@bogon ~]$ vim .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_BASE=/opt/u01/app/oracle
export ORACLE_HOME=/opt/u01/app/oracle/product/19c
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin
export ORACLE_HOSTNAME=orcl
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/network/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
2、使用root用户创建oracle目录
[root@bogon /]# mkdir u01
[root@bogon /]# chmod 777 u01
3、修改用户的Shell限制
[root@bogon /]# vim /etc/security/limits.conf
在结尾添加如下内容
oracle soft core unlimited
oracle hard core unlimited
oracle soft nofile 10240
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
1、创建目录及解压安装包
oracle19c安装包地址:
链接:https://pan.baidu.com/s/1p-SGH5z-clr4rS-kW-B_7g
提取码:zewf
(百度网盘下载过慢可从其他服务器复制:
例如:
scp yauser@10.6.135.42: /opt/u01/app/oracle/product/19c/LINUX.X64_193000_db_home.zip /opt/u01/app/oracle/product/19c/LINUX.X64_193000_db_home.zip
)
[root@bogon /]# mkdir -p /opt/u01/app/oracle/product/19c
[root@bogon /]# cd /opt/u01/app/
[root@bogon app]# chown -R oracle:oinstall oracle/
cd /opt/u01/app/oracle/product/19c
[oracle@bogon 19c]$ unzip LINUX.X64_193000_db_home.zip
[root@bogon app]# mkdir /opt/u01/app/oraInventory
[root@bogon app]# chown -R oracle:oinstall oraInventory/
2、开始静默安装
先创建必要目录
#备份
[oracle@bogon 19.5.0]$ cd /opt/u01/app/oracle/product/19c/install/response
[oracle@bogon response]$ cp db_install.rsp db_install.rsp.bak
#编辑db_install.rsp
[oracle@bogon response]$ vim db_install.rsp
#主要是修改以下参数
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/u01/app/oraInventory
ORACLE_HOME=/opt/u01/app/oracle/product/19c
ORACLE_BASE=/opt/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false
3、执行安装
安装前把root用户uid从0改成别的(数据库安装完毕后需改回来):
vim /etc/passwd
按insert键进行修改,把root用户uid从0改成别的,修改完成后按esc键退出编辑模式,然后shift键加:键输入wq保存并退出
[oracle@bogon 19.5.0]$ ./runInstaller -silent -responseFile /opt/u01/app/oracle/product/19c/install/response/db_install.rsp
正在启动 Oracle 数据库安装向导...
可以在以下位置找到此会话的响应文件:
//opt/u01/app/oracle/product/19c/install/response/db_2023-06-07_10-59-36AM.rsp
可以在以下位置找到本次安装会话的日志:
/tmp/InstallActions2023-06-07_10-59-36AM/installActions2023-06-07_10-59-36AM.log
以 root 用户的身份执行以下脚本:
1. /opt/u01/app/oraInventory/orainstRoot.sh
2. /opt/u01/app/oracle/product/19c/root.sh
在以下节点上执行/opt/u01/app/oraInventory/orainstRoot.sh:
[bogon]
在以下节点上执行/opt/u01/app/oracle/product/19c/root.sh:
[bogon]
Successfully Setup Software.
已将安装会话日志移动到:
/opt/u01/app/oraInventory/logs/InstallActions2023-06-07_10-59-36AM
[oracle@bogon 19.5.0]$
4、根据提示使用root用户执行两个脚本
[root@node7 app]# /opt/u01/app/oraInventory/orainstRoot.sh
Changing permissions of /opt/u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /opt/u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@node7 app]# /opt/u01/app/oracle/product/19c/root.sh
Check /opt/u01/app/oracle/product/19c/install/root_node7_2023-06-07_11-03-32-419613256.log for the output of root script
三、创建数据库实例
相应模板存放位置
软件/opt/u01/app/oracle/product/19c/install/response/db_install.rsp
监听/opt/u01/app/oracle/product/19c/assistants/netca/netca.rsp
建库/opt/u01/app/oracle/product/19c/assistants/dbca/dbca.rsp
1、配置监听
[oracle@bogon admin]$ cd /opt/u01/app/oracle/product/19c/network/admin
[oracle@bogon admin]$ vim listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.201.192)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
[oracle@node7 admin]$ netca /silent /responseFile /opt/u01/app/oracle/product/19c/assistants/netca/netca.rsp
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /opt/u01/app/oracle/product/19c/assistants/netca/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Listener "LISTENER" already exists.
Oracle Net Services configuration successful. The exit code is 0
[oracle@bogon admin]$ lsnrctl start
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 01-JUL-2022 17:12:42
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting /opt/u01/app/oracle/product/19c/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /opt/u01/app/oracle/product/19c/network/admin/listener.ora
Log messages written to /opt/u01/app/oracle/diag/tnslsnr/bogon/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.25.133)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.25.133)(PORT=1521)))
STATUS of the LISTENER
2、创建数据库
[oracle@bogon admin]$ cd /opt/u01/app/oracle/product/19c/assistants/dbca
[oracle@bogon dbca]$ cp dbca.rsp dbca.rsp.bak
[oracle@bogon dbca]$ vim dbca.rsp
#主要修改以下参数
gdbName=orcl
sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=password
systemPassword=password
emConfiguration=DBEXPRESS
dbsnmpPassword=password
datafileDestination=/opt/u01/app/oracle/oradata
characterSet=ZHS16GBK
totalMemory=10240
执行安装
[oracle@node7 dbca]$ dbca -silent -createDatabase -responseFile /opt/u01/app/oracle/product/19c/assistants/dbca/dbca.rsp
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
Prepare for db operation
10% complete
Copying database files
40% complete
Creating and starting Oracle instance
42% complete
46% complete
50% complete
54% complete
60% complete
Completing Database Creation
66% complete
70% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/opt/u01/app/oracle/cfgtoollogs/dbca/orcl.
Database Information:
Global Database Name:orcl
System Identifier(SID):orcl
Look at the log file "/opt/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details
3、检查
[oracle@node7 dbca]$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jun 7 11:45:22 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
SQL> conn sys/oracle as sysdba
Connected.
SQL> startup force
ORACLE instance started.
Total System Global Area 1577054672 bytes
Fixed Size 8896976 bytes
Variable Size 402653184 bytes
Database Buffers 1157627904 bytes
Redo Buffers 7876608 bytes
Database mounted.
Database opened.
SQL>