静默安装Oracle Database 18c

系统环境:Oracle Linux 7(OL7)
一、首先设置主机名和ip,修改/etc/hosts (很简单,不赘述)
二、Oracle安装先决条件
执行自动设置或手动设置以完成基本先决条件。
1、自动设置
如果您计划使用“oracle-database-preinstall-18c”软件包来执行所有先决条件设置,请发出以下命令。
#yum install -y oracle-database-preinstall-18c
它进行全面更新,但严格来说这并不是必需的。
#yum update -y

2、手动设置
如果尚未使用“oracle-database-preinstall-18c”软件包来执行所有先决条件,则需要手动执行以下设置任务。

将以下行添加到“/etc/sysctl.conf”文件或名为“/etc/sysctl.d/98-oracle.conf”的文件中。

fs.file-max = 6815744
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
net.ipv4.ip_local_port_range = 9000 65500
运行以下命令以更改当前内核参数。

/ sbin / sysctl -p
将以下行添加到名为“/etc/security/limits.d/oracle-database-preinstall-18c.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
有人建议可能需要将以前的行添加到CentOS7的“/etc/security/limits.conf”文件中。这绝对不是OL7所必需的,但值得考虑的是安装程序是否为这些设置提供了先决条件故障。

根据需要列出以下软件包,包括某些软件包的32位版本。许多软件包应该已经安装好了。

#OL7(RHEL7)
yum install -y bc
yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc ++ - 33
yum install -y compat-libstdc ++ - 33.i686
yum install -y elfutils-libelf.i686
yum install -y elfutils-libelf
yum install -y elfutils-libelf-devel.i686
yum install -y elfutils-libelf-devel
yum install -y fontconfig-devel
yum install -y glibc.i686
yum install -y glibc
yum install -y glibc-devel.i686
yum install -y glibc-devel
yum install -y ksh
yum install -y libaio.i686
yum install -y libaio
yum install -y libaio-devel.i686
yum install -y libaio-devel
yum install -y libX11.i686
yum install -y libX11
yum install -y libXau.i686
yum install -y libXau
yum install -y libXi.i686
yum install -y libXi
yum install -y libXtst.i686
yum install -y libXtst
yum install -y libgcc.i686
yum install -y libgcc
yum install -y librdmacm-devel
yum install -y libstdc ++。i686
yum install -y libstdc ++
yum install -y libstdc ++ - devel.i686
yum install -y libstdc ++ - devel
yum install -y libxcb.i686
yum install -y libxcb
yum install -y make
yum install -y nfs-utils
yum install -y net-tools
yum install -y python
yum install -y python-configshell
yum install -y python-rtslib
yum install -y python-six
yum install -y smartmontools
yum install -y sysstat
yum install -y targetcli
yum install -y unixODBC
创建新组和用户。

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,oper oracle
取消注释所需的额外组。

注意其他设置 :
无论您是手动还是自动设置,都必须执行以下步骤。

设置“oracle”用户的密码。

passwd oracle
通过编辑“/ etc / selinux / config”文件将安全Linux设置为允许,确保SELINUX标志设置如下。

SELINUX =许可
更改完成后,重新启动服务器或运行以下命令。

#setenforce Permissive
如果启用了Linux防火墙,则需要禁用或配置它,如此处或此处所示。要禁用它,请执行以下操作。

#systemctl stop firewalld
#systemctl disable firewalld
如果您不使用Oracle Linux和UEK,则需要手动禁用透明的大页面。

创建将安装Oracle软件的目录。

mkdir -p /u01/app/oracle/product/18.0.0/dbhome_1
mkdir -p / u02 / oradata
chown -R oracle:oinstall / u01 / u02
chmod -R 775 / u01 / u02

注意:将挂载点直接放在root下通常是个坏主意。对于真正的安装,应该为操作系统保留“/”。

除非您使用控制台或使用SSH隧道,否则以root用户身份登录并发出以下命令。

xhost + <machine-name>

下面创建“脚本”目录。

mkdir / home / oracle / scripts
创建一个名为“setEnv.sh”的环境文件。

cat> /home/oracle/scripts/setEnv.sh << EOF
#Oracle设置
export TMP = / tmp
export TMPDIR = \ $ TMP

export ORACLE_HOSTNAME = ol7-183.localdomain
export ORACLE_UNQNAME = cdb1
export ORACLE_BASE = / u01 / app / oracle
export ORACLE_HOME = \ $ ORACLE_BASE / product / 18.0.0 / dbhome_1
export ORA_INVENTORY = / u01 / app / oraInventory
export ORACLE_SID = cdb1
导出PDB_NAME = pdb1
export DATA_DIR = / u02 / oradata

export PATH = / usr / sbin:/ usr / local / bin:\ $ PATH
export PATH = \ $ ORACLE_HOME / bin:\ $ PATH

