Thứ Sáu, 22 tháng 1, 2021

Cài đặt Oracle Database 19c trên Oracle Linux 7 (OL7)

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

Mục lục:

Download Software
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

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  ol7-19.localdomain  ol7-19

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

ol7-19.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

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

Thiết lập thủ công

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-19c.conf" f

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 thêm các gói:

yum install -y bc    
yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc++-33
#yum install -y dtrace-modules
#yum install -y dtrace-modules-headers
#yum install -y dtrace-modules-provider-headers
yum install -y dtrace-utils
yum install -y elfutils-libelf
yum install -y elfutils-libelf-devel
yum install -y fontconfig-devel
yum install -y glibc
yum install -y glibc-devel
yum install -y ksh
yum install -y libaio
yum install -y libaio-devel
yum install -y libdtrace-ctf-devel
yum install -y libXrender
yum install -y libXrender-devel
yum install -y libX11
yum install -y libXau
yum install -y libXi
yum install -y libXtst
yum install -y libgcc
yum install -y librdmacm-devel
yum install -y libstdc++
yum install -y libstdc++-devel
yum install -y libxcb
yum install -y make
yum install -y net-tools # Clusterware
yum install -y nfs-utils # ACFS
yum install -y python # ACFS
yum install -y python-configshell # ACFS
yum install -y python-rtslib # ACFS
yum install -y python-six # ACFS
yum install -y targetcli # ACFS
yum install -y smartmontools
yum install -y sysstat

# Added by me.
yum 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

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=ol7-19.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.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 ở chế độ giao diện (hay còn gọi là interactive):

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

# Interactive mode.
./runInstaller
Chọn  Set Up Software Only và ấn Next:
Chọn Single Instance database installation và Next:
Chọn Enterprise Edition và Next:
 Click Next.

 Click Next.
 Click Next.
 Click Next.
 Click Next.
Đảm bảo các yêu cầu Prerequisite Checks thành công
Click Install.
Chạy scripts khi được yêu cầu (chú ý user root)

As a root user, execute the following script(s):
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
Click Close.

Hoàn thành (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

Bật listener:
# Start the listener
$ lsnrctl start
Tạo database bằng giao diện (hay còn gọi là chế độ interactive):
# Interactive mode.
$ dbca
Click Next.

Cấu hình cơ bả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: SysOracle_47   
  • Pluggable database name: pdb1
Click Next.
Click Finish.
Database Summary.

Database được tạo thành công


Có thể cài đặt ở chế độ silent mode (có thể hơi khó với 1 số bạn)

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

# 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 root:

As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

Tạo Database ở chế độ silent mode

Dùng DBCA:

# Start the listener.
lsnrctl start


# Silent mode.
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                                                \
     -memoryMgmtType auto_sga                                                  \
     -totalMemory 2000                                                         \
     -storageType FS                                                           \
     -datafileDestination "${DATA_DIR}"                                        \
     -redoLogFileSize 50                                                       \
     -emConfiguration NONE                                                     \
     -ignorePreReqs

(Có thể tạo DB dạng silent)

Sau khi cài đặt

Sửa  "/etc/oratab" đặt thành 'Y'.

cdb1:/u01/app/oracle/product/19.0.0/db_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;

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/OracleDBAVietNam 👨 Website: http://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 
 #OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #oce #ocm #19c #cài đặt Oracle Database

ĐỌC NHIỀU

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