Kinh nghiệm thực tế

Cấu hình tự động bật các tiến trình Oracle Database sau khi Reboot máy chủ

Quy trình cấu hình tự động bật Oracle Database sau khi Reboot máy chủ Linux

 

Trong quá trình tôi quản trị các hệ thống trọng yếu của ngân hàng, viễn thông, một trong các câu hỏi tôi thường xuyên đặt ra là: “Công việc này có tự động hóa được không ?”

Hôm nay tôi sẽ chia sẻ các bạn chi tiết các bước để cấu hình tự động bật tất cả Service Oracle Database trên hệ điều hành Oracle Linux. Các bạn có thể áp dụng quy trình này với Oracle phiên bản 10g, 11g, 12c, 18c, 19c :).

Bắt đầu thôi.

(Nếu các bạn muốn đọc các bài tổng hợp, chia sẻ kiến thức và dự án khác của của tôi: hãy tham gia nhóm Học Công nghệ thông tin qua dự án

Kênh youtube của tôi chia sẻ các kiến thức về Cơ sở dữ liệu: Học Cơ sở dữ liệu với Trần Quốc Huy )

Trong script dưới đây tôi sử dụng cho môi trường lab của mình. Khi áp dụng vào môi trường của các bạn, mọi người tự thay 02 biến sau cho đúng với thực tế là được.

  • ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
  • ORACLE_SID=talentcdb

Bước 1: Tạo thư mục chứa scripts và các scripts bật, tắt service Oracle

#Sử dụng user oracle

mkdir -p /home/oracle/scripts

# Tạo file chứa biến môi trường 

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

# Trong môi trường của các bạn, các bạn cần thay 2 biến ORACLE_HOME và ORACLE_SID cho đúng với hệ thống bạn đang dùng là được 🙂

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=talentcdb

export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

EOF

# Đưa thông tin biến môi trường vào .bash_profile

echo “. /home/oracle/scripts/setEnv.sh” >> /home/oracle/.bash_profile

# Tạo các script bật, tắt 

# Tạo script bật tất cả service Oracle 

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

# Tạo script tắt service Oracle

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

# Phân quyền thực thi các scripts trên

chown -R oracle:oinstall /home/oracle/scripts
chmod 755 /home/oracle/scripts/*.sh

Bước 2: Tạo service tự động bật Oracle khi máy chủ restart

# Sử dụng user root để thực hiện tạo file /etc/init.d/dbora

#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database software.

ORA_OWNER=oracle

case “$1” in
‘start’)
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
# Remove “&” if you don’t want startup as a background process.
su $ORA_OWNER -c “/home/oracle/scripts/start_all.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1” &

touch /var/lock/subsys/dbora
;;
‘stop’)
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su $ORA_OWNER -c “/home/oracle/scripts/stop_all.sh >> /home/oracle/scripts/startup_shutdown.log 2>&1”
rm -f /var/lock/subsys/dbora
;;
esac

# Phân quyền 

chmod 750 /etc/init.d/dbora
chkconfig –add dbora

Chúc mừng, bạn đã hoàn thành việc cấu hình tự động bật Oracle Database khi máy chủ Restart.

Tôi có chia sẻ máy ảo đã tạo sẵn môi trường Oracle Database và các dữ liệu mẫu, thích hợp cho việc tự học quản trị, phân tích dữ liệu. Các bạn quan tâm có thể tham gia  Cộng đồng học CNTT qua dự án để download về nhé.

Nếu bạn gặp vướng mắc liên quan đến Cơ sở dữ liệu, tôi luôn sẵn sàng lắng nghe và hỗ trợ bạn.

Hành trình vạn dặm bắt đầu từ một bước chân.
Cứ đi rồi sẽ tới!

 

Leave a Reply

avatar
  Subscribe  
Notify of