Mở đầu
Nếu bạn đang sử dụng Clusterware cho Oracle RAC hay Single-Intance với ASM, Clusterware sẽ tự động bật tắt Instance và Listener khi reboot OS. Nhưng nếu không sử dụng Clusterware, ta vẫn có thể tự động bật tắt Oracle Database bằng cách cấu hình thủ công các service trên Linux.
(Các bước cấu hình sau đây hoạt động được với phiên bản Oracle Database từ 10g với hệ điều hành Linux 7 trở lên)
Bước 1: Cấu hình Oratab
Trước tiên cần chỉnh sửa file “/etc/oratab” để cho phép tự động bật Instance Oracle Database bằng cách thay đổi cờ (restart flag) từ “N” thành “Y” cho mỗi Instance trong file.
[oracle@ol79 ~]$ vi /etc/oratab ... WECDB:/u01/app/oracle/product/11.2.0.4/dbhome_1:Y ... [oracle@ol79 ~]$
Bước 2: Cấu hình Script tự động
Tạo một script đặt biến môi trường cho user oracle (có thể thực hiện với root hoặc oracle). Bạn hãy tự chỉnh lại các đường dẫn và tên Database cho phù hợp với hệ thống của mình.
[oracle@ol79 ~]$ mkdir -p /home/oracle/scripts/ [oracle@ol79 ~]$ cd /home/oracle/scripts/ [oracle@ol79 ~]$ vi setEnv.sh export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1 export ORACLE_SID=WECDB 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 [oracle@ol79 ~]$
Chạy thêm lệnh sau để có thể tự động thực thi script trên khi user oracle được login trên OS.
[oracle@ol79 ~]$ echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile [oracle@ol79 ~]$
Bước 3: Thực hiện tạo script bật và tắt Database
Cũng trong thư mục “/home/oracle/scripts/”, ta sẽ tạo các file script dùng để bật và tắt Oracle Database.
[oracle@ol79 ~]$ cd /home/oracle/scripts/ [oracle@ol79 ~]$ vi start_all.sh . /home/oracle/scripts/setEnv.sh export ORAENV_ASK=NO . oraenv export ORAENV_ASK=YES dbstart \$ORACLE_HOME [oracle@ol79 ~]$ [oracle@ol79 ~]$ vi stop_all.sh . /home/oracle/scripts/setEnv.sh export ORAENV_ASK=NO . oraenv export ORAENV_ASK=YES dbshut \$ORACLE_HOME [oracle@ol79 ~]$
Cấp quyền thực thi cho các file script trong thư mục “/home/oracle/scripts/”
[oracle@ol79 ~]$ chmod u+x /home/oracle/scripts/*.sh [oracle@ol79 ~]$
Bước 4: Cấu hình đường dẫn Listener
Trong file “$ORACLE_HOME/bin/dbstart” ta sẽ đặt tham số chỉ định lại đường dẫn Oracle Home cho Listener.
[oracle@ol79 ~]$ cd $ORACLE_HOME/bin/ [oracle@ol79 ~]$ vi dbstart ... ORACLE_HOME_LISTNER=$ORACLE_HOME ... [oracle@ol79 ~]$
Đến đây thì bạn có thể thực hiện bằng tay để test xem các file “start_all.sh” và “stop_all.sh” có thực thi thành công hay không.
Bước 5: Cấu hình và khởi tạo Service
Sau khi tạo xong các file script ta sẽ tạo các service tự động thực thi các script đã tạo ở trên và kích hoạt các service này lên để khi OS khởi động lại sẽ tự bật Database (thực hiện bằng user root).
[root@ol79 ~]# cd /lib/systemd/system/ [root@ol79 ~]# vi dbora.service [Unit] Description=The Oracle Database Service After=syslog.target network.target [Service] LimitMEMLOCK=infinity LimitNOFILE=65535 RemainAfterExit=yes User=oracle Group=oinstall Restart=no ExecStart=/bin/bash -c '/home/oracle/scripts/start_all.sh' ExecStop=/bin/bash -c '/home/oracle/scripts/stop_all.sh' [Install] WantedBy=multi-user.target
Sau khi tạo service xong thì bật và kích hoạt service lên
[root@ol79 ~]# systemctl daemon-reload [root@ol79 ~]# systemctl start dbora.service [root@ol79 ~]# systemctl enable dbora.service
Kiểm tra lại trạng thái service
[root@ol79 ~]# systemctl status dbora.service
Lời kết
Như vậy là bạn đã cấu hình xong quy trình tự động bật Oracle Database trên hệ điều hành Linux. Bạn có thể khởi động lại OS để kiểm tra hoạt động của service. Hẹn gặp lại bạn ở các bài viết tiếp theo.
_d0n.n13_
Views: 285