1. 4 đặc tính nổi trội của Oracle 12c/18c/19c/21c
1. Thứ nhất, có thể hợp
nhất tới 252 cơ sở dữ liệu thành phần (đều là sản phẩm của Oracle) vào trong 1
cơ sở dữ liệu “mẹ” (container database), qua đó tối ưu hóa tài nguyên điện
toán, giảm chi phí đầu tư vào hạ tầng phần cứng. Nếu trong hệ thống CSDL trước
đây, 1 máy chủ cài đặt tối đa 50 CSDL thành phần cần 20GB bộ nhớ thì với công
nghệ mới Database 12c/18c/19c/21c, dung lượng tài nguyên bộ nhớ có thể giảm tới 6 lần.
2. Thứ hai, tự động hóa
cơ chế tối ưu hóa dữ liệu để quản lý hệ thống thiết bị lưu trữ. Thao tác di
chuyển dữ liệu vào lớp lưu trữ thích hợp được tiến hành tự động với công nghệ
Data Heat Map: dựa trên bản đồ nhiệt đánh dấu mức độ thường xuyên truy cập của
dữ liệu, giải pháp của Oracle sẽ giúp doanh nghiệp quyết định chuyển những dữ
liệu ít truy cập vào thiết bị lưu trữ phù hợp (dữ liệu ít khi truy cập được
chuyển vào lưu trữ trên thiết bị có chi phí rẻ hơn, dữ liệu thường xuyên truy
cập được lưu trữ trên thiết bị lưu trữ có tốc độ cao và chi phí đắt hơn).
3. Thứ ba, có tính năng
biên tập (Redaction), có tác dụng che giấu dữ liệu nhạy cảm khi cung cấp dữ
liệu cho người sử dụng cuối. Ví dụ với mã số thẻ tín dụng, những người làm công
tác quản trị nhân sự có thể nhìn thấy toàn bộ các con số của mã số thẻ, còn
những bộ phận khác chỉ nhìn được 4 số cuối. Tính năng bảo mật mới này sẽ giúp
các tổ chức, doanh nghiệp cảm thấy an toàn hơn khi hợp nhất các CSDL trong đám
mây.
4. Thứ tư, giúp doanh
nghiệp tìm thêm cơ hội kinh doanh từ dữ liệu lớn (Big Data) gồm cả dữ liệu phi
cấu trúc (chẳng hạn như từ mạng xã hội) và các dữ liệu có cấu trúc thông
thường.
2. Cấu trúc Oracle Database 12c/18c/19c/21c
Trước hết chúng ta cần so sánh cấu trúc Oracle 11g và 12c/18c/19c/21c
Cấu trúc Oracle bao gồm:
- Phần mềm Oracle
- Và các Database
ORACLE 11G
Sau khi cài đặt phần mềm Oracle Database 11g bạn có thể tạo một hoặc nhiều Database (Thông thường bạn chỉ cần tạo một Database). Trong mỗi Database bạn có thể tạo một hoặc nhiều SCHEMA, mỗi SCHEMA là hệ thống các bảng, và các đối tượng như function (hàm), procedure (thủ tục), package, ... Cấu trúc của Oracle 11g giống hình minh họa dưới đây:
ORACLE 12c/18c/19c/21c
Khái niệm database trong 11g tương ứng với khái niệm Container Database (CDB) trong 12c/18c/19c/21c . Cụ thể sau khi cài đặt phần mềm Oracle 12c/18c/19c/21c bạn có thể tạo 1 hoặc nhiều Container Database (CDB). (Thực tế là chỉ cần 1).
Trong Oracle 12c/18c/19c/21c có một khái niệm mới là CDB$ROOT (Hoặc gọi là CDB Root), CDB$Root là một Plugin Database đặc biệt), là một đối tượng nằm trong CDB. Các SCHEMA có thể gắn vào trên CDB$ROOT. Hoặc có các Plugin Database (PDB) thông thường khác có gắn vào CDB$ROOT. Mỗi Plugin Database chứa 0 hoặc nhiều SCHEMA.
PDB$SEED là một Plugin database mẫu (Template) nó được sử dụng để làm mẫu (mặc định) để tạo ra một Plugin Database mới. Tất nhiên bạn có thể lấy một Plugin Database bất kỳ nào đó làm mẫu để tạo ra một Plugin Database mới.
Tôi sẽ đề cập tới các lệnh tạo một Plugin mới từ SEED hoặc từ 1 PDB nào đó ở phần dưới của tài liệu này.
Tôi sẽ đề cập tới các lệnh tạo một Plugin mới từ SEED hoặc từ 1 PDB nào đó ở phần dưới của tài liệu này.
Về mặt lưu trữ trên ổ cứng, Oracle 12c có cấu trúc như hình minh họa dưới đây:
Trong đó:
Controlfiles
Mỗi cơ sở dữ liệu Oracle có một tập tin kiểm soát, đó là một tập tin nhị phân nhỏ mà ghi lại cấu trúc vật lý của các cơ sở dữ liệu. Các tập tin kiểm soát bao gồm:
- Tên cơ sở dữ liệu
- Tên và địa điểm của các datafiles liên quan và các file redo log
- Các dấu thời gian của việc tạo ra cơ sở dữ liệu
- Số tuần tự hiện thời của log (log sequence number)
- Thông tin Checkpoint
Các tập tin điều khiển phải có sẵn cho việc ghi bởi cơ sở dữ liệu Oracle bất cứ khi nào cơ sở dữ liệu đang mở. Nếu không có sự kiểm soát tập tin, cơ sở dữ liệu không thể được gắn kết và phục hồi là rất khó khăn.
datafiles
Datafiles là các file vật lý được lưu trữ trên ổ cứng. Những file này được sử dụng để lưu trữ dữ liệu trên ổ cứng.
tempfiles
Tempfiles là các file vật lý được lưu trữ trên ổ cứng. Những file này được sử dụng để lưu trữ dữ liệu tạm thời trên ổ cứng.
redo logs
Cấu trúc quan trọng nhất đối với hoạt động phục hồi là các redo log, trong đó bao gồm hai hoặc nhiều tập tin đã được phân bổ trước (preallocated files), nó lưu trữ tất cả các thay đổi trên cơ sở dữ liệu cũng như chúng xuất hiện. Mỗi đối tượng của cơ sở dữ liệu Oracle có một redo log liên quan để bảo vệ cơ sở dữ liệu trong trường hợp một đối tượng nào đó bị hỏng.
3. Sử dụng SQL*Plus để kiểm tra CDB, PDB 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/Abc#123 as sysdba
hoặc
$ sqlplus / a 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 system/oracle as sysdba
SQL> connect sys/oracle as sysdba
Cotainer là gì, bạn có thể tưởng tượng giống đời thực như sau:
3.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
;
3.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_NAMEALTER SESSION SET container = pdb1;ALTER SESSION SET container = cdb$root;
3.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 PDB, view 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;
- 3.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 NO3 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_NAMEALTER 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;
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:
SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS ORDER BY PDB_ID;
------------------------------ ----------
PDB$SEED READ ONLY
PDB1 READ WRITE
3. Bật Oracle Enterprise Manager Express
SQL> SELECT DBMS_XDB_CONFIG.gethttpport FROM dual;
SQL> EXEC DBMS_XDB_CONFIG.sethttpsport(5500);
SQL> SELECT DBMS_XDB_CONFIG.gethttpsport FROM dual;
https://192.168.182.128:5500/em/login , sau đó nhập user: sys, password oracle, container name cdb$root (hoăc pdb1,..)
#Cơ bản về Oracle Database 12c/18c/19c/21c #OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #oce