Tuy nhiên nếu như non-CDB nằm cùng 1 server với CDB, cách làm trên sẽ duplicate (nhân bản) thêm dung lượng của non-CDB (để biến nó thành PDB).
Như vậy, sẽ cần thêm dung lượng để chứa lượng dữ liệu bị duplicate (có thể là tạm thời) đó,
Bài viết này hướng dẫn 1 cách khác, có thể khắc phục được nhược điểm đó, đó là sử dụng package DBMS_PDB
DBMS_PDB sẽ generate ra file xml cấu trúc của non-CDB, và chúng ta có thể migrate non-CDB vào thẳng CDB bằng file xml đó (tương tự như cách chúng ta plug 1 PDB vào CDB)
1. Đưa database Non-CDB về Read only
2. Kiểm tra tính tương thích của non-CDB với CDB mới
Chạy thủ tục DBMS_PDB.DESCRIBE (trên non-CDB) để sinh ra file xml cấu trúc của non-CDB:
Sau đó chạy câu lệnh sau trên CDB:
Nếu kết quả trả về là ‘YES’, tức là non-CDB hoàn toàn tương thích với CDB, có thể thực hiện migrate thành PDB được
3. Shutdown non-CDB
4. Tạo PDB mới từ Non-CDB database
Thực hiện trên CDB cdbnew:
5. Chạy script noncdb_to_pdb.sql
Sau khi tạo xong PDB, bạn không được open database lên, bạn cần chạy script noncdb_to_pdb.sql trước:
6. Open PDB
Nguồn: https://dangxuanduy.com/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.