Oracle 19C 單機部署

Oracle 19C 單機部署

本文介紹Oracle數據庫19c中的64位的在Oracle的Linux 7(OL7)64位安裝。

這篇文章是基於服務器安裝最少2G Swap和disable SELinux設置

1.0 安裝準備

1.1 硬件檢查

1.1.1 硬盤空間檢查

/tmp目錄大小至少:1GB

安裝Oracle Database所需空間:8GB

1.1.2 內存檢查

內存最小: 2GB

Swap最小: 2GB

1.2 寫入Hosts 解析

在 “/etc/hosts” 寫入包含服務器的名稱。

#格式:
<IP-address>  <fully-qualified-machine-name>  <machine-name>

echo '172.10.128.20 Ora19C.com Ora19C' >> /etc/hosts

1.3 安裝依賴

yum install -y https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm

yum install bc binutils compat-libcap* compat-libstdc* glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat

1.4 寫入內核參數

cat > /etc/sysctl.d/98-oracle.conf <<EOF
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
EOF

#加載內核參數
sysctl -p /etc/sysctl.d/98-oracle.conf

1.5 寫入用戶limit

cat > /etc/security/limits.d/oracle-database-preinstall-18c.conf <<EOF
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
EOF

1.6 關閉SELinux 和 防火牆

sed -i  "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config
systemctl  stop firewalld
systemctl disable firewalld

1.7 創建用戶和組

常見用戶組說明

角色 權限
oinstall 安裝和升級oracle軟件
dba sysdba 創建、刪除、修改、啓動、關閉數據庫,切換日誌歸檔模式,備份恢復數據庫
oper sysoper 啓動、關閉、修改、備份、恢復數據庫,修改歸檔模式
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba,oper oracle

#修改密碼
echo 'oracle' | passwd --stdin oracle

1.8 創建安裝目錄

mkdir -p /data/oracle/product/19.0.0/dbhome_1
mkdir -p /data/oradata
chown -R oracle:oinstall /data
chmod -R 775 /data

1.9 配置環境變量

cat >> /home/oracle/.bash_profile <<EOF

#Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP

export ORACLE_HOSTNAME=Ora19C
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1

export ORACLE_UNQNAME=orcl
export ORACLE_SID=orcl

#Oracle data dir 
export DATA_DIR=/data/oradata
export ORA_INVENTORY=/data/oraInventory

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

2.0 靜默安裝數據庫

2.1 預配應答命令

不對db_install.rsp 文件修改,直接在命令行進行配置

cd /data/oracle/product/19.0.0/dbhome_1

# 靜默安裝
./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=true

#安裝完後根據提示
 /data/oraInventory/orainstRoot.sh	
 /data/oracle/product/19.0.0/dbhome_1/root.sh

2.2 靜默建庫

#普通數據庫
dbca -silent -createDatabase                                                   \
     -templateName General_Purpose.dbc                                         \
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} -responseFile NO_VALUE         \
     -characterSet AL32UTF8                                                    \
     -sysPassword Oracle19c                                                    \
     -systemPassword Oracle19c                                                 \
     -createAsContainerDatabase false                                          \
	 -databaseType MULTIPURPOSE                                                \
     -automaticMemoryManagement false                                          \
     -totalMemory 2048                                                         \
     -storageType FS                                                           \
     -datafileDestination "${DATA_DIR}"                                        \
     -redoLogFileSize 50                                                       \
     -emConfiguration NONE                                                     \
     -ignorePreReqs
     

#可插拔數據庫
dbca -silent -createDatabase 													\
 -templateName General_Purpose.dbc 												\
 -gdbname emrep -responseFile NO_VALUE 											\
 -characterSet AL32UTF8 														\
 -sysPassword Oracle19c 														\
 -systemPassword Oracle19c 														\
 -createAsContainerDatabase true 												\
 -numberOfPDBs 1 																\
 -pdbName orapdb 																\
 -pdbAdminPassword Oracle19c 													\
 -databaseType MULTIPURPOSE 													\
 -automaticMemoryManagement false 												\
 -totalMemory 1024 																\
 -redoLogFileSize 50 															\
 -emConfiguration NONE 															\
 -ignorePreReqs

刪庫命令:

dbca -silent -deleteDatabase -sourcedb orcl -sid orcl -sysDBAUserName orcl -sysDBAPassword Oracle19c

2.3 在/etc/oratab 標記實例爲 Y

sed -i 's/dbhome_1:N/dbhome_1:Y/' /etc/oratab

2.4 啓用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

參考文檔:

Oracle Database 19c Installation On Oracle Linux 7 (OL7)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章