1. 程式人生 > >靜默安裝Oracle Database 18c

靜默安裝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