Nguồn Tran Quoc Huy – Group Quản Trị & Bảo Mật Hệ Thống

1. Làm thế nào để kiểm tra trên Server có bao nhiêu database instance đang hoạt động?

Database Instance hiểu đơn giản là một phiên dịch viên, giúp bạn có thể “nói chuyện và ra lệnh được” cho database của bạn (bản chất Database là gồm các file vật lý).

Bạn có thể tìm hiểu các loại Database instance trong Oracle tại các bài chia sẻ trước của tôi.

Đầu tiên khi bạn vào một Server, bạn cần kiểm tra ngay trên Server đó có bao nhiêu database instance đang hoạt động.

Đối với các hệ điều hành Linux và Unix, các bạn có thể sử dụng lệnh sau:

[oracle@wec1 ~]$ ps -ef |grep smon
oracle 7694 5609 0 14:04 pts/1 00:00:00 grep smon
oracle 22054 1 0 Sep20 ? 00:01:12 ora_smon_wec1

Mục tiêu của tôi khi thực hiện câu lệnh là tìm kiếm các process SMON của Oracle. Trong Oracle có một đặc điểm là với mỗi Database instance chỉ có một process SMON. Vì thế nhìn vào kết quả bên trên ta có thể thấy ngay trên Server đang có 01 instance tên là wec1.

Để hiểu về tổng quan kiến trúc của Oracle thì bạn có thể xem thêm tại video tôi từng chia sẻ về tổng quan kiến trúc Oracle gói gọn trong tầm 15 phút.

2. Làm thế nào biết trên Server đang cài đặt bao nhiêu Oracle software, và đường dẫn cài đặt ở vị trí nào?

Trên 01 Server chúng ta có thể cài đặt nhiều Oracle software. Câu lệnh ps -ef |grep smon bên trên chỉ giúp chúng ta tìm được những database instance đang hoạt động mà thôi. Bạn hãy tự hỏi “Giả sử nếu tồn tại một số database instance khác, thuộc phiên bản Oracle software khác, tuy nhiên những database instance này hiện tại KHÔNG HOẠT ĐỘNG, làm thế nào để chúng ta tìm được chúng ?”

Nếu như trong thực tế chúng ta có sổ hổ khẩu để ghi thông tin tất cả các thành viên trong một ngôi nhà, thì Oracle sử dụng Inventory để lưu trữ thông tin của tất cả những database software được cài đặt trên server. Trong quá trình cài đặt Oracle lần đầu tiên, hệ thống sẽ tự động tạo ra 1 file /etc/oraInst.loc, file này lưu địa chỉ của “sổ hộ khẩu

Inventory".
[oracle@wec1 ~]$ cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall

Với kết quả trên ta có thể xác định được /u01/app/oraInventory là đường dẫn chứa Oracle Inventory.

oracle@wec1 ~]$ cd /u01/app/oraInventory
[oracle@wec1 oraInventory]$ ls
backup ContentsXML logs oraInst.loc orainstRoot.sh oui

Chúng ta vào thư mục ContentsXML trong folder chứa Inventory. Trong folder này có file inventory.xml sẽ lưu những thông tin về các software được cài đặt trên Server

[oracle@werac1 oraInventory]$ cd ContentsXML/
[oracle@werac1 ContentsXML]$ ls
comps.xml inventory.xml libs.xml
[oracle@werac1 ContentsXML]$ cat inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2020, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>12.2.0.1.4</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDB12Home1" LOC="/u01/app/oracle/product/12.2.0/db_1" TYPE="O" IDX="2"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>

-> Kết quả bên trên cho thấy trên Server tôi đang demo chỉ cài đặt một Oracle software phiên bản 12c. Đường dẫn cài đặt ORACLE_HOME là /u01/app/oracle/product/12.2.0/db_1.

Chúc các bạn tự tin và thành công trên con đường sự nghiệp DBA.