Step by Step
#
1. 部屬前置作業
#
1.1 設定系統校時
#
1
2
3
4
5
6
7
8
9
10
11
12
|
# 切換到 root
sudo -i
sudo yum install -y chrony
# 設定 NTP Server IP
echo "server 192.168.122.5 iburst" >> /etc/chrony.conf
# 重起 chronyd
sudo systemctl restart chronyd
sudo systemctl enable --now chronyd
# 立即調整系統時間
sudo chronyc -a makestep
# 確認結果
sudo chronyc sources -V
|
1.2 關閉 SELinux
#
1
2
3
|
sudo sed -i 's/SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
sed -i 's/^SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0
|
1.3 安裝 preinstall
#
1
|
yum install oracle-database-preinstall-19c
|
檢查設定
1.4 Disable Transparent HugePages
#
1
2
|
[root@vm123 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
##GRUB禁用透明大页和NUMA
vi /etc/default/grub
GRUB_CMDLINE_LINUX="resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet numa=off transparent_hugepage=never crashkernel=1024M,high audit=0"
##生成新的grub文件
# BIOS启动:
grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI启动:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
##重启服务器并验证
reboot
cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
|
1.5 Enabling Using HugePages
#
- SGA -> 8G
grep Hugepagesize: /proc/meminfo -> 2048 KB
HugePages 數量 = (SGA(KB) / 2048) + 10
(8 * 1024 * 1024 / 2048) +10 = 4106
- /etc/sysctl.d/99-nr_hugepages.conf
1
2
|
vm.nr_hugepages=4106
vm.hugetlb_shm_group=54322
|
1
|
sysctl -p /etc/sysctl.d/99-nr_hugepages.conf
|
成功設定紀錄如下
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@vm123 ~]# grep Hugepagesize: /proc/meminfo
Hugepagesize: 2048 kB
[root@vm123 ~]# grep Huge /proc/meminfo
AnonHugePages: 16384 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 4106
HugePages_Free: 4106
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 8409088 kB
|
1.6 設定 oracle 主機帳號環境變數
#
- 建立資料夾
1
|
mkdir -p /home/oracle/scripts
|
- 設定文件:
/home/oracle/scripts/setEnv.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# Oracle Settings
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_UNQNAME=db
export ORACLE_HOME=$ORACLE_BASE/product/19/db;
##### RAC Node Difference start #####
export ORACLE_HOSTNAME=vm123.home.pollochang.work;
export ORACLE_SID=db1;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
|
- 將 環境並數設定到使用者 bash 殼層
1
|
sudo -u oracle echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
|
1
2
|
chmod 0755 /home/oracle/scripts/*.sh
chown -R oracle: /home/oracle/
|
2. 安裝資料庫
#
2.1 建立資料夾
#
1
2
3
|
mkdir -p /u01/app/oracle/product/19/db
unzip -q /mnt/nas-share/share/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19/db
chown -R oracle: /u01
|
2.2 安裝oracle Database Sofware
#
切換到 oracle 帳號
- 設定文件:
$ORACLE_HOME/install/response/db_install_db.rsp
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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_HOME=/u01/app/oracle/product/19/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=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
|
1
2
3
|
# switch to root
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0/db/root.sh
|
2.3.1 建立資料庫 non CDB
#
1
2
|
# switch to oracle
su - oracle
|
- 設定文件:
$ORACLE_HOME/assistants/dbca/dbca_${ORACLE_SID}.rsp
1
2
3
4
5
6
7
|
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=db
sid=db1
templateName=General_Purpose.dbc
sysPassword=P0ssw0rd..
systemPassword=P0ssw0rd..
characterSet=AL32UTF8
|
執行建立
1
|
dbca -silent -createDatabase -responseFile $ORACLE_HOME/assistants/dbca/dbca_${ORACLE_SID}.rsp
|
2.3.1 建立資料庫 CDB
#
1
2
|
# switch to oracle
su - oracle
|
- 設定文件:
$ORACLE_HOME/assistants/dbca/dbca_${ORACLE_SID}.rsp
1
2
3
4
5
6
7
8
9
10
11
|
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=db
sid=db1
templateName=General_Purpose.dbc
sysPassword=P0ssw0rd..
systemPassword=P0ssw0rd..
characterSet=AL32UTF8
createAsContainerDatabase=true
pdbName=pdb01
numberOfPDBs=1
pdbAdminPassword=P0ssw0rd..
|
執行建立
1
|
dbca -silent -createDatabase -responseFile $ORACLE_HOME/assistants/dbca/dbca_${ORACLE_SID}.rsp
|
2.4 設定開機時啟動
#
請參閱 deploy-Oracle26ai-on-OL8
2.5 啟用 Archive Mode
#
請參閱 deploy-Oracle26ai-on-OL8
2.6 設定 rman 備份
#
請參閱 oracle-backup-with-rman
90. 刪除資料庫
#
1
|
dbca -silent -deleteDatabase -sourceDB <您的SID> -sysDBAUserName SYS -sysDBAPassword <您的密碼>
|
刪除結果如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[oracle@vm123 ~]$ dbca -silent -deleteDatabase -sourceDB db1 -sysDBAUserName SYS -sysDBAPassword P0ssw0rd..
[WARNING] [DBT-19202] The Database Configuration Assistant will delete the Oracle instances and datafiles for your database. All information in the database will be destroyed.
Prepare for db operation
32% complete
Connecting to database
35% complete
39% complete
42% complete
45% complete
48% complete
52% complete
65% complete
Updating network configuration files
68% complete
Deleting instance and datafiles
84% complete
100% complete
Database deletion completed.
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/db/db0.log" for further details.
|