export LD_LIBRARY_PATH = \ $ ORACLE_HOME / lib:/ lib:/ usr / lib
export CLASSPATH = \ $ ORACLE_HOME / jlib:\ $ ORACLE_HOME / rdbms / jlib
EOF
在“/home/oracle/.bash_profile”文件的末尾添加对“setEnv.sh”文件的引用。

echo“./ home /oracle/scripts/setEnv.sh”>> /home/oracle/.bash_profile
创建一个可以从启动/关闭服务调用的“start_all.sh”和“stop_all.sh”脚本。确保所有权和权限正确无误。

cat> /home/oracle/scripts/start_all.sh << EOF
#!/bin/bash
/home/oracle/scripts/setEnv.sh

export ORAENV_ASK = NO
oraenv的
export ORAENV_ASK = YES

dbstart \ $ ORACLE_HOME
EOF

cat> /home/oracle/scripts/stop_all.sh << EOF
#!/bin/bash
。/home/oracle/scripts/setEnv.sh

export ORAENV_ASK = NO
。oraenv的
export ORAENV_ASK = YES

dbshut \ $ ORACLE_HOME
EOF

chown -R oracle:oinstall / home / oracle / scripts
chmod u + x /home/oracle/scripts/*.sh
一旦安装完成并且您编辑了“/ etc / oratab”,您就可以使用从“oracle”用户运行的以下脚本来启动/停止数据库。

〜/脚本/ start_all.sh
〜/脚本/ stop_all.sh
您可以在此处查看如何创建Linux服务以自动启动/停止数据库(OL7)。

二、安装
登录oracle用户。如果您使用X仿真,则设置DISPLAY环境变量。

DISPLAY = <机器名>:0.0; 导出显示
切换到该ORACLE_HOME目录,将软件直接解压缩到此路径中,然后通过在ORACLE_HOME目录中发出以下命令之一来启动Oracle Universal Installer(OUI)。交互模式将显示GUI安装程序屏幕以允许用户输入,而静默模式将安装软件而不显示任何屏幕,因为已在命令行上指定了所有必需选项。

#解压缩软件。
cd $ ORACLE_HOME
unzip -oq /path/to/software/LINUX.X64_180000_db_home.zip

#互动模式(界面交互)。
./runInstaller

# 静音模式。
./runInstaller-ignorePrereq -waitforcompletion -silent \
-responseFile $ {ORACLE_HOME} /install/response/db_install.rsp \
oracle.install.option = INSTALL_DB_SWONLY \
ORACLE_HOSTNAME = $ {ORACLE_HOSTNAME} \
UNIX_GROUP_NAME = oinstall \
INVENTORY_LOCATION = $ {ORA_INVENTORY} \
SELECTED_LANGUAGES = en,en_GB \
ORACLE_HOME = $ {ORACLE_HOME} \
ORACLE_BASE = $ {ORACLE_BASE} \
oracle.install.db.InstallEdition = EE \
oracle.install.db.OSDBA_GROUP = dba \
oracle.install.db.OSBACKUPDBA_GROUP = dba \
oracle.install.db.OSDGDBA_GROUP = dba \
oracle.install.db.OSKMDBA_GROUP = dba \
oracle.install.db.OSRACDBA_GROUP = dba \
SECURITY_UPDATES_VIA_MYORACLESUPPORT = false \
DECLINE_SECURITY_UPDATES =真
出现提示时运行根脚本。

以root用户身份执行以下脚本:

  1. /u01/app/oraInventory/orainstRoot.sh
  2. /u01/app/oracle/product/18.0.0/dbhome_1/root.sh
    你可以阅读更多关于静默安装在这里。

三、创建数据库

数据库创建
您可以使用Database Configuration Assistant(DBCA)创建数据库。交互模式将显示允许用户输入的GUI屏幕,而静默模式将创建数据库而不显示任何屏幕,因为已在命令行上指定了所有必需的选项。

#启动监听器。
lsnrctl start

#互动模式(界面交互)。
DBCA

# 静音模式。
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname $ {ORACLE_SID} -sid $ {ORACLE_SID} -responseFile NO_VALUE \
-characterSet AL32UTF8 \
-sysPassword SysPassword1 \
-systemPassword SysPassword1 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName $ {PDB_NAME} \
-pdbAdminPassword PdbPassword1 \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-totalMemory 2000 \
-storageType FS \
-datafileDestination“$ {DATA_DIR}”\
-redoLogFileSize 50 \
-emConfiguration NONE \
-ignorePreReqs

四、安装后设置
编辑“/ etc / oratab”文件,将每个实例的重启标志设置为“Y”。

CDB1:/u01/app/oracle/product/18.0.0/db_1:Y
启用Oracle托管文件(OMF)并确保在实例启动时启动PDB。

sqlplus / as sysdba << EOF
alter system set db_create_file_dest ='$ {DATA_DIR}';
alter pluggable database $ {PDB_NAME} save state;
exit;
EOF

猜你喜欢

转载自blog.51cto.com/xjsunjie/2323764