Tìm kiếm các Oracle Database instance đang hoạt động và vị trí cài đặt Oracle software trong 2 phút

Nếu bạn mới được đảm nhiệm vào vai trò DBA thì dưới đây là một số bí kíp có thể giúp bạn tự tin khi lần đầu “đăng nhập” vào Database Server.
# cài đặt Oracle software

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 một bài viết khác của tôi: https://tranquochuy.org/giai-dap-mot-so-thuat-ngu-khi-trien-khai-co-so-du-lieu-oracle-phan-1/.

Đầ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 đây https://www.youtube.com/watch?v=6icn0a5lKi4&t=929s

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. 

Nếu có những câu hỏi hoặc cần tham vấn gì về kiến thức, kinh nghiệm trong các dự án mọi người đừng ngần ngại liên hệ với tôi 🙂

Trần Quốc Huy

Leave a Reply

avatar
  Subscribe  
Notify of