前言
上一篇文章中使用图形化方式安装Oracle 21c,这一篇文章中使用静默方式安装Oracle 19c
官方文档
https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/index.html
主机规划
查看操作系统
[root@forest ~]# cat /etc/os-release NAME="Oracle Linux Server" VERSION="7.9" ID="ol" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="7.9" PRETTY_NAME="Oracle Linux Server 7.9" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:oracle:linux:7:9:server" HOME_URL="https://linux.oracle.com/" BUG_REPORT_URL="https://bugzilla.oracle.com/" ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7" ORACLE_BUGZILLA_PRODUCT_VERSION=7.9 ORACLE_SUPPORT_PRODUCT="Oracle Linux" ORACLE_SUPPORT_PRODUCT_VERSION=7.9
查看磁盘分区
[root@forest ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.5G 0 rom vda 251:0 0 500G 0 disk ├─vda2 251:2 0 499.8G 0 part │ ├─ol_forest-swap 252:1 0 16G 0 lvm [SWAP] │ ├─ol_forest-tmp 252:2 0 8G 0 lvm /tmp │ ├─ol_forest-root 252:0 0 100G 0 lvm / │ └─ol_forest-u01 252:3 0 375.8G 0 lvm /u01 └─vda1 251:1 0 200M 0 part /boot [root@forest ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 32G 0 32G 0% /dev tmpfs tmpfs 32G 41M 32G 1% /dev/shm tmpfs tmpfs 32G 8.7M 32G 1% /run tmpfs tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/mapper/ol_forest-root xfs 100G 30G 70G 31% / /dev/mapper/ol_forest-u01 xfs 376G 44G 333G 12% /u01 /dev/mapper/ol_forest-tmp xfs 8.0G 1.1G 7.0G 13% /tmp /dev/vda1 xfs 197M 167M 31M 85% /boot tmpfs tmpfs 6.3G 0 6.3G 0% /run/user/0
关闭防火墙并禁止开机自启动
[root@forest ~]# systemctl stop firewalld [root@forest ~]# systemctl disable firewalld
禁用selinux
临时生效 [root@forest ~]# setenforce 0 修改配置文件重启后生效 [root@forest ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
修改hosts配置文件
[root@forest ~]# vim /etc/hosts 192.168.255.219 forest forest.oracle.com 测试 [root@forest ~]# ping forest -c 2 [root@forest ~]# ping forest.oracle.com -c 2
创建用户和组
1、创建组 [root@forest ~]# /usr/sbin/groupadd -g 54321 oinstall [root@forest ~]# /usr/sbin/groupadd -g 54322 dba [root@forest ~]# /usr/sbin/groupadd -g 54323 oper [root@forest ~]# /usr/sbin/groupadd -g 54324 backupdba [root@forest ~]# /usr/sbin/groupadd -g 54325 dgdba [root@forest ~]# /usr/sbin/groupadd -g 54326 kmdba [root@forest ~]# /usr/sbin/groupadd -g 54330 racdba 2、创建oracle用户,主组oinstall,附加组dba,oper,backupdba,dgdba,kmdba,racdba [root@forest ~]# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle 3、设置oracle密码 [root@forest ~]# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle [root@forest ~]# echo "oracle" | passwd --stdin oracle Changing password for user oracle. passwd: all authentication tokens updated successfully. [root@forest ~]# id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
安装yum依赖包
参考官方文档,安装yum依赖包 [root@forest ~]# yum install bc binutils compat-openssl10 elfutils-libelf glibc glibc-devel ksh libaio libXrender libX11 libXau libXi libXtst libgcc libnsl libstdc++ libxcb libibverbs make policycoreutils policycoreutils-python-utils smartmontools sysstat
创建目录并修改权限
[root@forest ~]# mkdir -p /u01/app/oracle [root@forest ~]# mkdir -p /u01/app/oraInventory [root@forest ~]# chown -R oracle:oinstall /u01/app/oracle [root@forest ~]# chown -R oracle:oinstall /u01/app/oraInventory [root@forest ~]# chmod -R 775 /u01/app
调整系统内核参数
#kernel.shmmax 表示单个共享内存段的最大字节 #kernel.shmall 表示可以在系统范围内使用的共享内存总量(页为单位) #kernel.shmmni 用于设置系统范围内共享内存段的最大数量 #kernel.shmmax=kernel.shmall*kernel.shmmni #fs.aio-max-nr 表示同时可以拥有的异步IO请求数量 #fs.file-max 表示系统级别能够打开的文件句柄的数量 #net.ipv4.ip_local_port_range 表示端口范围 #net.core.rmem_default 表示接收套接字缓冲区大小默认值 #net.core.rmem_max 表示接收套接字缓冲区大小最大值 #net.core.wmem_default 表示发送套接字缓冲区大小默认值 # net.core.wmem_max 表示发送套接字缓冲区大小最大值 [root@forest ~]# vi /etc/sysctl.d/99-sysctl.conf kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 使参数生效 [root@forest ~]# sysctl -p
调整系统资源参数
[root@forest ~]# vim /etc/security/limits.conf oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 134217728 oracle soft memlock 134217728 oracle soft data unlimited oracle hard data unlimited
调整用户访问资源参数
[root@forest ~]# vim /etc/pam.d/login session required pam_limits.so
设置透明大页
官方文档建议关闭透明大页,将该参数的值设为never [root@forest ~]# sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grub 使参数生效 [root@forest ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... done
关闭numa
[root@forest ~]# sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub 使参数生效 [root@forest ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... done
上传数据库软件并创建ORACLE_HOME目录
1、上传数据库软件 E:\BaiduNetdiskDownload>scp LINUX.X64_193000_db_home.zip root@192.168.255.219:~ [root@forest ~]# ll -h LINUX.X64_193000_db_home.zip -rw-r--r--. 1 root root 2.9G Oct 21 16:30 LINUX.X64_193000_db_home.zip 2、创建ORACLE_HOME目录 [root@forest ~]# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 3、需要解压到ORACLE_HOME目录执行runInstaller,否则会提示报错 [root@forest ~]# unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1 4、修改ORACLE_HOME目录的属组 [root@forest ~]# chown -R oracle:oinstall /u01/app/oracle [root@forest ~]# ll -hd /u01/app/oracle/product/19.3.0/dbhome_1/ drwxr-xr-x. 63 oracle oinstall 4.0K Oct 21 16:40 /u01/app/oracle/product/21.3.0/dbhome_1/
runInstaller静默安装数据库软件
1、查看runInstaller图形化安装生成的响应文件 [oracle@forest ~]$ egrep -v '^#|^$' runInstaller.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_BASE=/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 oracle.install.db.rootconfig.configMethod= oracle.install.db.rootconfig.sudoPath= oracle.install.db.rootconfig.sudoUserName= oracle.install.db.CLUSTER_NODES= oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName= oracle.install.db.config.starterdb.SID= oracle.install.db.ConfigureAsContainerDB=false oracle.install.db.config.PDBName= oracle.install.db.config.starterdb.characterSet= oracle.install.db.config.starterdb.memoryOption=false oracle.install.db.config.starterdb.memoryLimit= oracle.install.db.config.starterdb.installExampleSchemas=false oracle.install.db.config.starterdb.password.ALL= oracle.install.db.config.starterdb.password.SYS= oracle.install.db.config.starterdb.password.SYSTEM= oracle.install.db.config.starterdb.password.DBSNMP= oracle.install.db.config.starterdb.password.PDBADMIN= oracle.install.db.config.starterdb.managementOption=DEFAULT oracle.install.db.config.starterdb.omsHost= oracle.install.db.config.starterdb.omsPort=0 oracle.install.db.config.starterdb.emAdminUser= oracle.install.db.config.starterdb.emAdminPassword= oracle.install.db.config.starterdb.enableRecovery=false oracle.install.db.config.starterdb.storageType= oracle.install.db.config.starterdb.fileSystemStorage.dataLocation= oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation= oracle.install.db.config.asm.diskGroup= oracle.install.db.config.asm.ASMSNMPPassword= 2、查看runInstaller帮助命令 [oracle@forest ~]$ /u01/app/oracle/product/19.3.0/dbhome_1/runInstaller -help Usage: runInstaller [] [
dbca静默创建数据库
1、查看dbca图形化创建数据库生成的响应文件
[oracle@forest ~]$ more dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=forest.oracle.com
sid=FOREST
databaseConfigType=SI
RACOneNodeServiceName=
policyManaged=false
createServerPool=false
serverPoolName=
cardinality=
force=false
pqPoolName=
pqCardinality=
createAsContainerDatabase=true
numberOfPDBs=2
pdbName=FORESTPDB
useLocalUndoForPDBs=true
pdbAdminPassword=
nodelist=
templateName=/u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc
sysPassword=
systemPassword=
serviceUserPassword=
emConfiguration=
emExpressPort=5500
runCVUChecks=FALSE
dbsnmpPassword=
omsHost=
omsPort=0
emUser=
emPassword=
dvConfiguration=false
dvUserName=
dvUserPassword=
dvAccountManagerName=
dvAccountManagerPassword=
olsConfiguration=false
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
recoveryAreaDestination=
storageType=FS
diskGroupName=
asmsnmpPassword=
[oracle@forest ~]$ more dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=forest.oracle.com
sid=FOREST
databaseConfigType=SI
RACOneNodeServiceName=
policyManaged=false
createServerPool=false
serverPoolName=
cardinality=
force=false
pqPoolName=
pqCardinality=
createAsContainerDatabase=true
numberOfPDBs=2
pdbName=FORESTPDB
useLocalUndoForPDBs=true
pdbAdminPassword=
nodelist=
templateName=/u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc
sysPassword=
systemPassword=
serviceUserPassword=
emConfiguration=
emExpressPort=5500
runCVUChecks=FALSE
dbsnmpPassword=
omsHost=
omsPort=0
emUser=
emPassword=
dvConfiguration=false
dvUserName=
dvUserPassword=
dvAccountManagerName=
dvAccountManagerPassword=
olsConfiguration=false
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
recoveryAreaDestination=
storageType=FS
diskGroupName=
asmsnmpPassword=
recoveryGroupName=
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
registerWithDirService=false
dirServiceUserName=
dirServicePassword=
walletPassword=
listeners=
variablesFile=
variables=ORACLE_BASE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1,DB_UNIQUE_NAME=forest,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=forest.oracle.com,ORACL
E_HOME=/u01/app/oracle/product/19.3.0/dbhome_1,SID=FOREST
initParams=undo_tablespace=UNDOTBS1,sga_target=33239MB,db_block_size=8192BYTES,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=FORESTXDB),diagnostic_dest={ORAC
LE_BASE},control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control02.ctl"),remote_login_passwordfile=EXCLUSI
VE,audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,processes=1280,pga_aggregate_target=11413MB,nls_territory=AMERICA,local_listener=LISTENER_FOREST,open_curso
rs=300,compatible=19.0.0,db_name=forest,audit_trail=db
sampleSchema=false
memoryPercentage=40
databaseType=MULTIPURPOSE
automaticMemoryManagement=false
totalMemory=0
2、查看dbca帮助命令
[oracle@forest ~]$ dbca -help
Usage: dbca [] [
登录数据库
[oracle@forest ~]$ . oraenv ORACLE_SID = [oracle] ? FOREST The Oracle base has been set to /u01/app/oracle [oracle@forest ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Mon Oct 21 17:34:24 2024 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 FORESTPDB1 READ WRITE NO 4 FORESTPDB2 READ WRITE NO SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string forest db_unique_name string forest global_names boolean FALSE instance_name string FOREST lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string forest.oracle.com