Giới thiệu Transportable Tablespace

Transportable Tablespace là gì?

Transportable Tablespace có thể coi là cách migrate dữ liệu nhanh nhất trong các cách sử dụng Data Pump. Nó kết hợp được ưu điểm của 2 phương thức migrate dữ liệu: logical và physical.

Hiểu 1 cách đơn giản: Nếu migrate dữ liệu theo phương thức Physical (VD: Sử dụng RMAN hay Data Guard), tốc độ thực hiện sẽ nhanh hơn vì nó không cần quan tâm đến những đối tượng logical (như table, index,…) bên trong.

Tuy nhiên, nó không linh hoạt được như phương thức logical. Nhất là với bài toán migrate dữ liệu qua lại giữa các platform khác nhau.

Môi trường: 

Non-CDB (nguồn):

  • IP: 192.168.56.100
  • DB Name: testdb

CDB (đích):

  • IP: 192.168.56.101
  • DB Name: cdbnew

2 Server đã cài đặt Oracle Database 19.3 và hệ điều hành Linux 7.9

Bài toán: 

Migrate dữ liệu từ noncdb database sang 1 PDB thuộc CDB cdbnew.

Các bước tiến hành Transportable Tablespace

Phân tích bài toán

Trong database TESTDB, tôi chỉ lưu data của người dùng trong 2 tablespace là: USERSDATA2022.

Do đó, tôi sẽ chỉ cần migrate dữ liệu trong 2 tablespace này là đủ.

Kiểm tra endianess trên database nguồn và đích

Chạy câu lệnh sau trên cả nguồn và đích

check endianess

Nếu cả database nguồn và đích đều cùng endian, bạn có thể tiến hành Transportable Tablespace luôn. Còn nếu không, bạn sẽ phải thực hiện convert endian.

Kiểm tra các tablespace

Bước này sẽ kiểm tra các tablespace cần transport xem có đối tượng nào không thoả mãn điều kiện hay không? (VD: Partitioned table có partition nằm ở cả tablespace SYSTEM).

Đọc thêm  Clone PDB từ Non-CDB

 Sau khi chạy xong thủ tục trên, bạn có thể kiểm tra kết quả bằng câu lệnh sau:

Nếu không có kết quả trả về, tức là các tablespace hoàn toàn có thể transport được.
Còn nếu có bất cứ lỗi nào được trả về, bạn cần xem xét và giải quyết nó.
 

Tạo directory để export

Tạo directory trên nguồn

Đưa các tablespace cần transport về Read Only

Thực hiện trên database nguồn:

Thực hiện export transportable tablespace trên nguồn

 

Sau khi export xong, bạn sẽ thấy ở phần cuối trong log export:

export transportable tablespace datafile

Đây là các datafile bạn sẽ cần phải copy qua database đích.
 

Tạo Pluggable database trống trên đích:

 Copy các datafile qua đích:

Tạo directory trên đích

 Import vào đích

Chú ý: 

Như vậy, kết thúc bước trên, có thể coi bạn đã migrate dữ liệu xong từ non CDB TESTDB sang PDB_TTS thuộc CDBNEW rồi đó.

Tuy nhiên, bạn cần lưu ý, nếu bước import thất bại, các transportable datafile ở trên đích sẽ không thể sử dụng được nữa, cần phải thực hiện lại từ đầu.

Do đó, trong suốt quá trình thực hiện Transportable Tablespace bạn vẫn cần bảo vệ các datafile trên nguồn cẩn thận, để có thể rollback và thực hiện lại khi có sự cố xảy ra.

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é.

Đọc thêm  Ý nghĩa của Redo Log, Undo Data và Flashback Log

Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *