Có nhiều cách để chuyển data từ 1 database sang 1 database khác, chẳng hạn như dùng database link, export/import. Tuy nhiên trong trường hợp dữ liệu lớn, và nằm trong 1 số tablespace nhất định, sử dụng transportable tablespace sẽ giúp việc di chuyển nhanh gọn nhất.

 

Tranportable tablespace đòi hỏi 1 số yêu cầu như tham số Compatible. Thường ta sẽ chuyển tablespace sang database có Compatible tương đương hoặc lớn hơn.

 

Hoặc về platform. Ta có thể dàng kiểm tra các platform có thể di chuyển tablespace đến bằng câu lệnh

 

 

Có thể thấy, về cơ bản thì ta có thể transport tablespace sang hầu hết các platform phổ biến. 1 vấn đề cần lưu ý thêm là Endian format – Big và Little. Trường hợp ta transport sang 1 database có endian format khác với database hiện tại, cần có thêm bước convert.

 

Để kiểm tra platform và endian hiện tại của database

 

 

Quy trình transport tablespace cơ bản

  • Chuyển tablespace thành read-only
  • Dùng Data Pump extract tablespace metadata
  • Convert endian format nếu cần thiết
  • Copy/Di chuyển datafile và metadata sang target database
  • Import tablespace metadata
  • Chuyển tablespace lại trạng thái read-write

Ta sẽ thử chuyển 1 tablespace TESTRES từ 1 database sang database khác. Ở đây mình dùng 2 database 11gR2 trên Linux nên compatible và platform tương tự nhau, bỏ qua bước kiểm tra.

 

Đầu tiên cần kiểm tra xem tablespace có vấn đề gì không

 

 

Nếu tablespace không có vấn đề gì, ta chuyển qua trạng thái read-only và export metadata

 

 

 

Copy các datafile của tablespace đang transport cùng với file dump metadata sang target database. 

 

Import metadata vào target database, với danh sách các transport datafile đi kèm. Trong target database phải có trước các user owner các object trong transport tablespace.

 

 

Kiểm tra lại

 

 

Sau đó chuyển cả 2 tablespace trên source và target database trở lại trạng thái read write là xong

 

 

Tính năng này rất hữu ích trong trường hợp ta muốn di chuyển 1 tablespace lớn sang database khác. Tuy nhiên cũng đòi hỏi thời gian downtime (read-only tablespace), cũng như đòi hỏi việc kiểm tra, chuẩn bị phải kỹ càng.