Thứ Tư, 20 tháng 10, 2021

Cài đặt Oracle Database 21c trên Oracle Linux 8 (OL8)

Bài viết này mô tả việc cài đặt Oracle Database 21c 64-bit trên Oracle Linux 8 (OL8) 64-bit. 


MỤC LỤC:

Download Software
Cấu hình Hosts File
Điều kiện tiên quyết khi cài Oracle
  • Thiết lập tự động
  • Thiết lập thủ công
  • Thiết lập bổ sung
Cài đặt:
  • Cài đặt ở chế độ giao diện (hay còn gọi là interactive):
  • Tạo Database
  • Có thể cài đặt ở chế độ silent mode
  • Tạo Database ở chế độ silent mode
Sau khi cài đặt
Kiểm tra lại

DOWNLOAD SOFTWARE

CẤU HÌNH HOSTS FILE

Sửa file"/etc/hosts"  

<IP-address>  <fully-qualified-machine-name>  <machine-name>

For example.

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.107  ol8-21.localdomain  ol8-21

Đặc hostname trong file "/etc/hostname":

ol8-21.localdomain

ĐIỀU KIỆN TIÊN QUYẾT KHI CÀI ORACLE

Thực hiện trước khi cài đặt:

Thiết lập tự động

#dnf install -y oracle-database-preinstall-21c
# yum update -y

 Tất nhiên bạn có thể cài bằng RPM:

curl -o oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/ oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

yum -y localinstall oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

Thiết lập thủ công (Nếu bước tự động không thành công do không có Internet)

Thêm dòng mới vào "/etc/sysctl.conf" file, hoặc gọi trong "/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

Apply thay đổi:

/sbin/sysctl -p
# Or
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf

Thêm các dòng sau vào "/etc/security/limits.d/oracle-database-preinstall-21c.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
Cài đặt các gói sau:
dnf install -y bc
dnf install -y binutils
dnf install -y compat-openssl10
dnf install -y elfutils-libelf
dnf install -y glibc
dnf install -y glibc-devel
dnf install -y ksh
dnf install -y libaio
dnf install -y libXrender
dnf install -y libX11
dnf install -y libXau
dnf install -y libXi
dnf install -y libXtst
dnf install -y libgcc
dnf install -y libnsl
dnf install -y libstdc++
dnf install -y libxcb
dnf install -y libibverbs
dnf install -y make
dnf install -y policycoreutils
dnf install -y policycoreutils-python-utils
dnf install -y smartmontools
dnf install -y sysstat

# Thêm: 
dnf install -y unixODBC

Tạo các group và user:

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

Thiết lập bổ sung


Đặt mật khẩu oracle:

passwd oracle

Thiết lập SELINUX "/etc/selinux/config:

SELINUX=permissive

Restart lại server hoặc chay lệnh:

# setenforce Permissive

Disable firewall:

# systemctl stop firewalld
# systemctl disable firewalld

Nếu bạn không sử dụng Oracle Linux and UEK, bạn cần bỏ huge page đi.

Tạo thư mục cài đặt Oracle Software:

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

Kiểm tra GUI:

(root)# xhost +<machine-name>

Tạo thư mục "scripts":

mkdir /home/oracle/scripts

Tạo biến môi trường setEnv.sh":

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

export ORACLE_HOSTNAME=ol8-21.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/21.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export 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

Đưa nội dung "setEnv.sh" vào file "/home/oracle/.bash_profile":

echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile

Tạo file "start_all.sh" và"stop_all.sh" để tạo service startup/shutdown:

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

Edit "/etc/oratab" chạy theo script:

~/scripts/start_all.sh
~/scripts/stop_all.sh

Cài đặt:

Thiết lập biến DISPLAY:

DISPLAY=<machine-name>:0.0; export DISPLAY

Cài đặt 

(Có thể ở Interactive hoặc silent giống như khi cài 19c, 12c,...)

# Unzip software.
cd $ORACLE_HOME
unzip -oq /path/to/software/LINUX.X64_213000_db_home.zip

# Chế độ giao diện
./runInstaller

# Silent mode.
./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
Chạy script khi được hỏi:
As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/21.0.0/dbhome_1/root.sh
Cấu hình cơ bản khi cài đặt bằng giao diện:
  • Global database name: cdb1
  • Storage type: File System
  • Database file location: /u02/oradata
  • Fast Recovery Area (FRA): {ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}
  • Database character set: AL32UTF8
  • Adminitrative password: oracle
  • Pluggable database name: pdb1
Hoàn thành 

Nếu có lỗi thì fix hoặc xóa hết đi cài lại:

SQL> shutdown immediate (nếu đã có DB)
# rm -rf /u01/*
# rm -rf /backup/*
# rm -rf /oradata/*


Tạo Database (Nếu bước trên chỉ cài Oracle software)

# Bật listener.
lsnrctl start

# Chế độ giao diện
dbca

Cấu hình cơ bản khi cài đặt bằng giao diện:
  • Global database name: cdb1
  • Storage type: File System
  • Database file location: /u02/oradata
  • Fast Recovery Area (FRA): {ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}
  • Database character set: AL32UTF8
  • Adminitrative password: oracle
  • Pluggable database name: pdb1
# Chế độ Silent dbca -silent -createDatabase \ -templateName General_Purpose.dbc \ -gdbname ${ORACLE_SID} -sid ${ORACLE_SID} -responseFile NO_VALUE \ -characterSet AL32UTF8 \ -sysPassword oracle \ -systemPassword oracle \ -createAsContainerDatabase true \ -numberOfPDBs 1 \ -pdbName ${PDB_NAME} \ -pdbAdminPassword oracle \ -databaseType MULTIPURPOSE \ -memoryMgmtType auto_sga \ -totalMemory 2000 \ -storageType FS \ -datafileDestination "${DATA_DIR}" \ -useOMF true \ -redoLogFileSize 50 \ -emConfiguration NONE \ -ignorePreReqs Copying database files 1% complete 2% complete 8% complete 13% complete 19% complete 27% complete Creating and starting Oracle instance 29% complete 32% complete 33% complete 34% complete 38% complete 42% complete 43% complete 45% complete Completing Database Creation 48% complete 51% complete 53% complete 62% complete 70% complete 72% complete Creating Pluggable Databases 78% complete 100% complete Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for further details.

Xóa Database

# Chế độ giao diện
dbca

# Chế độ silent
$ dbca -silent -deleteDatabase -sourceDB cdb1 -sysDBAUserName sys -sysDBAPassword oracle
Connecting to database
4% complete
9% complete
14% complete
19% complete
23% complete
28% complete
47% complete
Updating network configuration files
48% complete
52% complete
Deleting instance and datafiles
76% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1.log" for further details.
SAU KHI CÀI ĐẶT

Sửa  "/etc/oratab" đặt thành 'Y' để khi reboot OS, DB tự lên:

cdb1:/u01/app/oracle/product/21.0.0/dbhome_1:Y

Bật Oracle Managed Files (OMF) và đảm bảo  PDB bật khi instance được start:

sqlplus / as sysdba <<EOF
alter system set db_create_file_dest='${DATA_DIR}';
alter pluggable database ${PDB_NAME} save state;
exit;
EOF
Kiểm tra lại:
$ sqlplus / as sysdba
SQL> select banner_full from v$version;
SQL> select instance_name,status from v$instance;
SQL> select con_id, name, open_mode from v$pdbs;
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master