Thứ Bảy, 14 tháng 8, 2021

Kiểm tra, bật, tắt CDB, PDB với SQL*Plus trong Oracle Database 12c/18c/19c/21c

SQL Plus là một cửa sổ giao tiếp dạng Console đơn giản cho phép bạn gõ lệnh SQL lên đó. Thông thường chúng ta làm việc với một công cụ trực quan hơn (Không có sẵn khi bạn cài xong Oracle) mà bạn cần cài đặt thêm, có thể là các phần mềm do một công ty thứ 3 cung cấp.
Để vào SQLPlus bạn có thể vào từ CMD:
- Đăng nhập vào Oracle sử dụng user database system hoặc sys với vai trò dba:
$ sqlplus system/oracle as sysdba
hoặc
$ sqlplus / a sysdba
- Nếu bạn đã kết nối vào một user, muốn chuyển sang user khác sử dụng cú pháp:
SQL> connect scott/oracle
+ Hoặc kết nối vào với vai trò Database Admin:
SQL> connect / as sysdba
SQL> connect sys/oracle as sysdba

SQL> connect system/oracle as sysdba
Cotainer là gì, bạn có thể tưởng tượng giống đời thực là container chở hàng, mỗi một kiện hàng là 1 PDB:



1. Kiểm tra xem Database có là Container Database (CDB)

Khi bạn cài đặt Oracle 12c/18c/19c/21c nếu bạn chọn cài đặt theo kiểu Container Database (CDB), thì database của bạn sẽ là một CDB, ngược lại nó là một Non-CDB (Giống mô hình của Oracle 11g)
Trên SQLPlus bạn có thể kiểm tra xem Database của mình có là CDB hay không.
-- Truy vấn View chứa các Database.
SELECT CDB FROM V$DATABASE;

2. Kiểm tra ID hoặc tên của Container hiện tại

-- Xem thông tin ID của Container hiện tại. 
SHOW CON_ID
-- Xem thông tin tên của Container hiện tại: 
SHOW CON_NAME

- Các câu lệnh khác chuyển qua lại giữa pdb1 và cdb$root:
SHOW CON_NAME
ALTER SESSION SET container = pdb1;
ALTER SESSION SET container = cdb$root;

3. Thông tin các Container trong Container Database (CDB)

View V$CONTAINERS cung cấp tất cả các thông tin về các Container bên trong CDB, bao gồm Plugin gốc ( CDB$Root) và các Plugin DB (PDB). Để xem các thông tin này, bạn có thể truy vấn từ một user thông thường, mà user đó nằm trong Container gốc ( CDB$Root). Nếu user nằm trong PDBview này sẽ chỉ hiển thị các thông tin cho PDB đó
-- Sét đặt độ dài cột hiển thị (Cho dễ nhìn)
COLUMN NAME FORMAT A8
-- Truy vấn thông tin các Container.
SELECT NAME, CON_ID, DBID, CON_UID, GUID FROM V$CONTAINERS ORDER BY CON_ID;
4. Xem thông tin các Plugin Database (PDB)

Hai view CDB_PDBS và DBA_PDBS cung cấp thông tin về các PDBs có liên hệ với CDB, bao gồm cả tình trạng của mỗi PDB. Để xem thông tin này, truy vấn phải được chạy bởi một user thông thường trên Container gốc ( CDB$Root). Khi user trên một container là một PDB, tất cả các truy vấn trên View này không trả về kết quả.
- Các PDB hiện có:
SQL> show pdbs
   CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                                MOUNTED
         4 PDB2                                MOUNTED

- Các câu lệnh khác chuyển qua lại giữa pdb1 và cdb$root:
SHOW CON_NAME
ALTER SESSION SET container = pdb1;
ALTER SESSION SET container = cdb$root;
show pdbs

- Bật/tắt PDB (mức pdb1 hoặc cdb$root đều được):
SQL> ALTER PLUGGABLE DATABASE pdb1 OPEN;
SQL> ALTER PLUGGABLE DATABASE pdb1, pdb2 OPEN READ ONLY FORCE;

SQL> ALTER PLUGGABLE DATABASE pdb1 CLOSE IMMEDIATE;
SQL> ALTER PLUGGABLE DATABASE pdb1, pdb2 CLOSE IMMEDIATE;

SQL> ALTER PLUGGABLE DATABASE ALL OPEN;
SQL> ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE;

SQL> ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 OPEN;
SQL> ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE IMMEDIATE;

- Có thể bật tắt như sau:
SQL> SHOW CON_NAME
SQL> ALTER SESSION SET container = pdb1;

SQL> startup

SQL> SHOW CON_NAME
SQL> ALTER SESSION SET container = pdb2;

SQL> startup

- Truy vấn thông tin các PDB:
COLUMN PDB_NAME FORMAT A15

SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS ORDER BY PDB_ID;
SELECT PDB_ID, PDB_NAME, STATUS FROM CDB_PDBS  ORDER BY PDB_ID;
SELECT name, open_mode FROM v$pdbs;
NAME                              OPEN_MODE
------------------------------ ----------
PDB$SEED                      READ ONLY
PDB1                                READ WRITE

Tóm lại: Khi sử dụng SQL*Plus chú ý câu lệnh  ALTER SESSION SET container để chuyển sang PDB hay về CDB và câu lệnh show con_name để biết chính xác mình đang là CDB hay PDB.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w

=============================
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/DBAVietNam
👨 Website: https://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

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle dataguard, oracle goldengate, oracle weblogic, oracle exadata, hoc solaris, hoc linux, hoc aix

ĐỌC NHIỀU

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