descripción general
Oracle 19c es un sistema de gestión de bases de datos relacionales y CentOS 7 es un popular sistema operativo Linux. En algunos casos, es necesario instalar Oracle 19c en CentOS 7, y la instalación silenciosa de la línea de comandos es un método de instalación sin interacción humana, lo que puede acelerar la instalación y reducir la posibilidad de errores. Este método de instalación requiere el uso de parámetros de línea de comandos y archivos de configuración específicos para especificar las opciones de instalación y la información de configuración. Este método de instalación es adecuado para la situación en la que se debe instalar Oracle 19c en varios servidores, y la instalación por lotes se puede realizar a través de scripts automatizados. En resumen, el uso del método de instalación silenciosa de la línea de comandos puede mejorar la eficiencia y la precisión de la instalación de Oracle 19c en CentOS 7, y es un método de instalación que vale la pena.
1. Medio ambiente
1.1 Configurar fuente YUM local
mount -t auto /dev/cdrom /mnt
rm -rf /etc/yum.repos.d/
mkdir -p /etc/yum.repos.d/
cat >> /etc/yum.repos.d/CentOS-Media.repo<<EOF
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
yum clean all
yum makecache
1.2 Instalar paquetes dependientes
yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel libXext* unzip
1.3 Crear grupo de usuarios
groupadd -g 1001 oinstall
groupadd -g 1002 dba
groupadd -g 1003 oper
groupadd -g 1004 asmdba
groupadd -g 1005 backupdba
groupadd -g 1006 dgdba
groupadd -g 1007 kmdba
groupadd -g 1008 racdba
useradd -u 1001 -m -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba,racdba oracle
id oracle
a=1
echo oracle:$a|chpasswd
1.4 Crear directorio de instalación de software y directorio de base de datos
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
mkdir -p /oracle/oinstall
chown -R oracle:oinstall /oracle
1.5 Preparar otras condiciones
hostnamectl set-hostname oracle19c
cat >> /etc/hosts <<EOF
17.21.68.132 oracle19c
EOF
cat >> /etc/sysctl.conf <<EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 6597069766656
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.eth3.rp_filter = 2
#net.ipv4.conf.eth2.rp_filter = 2
#net.ipv4.conf.eth0.rp_filter = 1
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 65536
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
cat >>/home/oracle/.bash_profile<<EOF
unset USERNAME
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/18.0/db
export ORACLE_SID=orcl
export PATH=\$PATH:\$HOME/bin:\$ORACLE_HOME/bin:\$ORA_CRS_HOME/bin:\$ORACLE_BASE/common/oracle/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export ORACLE_PATH=\$ORACLE_BASE/common/oracle/sql:\$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export ORA_NLS10=\$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib
export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=\$ORACLE_HOME/JRE
export CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/jlib
export CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/rdbms/jlib
export CLASSPATH=\${CLASSPATH}:\$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask=022
EOF
su - oracle
mkdir -p $ORACLE_HOME
exit
1.7, cierra el firewall y selinux
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
setenforce 0
getenforce
1.8 Descomprimir el archivo de la base de datos
cd /oracle/
unzip LINUX.X64_190000_db_home.zip
/u01/app/oracle/product/19.0/db
2. Instalar la base de datos
2.1 Instalar software de base de datos
cat >/tmp/db_install.rsp <<EOF
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v18.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0/db
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
EOF
[oracle@oracle19c db]$ ./runInstaller -silent -ignorePrereq -responseFile /tmp/db_install.rsp
Iniciando el asistente de configuración de la base de datos de Oracle...
[ADVERTENCIA] [INS-13014] El entorno de destino no cumple con algunos requisitos opcionales.
CAUSA: No se cumplen algunos de los requisitos previos opcionales. Consulte los registros para obtener más detalles. installActions2022-04-04_03-47-48AM.log
ACCIÓN: Identifique la lista de comprobaciones de requisitos previos fallidas del registro: installActions2022-04-04_03-47-48AM.log. Luego, ya sea desde el archivo de registro o desde el manual de instalación, encuentre la configuración adecuada para cumplir con los requisitos previos y arréglela manualmente.
El archivo de respuesta para esta sesión se puede encontrar en:
/u01/app/oracle/product/18.0/db/install/response/db_2022-04-04_03-47-48AM.rsp
Puede encontrar el registro de esta sesión de instalación en:
/tmp/InstallActions2022-04-04_03-47-48AM/installActions2022-04-04_03-47-48AM.log
Como usuario raíz, ejecute los siguientes scripts:
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/18.0/db/root.sh
Ejecute /u01/app/oraInventory/orainstRoot.sh en los siguientes nodos:
[oráculo19c]
Ejecute /u01/app/oracle/product/18.0/db/root.sh en los siguientes nodos:
[oráculo19c]
Software de instalación exitoso con advertencias.
Se movieron los registros de la sesión de instalación a:
/u01/app/oraInventory/logs/InstallActions2022-04-04_03-47-48AM
[root@oracle19c ~]# sh /u01/app/oraInventory/orainstRoot.sh
Cambio de permisos de /u01/app/oraInventory.
Agregar permisos de lectura y escritura para el grupo.
Eliminando los permisos de lectura, escritura y ejecución para el mundo.
Cambiando el nombre de grupo de /u01/app/oraInventory a oinstall.
La ejecución del script está completa.
[raíz@oracle19c ~]# sh /u01/app/oracle/product/18.0/db/root.sh
Compruebe /u01/app/oracle/product/18.0/db/install/root_oracle19c_2022-04-04_03-49-19-555893641.log para ver la salida del script raíz
3. Cree y supervise en silencio
netca -silent -responsefile /u01/app/oracle/product/18.0/db/assistants/netca/netca.rsp
[oracle@oracle19c db]$ netca -silent -responsefile /u01/app/oracle/product/18.0/db/assistants/netca/netca.rsp
Análisis de argumentos de la línea de comando:
Parámetro "silencioso" = verdadero
Parámetro "archivo de respuesta" = /u01/app/oracle/product/18.0/db/assistants/netca/netca.rsp
Terminé de analizar los argumentos de la línea de comando.
Configuración de servicios de red de Oracle:
Configuración del perfil completa.
Inicio de Oracle Net Listener:
Control de escucha en ejecución:
/u01/app/oracle/product/18.0/db/bin/lsnrctl iniciar OYENTE
Control de escucha completo.
El oyente se inició con éxito.
Configuración de escucha completa.
La configuración de Oracle Net Services fue exitosa. El código de salida es 0
4. Crear una base de datos tipo pdb
4.1 Preparar archivo de respuesta pdb
mkdir /oradata
chown oracle:oinstall /oradata
touch /oracle/dbca_install.rsp
cat >/oracle/dbca_install.rsp<<EOF
responseFileVersion=/oracle/install/rspfmt_dbca_response_schema_v19.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=orclpdb
templateName=/u01/app/oracle/product/19.0/db/assistants/dbca/templates/General_Purpose.dbc
emExpressPort=5500
omsPort=0
characterSet=AL32UTF8
listeners=LISTENER
memoryPercentage=40
automaticMemoryManagement=false
totalMemory=0
datafileDestination =/oradata
EOF
cat /oracle/dbca_install.rsp
4.2, dbca construir base de datos-pdb
dbca -silent -createDatabase -responseFile /oracle/dbca_install.rsp
[plantillas oracle@oracle19c]$ dbca -silent -createDatabase -responseFile /oracle/dbca_install.rsp
Ingrese la contraseña de usuario de SYS:
Introduzca la contraseña de usuario del SISTEMA:
Ingrese la contraseña de usuario de PDBADMIN:
Prepárese para la operación db
8% completo
Copiar archivos de base de datos
31% completo
Crear e iniciar una instancia de Oracle
32% completo
36% completo
40% completo
43% completo
46% completo
Completar la creación de la base de datos
51% completo
53% completo
54% completo
Creación de bases de datos conectables
58% completo
77% completo
Ejecución de acciones posteriores a la configuración
100% completo
Se completó la creación de la base de datos. Para obtener más información, consulte los archivos de registro en:
/u01/app/oracle/cfgtoollogs/dbca/orcl.
Información de la base de datos:
Nombre de base de datos global: orcl
Identificador del sistema (SID): orcl
Consulte el archivo de registro "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" para obtener más detalles.
[plantillas oracle@oracle19c]$ sqlplus / as sysdba
SQL*Plus: Versión 19.0.0.0.0 - Producción el sábado 4 de abril a las 04:05:11 de 2022
Versión 19.3.0.0.0
Copyright (c) 1982, 2018, Oracle. Reservados todos los derechos.
Conectado a:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Producción
Versión 19.3.0.0.0
SQL> mostrar pdb
CON_ID CON_NAME MODO ABIERTO RESTRINGIDO
---------- ------------------------------ ---------- ----------
2 PDB$SEED SOLO LECTURA NO
3 ORCLPDB LEER ESCRIBIR NO
5. Edificio de biblioteca ordinario - excluyendo pdb
5.1 Preparar archivo de respuesta
cat >/oracle/dbca_nopdb.rsp<<EOF
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=oab
sid=oab
templateName=/u01/app/oracle/product/18.0/db/assistants/dbca/templates/General_Purpose.dbc
sysPassword=Oracle123
oracleHomeUserPassword=Oracle123
emExpressPort=5500
totalMemory=1500
sysPassword = Oracle123
systemPassword = Oracle123
datafileDestination =/oradata
characterSet =ZHS16GBK
nationalCharacterSet=AL16UTF16
databaseType = OLTP
automaticMemoryManagement = TRUE
EOF
5.2, biblioteca común de compilación dbca
dbca -silent -createDatabase -responseFile /oracle/dbca_nopdb.rsp
[plantillas oracle@oracle19c]$ dbca -silent -createDatabase -responseFile /oracle/dbca_nopdb.rsp
Ingrese la contraseña de usuario de SYS:
Introduzca la contraseña de usuario del SISTEMA:
Prepárese para la operación db
10% completo
Copiar archivos de base de datos
40% completo
Crear e iniciar una instancia de Oracle
42% completo
46% completo
50% completo
54% completo
60% completo
Completar la creación de la base de datos
66% completo
69% completo
70% completo
Ejecución de acciones posteriores a la configuración
100% completo
Se completó la creación de la base de datos. Para obtener más información, consulte los archivos de registro en:
/u01/app/oracle/cfgtoollogs/dbca/oab.
Información de la base de datos:
Nombre de base de datos global:oab
Identificador del sistema (SID):oab
Consulte el archivo de registro "/u01/app/oracle/cfgtoollogs/dbca/oab/oab.log" para obtener más detalles.
[plantillas oracle@oracle19c]$ sqlplus / as sysdba
SQL*Plus: Versión 19.0.0.0.0 - Producción el sábado 4 de abril a las 04:13:51 de 2022
Versión 19.3.0.0.0
Copyright (c) 1982, 2018, Oracle. Reservados todos los derechos.
Conectado a:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Producción
Versión 19.3.0.0.0
SQL> mostrar pdb
SQL>