Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Di chuyển Cơ sở dữ liệu Oracle sang MySQL trên AWS, Phần 2

Dịch vụ di chuyển cơ sở dữ liệu AWS (DMS) là một dịch vụ di chuyển cơ sở dữ liệu trên AWS, trong đó cơ sở dữ liệu nguồn có thể là:

  • Cơ sở dữ liệu trên AWS (EC2, RDS)
  • Cơ sở dữ liệu cục bộ
  • Cơ sở dữ liệu trên một số nền tảng đám mây khác, chẳng hạn như Nền tảng đám mây Oracle

Cơ sở dữ liệu mục tiêu có thể là:

  • Cơ sở dữ liệu trên AWS (EC2, RDS, Redshift, DynamoDB)
  • Cơ sở dữ liệu cục bộ
  • Cơ sở dữ liệu trên một số nền tảng Đám mây khác, chẳng hạn như Nền tảng đám mây Oracle

Ít nhất một trong hai cơ sở dữ liệu, nguồn và đích, phải nằm trên AWS. Ví dụ:DMS có thể không được sử dụng để di chuyển cơ sở dữ liệu cục bộ sang nền tảng Google Cloud. Trong hai bài báo, chúng ta đang thảo luận về việc di chuyển Cơ sở dữ liệu Oracle sang cơ sở dữ liệu MySQL với Dịch vụ di chuyển cơ sở dữ liệu. Trong một bài viết trước đó, “Di chuyển Cơ sở dữ liệu Oracle sang MySQL trên AWS, Phần 1”, chúng tôi đã thảo luận về việc thiết lập cơ sở dữ liệu nguồn và đích. Trong phần tiếp theo này, chúng tôi sẽ thực hiện việc di chuyển. Bài viết này có các phần sau:

  • Tạo quá trình di chuyển
  • Chạy quá trình di chuyển
  • Truy vấn Lược đồ cơ sở dữ liệu đã di chuyển
  • Khởi động lại quá trình di chuyển
  • Sửa đổi quá trình di chuyển
  • Kết luận

Tạo Di chuyển

Trong phần này, chúng ta sẽ tạo một quá trình di chuyển DMS để di chuyển phiên bản Oracle DB trên RDS sang phiên bản MySQL DB trên RDS. Đăng nhập với tư cách người dùng IAM (dvohra hoặc người khác) đã tạo trước đó. Chọn DMS dịch vụ trong bảng điều khiển AWS, như trong Hình 1.


Hình 1: Dịch vụ DMS trong Bảng điều khiển AWS

Nhấp vào Tạo di chuyển , như trong Hình 2.


Hình 2: Tạo di chuyển

Trình hướng dẫn Dịch vụ Di chuyển Cơ sở dữ liệu AWS được bắt đầu, như thể hiện trong Hình 3. Nhấp vào Tiếp theo trong trang Chào mừng.


Hình 3: Trình hướng dẫn Dịch vụ Di chuyển Cơ sở dữ liệu AWS

Tiếp theo, Tạo bản sao chép được hiển thị, như trong Hình 4.


Hình 4: Tạo bản sao

Chỉ định tên phiên bản sao chép, hoặc giữ cài đặt mặc định, như thể hiện trong Hình 5. Chọn một lớp Phiên bản hoặc giữ nguyên cài đặt mặc định. Chọn một VPC vì không có VPC mặc định nào được định cấu hình. Chọn Nhiều AZ Không để sử dụng một Vùng khả dụng duy nhất. Chọn Có thể truy cập công khai tùy chọn.


Hình 5: Định cấu hình phiên bản sao chép

Trong Nâng cao cài đặt, cài đặt mặc định cho Bộ nhớ được phân bổ, Nhóm mạng con được tái tạo và vùng khả dụng được hiển thị trong Hình 6.


Hình 6: Cài đặt nâng cao

Chọn khóa chính KMS làm khóa mã hóa ( dms ) được tạo trước đó, như trong Hình 7. Nhấp vào Tiếp theo.


Hình 7: Chọn khóa chính KMS

Tiếp theo, cấu hình các điểm cuối Cơ sở dữ liệu để kết nối với các điểm cuối cơ sở dữ liệu nguồn và đích, như thể hiện trong Hình 8. Các điểm cuối cơ sở dữ liệu có thể được chỉ định trong khi bản sao đang được tạo. Điểm cuối nguồn và đích được định cấu hình trong các cột riêng biệt có nhãn Chi tiết kết nối cơ sở dữ liệu nguồn và chi tiết kết nối cơ sở dữ liệu đích.


Hình 8: Điểm cuối cơ sở dữ liệu

Chọn Công cụ nguồn từ danh sách thả xuống với tên oracle , như trong Hình 9.


Hình 9: Công cụ nguồn

Chọn Công cụ mục tiêu từ danh sách thả xuống với tên mysql , như trong Hình 10.


Hình 10: Chọn công cụ mục tiêu

Đối với Tên máy chủ s, chỉ định Điểm cuối cho các cá thể DB, như được liệt kê trên Bảng điều khiển RDS bằng cách xóa hậu tố:cổng. Tên máy chủ cho Oracle DB là orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com và tên Máy chủ cho MySQL DB là mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Cổng được chỉ định riêng trong Cổng trường và là 1521 cho cơ sở dữ liệu Oracle và 3306 cho cơ sở dữ liệu MySQL. Chọn Chế độ SSL như không cho cả cơ sở dữ liệu Nguồn và Cơ sở dữ liệu đích. Chỉ định Tên người dùng và Mật khẩu làm Tên người dùng chính và Mật khẩu chính được định cấu hình khi tạo các phiên bản RDS. Chi tiết kết nối Nguồn và Đích được thể hiện trong Hình 11.


Hình 11: Chi tiết kết nối nguồn và đích

Cuộn xuống để kết nối Cài đặt nâng cao. Đối với Cơ sở dữ liệu Oracle, chỉ định SID, như thể hiện trong Hình 12. Đối với cơ sở dữ liệu MySQL, hãy đặt Thuộc tính kết nối bổ sung thành targetDbType =SPECIFIC_DATABASE . Khóa chính KMS phải là khóa mã hóa (dms) được tạo làm người dùng IAM (dvohra) cho DMS.


Hình 12: Cài đặt nâng cao kết nối

Nhấp vào Chạy thử nghiệm cho mỗi cơ sở dữ liệu để kiểm tra kết nối. Kết quả là Kết nối được kiểm tra thành công, như trong Hình 13.


Hình 13: Chạy thử nghiệm

Tiếp theo, một nhiệm vụ di chuyển cần được cấu hình, trước đó phiên bản sao chép sẽ được tạo, như thể hiện trong Hình 14.


Hình 14: Phiên bản sao chép đã được tạo

Sau khi định cấu hình các điểm cuối của cơ sở dữ liệu, hãy nhấp vào Tiếp theo, như thể hiện trong Hình 15.


Hình 15: Đã định cấu hình điểm cuối cơ sở dữ liệu

Trong Tác vụ, ít nhất một quy tắc lựa chọn phải được định cấu hình nếu không một tác vụ không được tạo, như được chỉ ra bởi thông báo lỗi khi Tạo tác vụ được nhấp vào (xem Hình 16).


Hình 16: Cần có ít nhất một quy tắc lựa chọn

Nhấp vào thêm quy tắc lựa chọn liên kết hiển thị trong Hình 16. Trong chi tiết quy tắc lựa chọn, hãy định cấu hình Ở đâu quy tắc lựa chọn. Chọn Giản đồ dưới dạng DVOHRA (giản đồ sẽ khác đối với những người dùng khác nhau) và chỉ định Tên bảng là như thế nào dưới dạng % . Trong Hành động , các đối tượng có thể được bao gồm hoặc loại trừ bằng cách chọn Bao gồm hoặc Loại trừ . Loại trừ được xử lý sau khi loại trừ. Chọn Hành động là Bao gồm. Bộ lọc nguồn để giới hạn số lượng và loại bản ghi được chuyển từ nguồn sang đích có thể được thêm vào. Nhấp vào Thêm quy tắc lựa chọn , như trong Hình 17. Sau đó, nhấp vào Tạo tác vụ .


Hình 17: Thêm quy tắc lựa chọn

Một nhiệm vụ mới được thêm vào, như thể hiện trong Hình 18. Ban đầu, trạng thái nhiệm vụ là “Đang tạo”.


Hình 18: Nhiệm vụ mới

Khi nhiệm vụ được tạo, Trạng thái sẽ trở thành Sẵn sàng , như trong Hình 19.


Hình 19: Trạng thái Nhiệm vụ là Sẵn sàng

Chạy quá trình di chuyển

Để chạy quá trình di chuyển, hãy nhấp vào Bắt đầu / Tiếp tục , như trong Hình 20.


Hình 20: Bắt đầu / Tiếp tục

Trạng thái sẽ trở thành Đang bắt đầu (xem Hình 21).


Hình 21: Bắt đầu tác vụ

Sau khi Bắt đầu, trạng thái trở thành Đang chạy . Khi quá trình di chuyển hoàn tất, Trạng thái trở thành Tải hoàn tất , như trong Hình 22.


Hình 22: Tải xong

Thống kê bảng tab sẽ liệt kê các bảng được di chuyển, như thể hiện trong Hình 23.


Hình 23: Thống kê bảng

Truy vấn Lược đồ cơ sở dữ liệu đã di chuyển

Trong MySQL CLI, liệt kê các cơ sở dữ liệu bằng lệnh show databases, như trong Hình 24. DVOHRA cơ sở dữ liệu (lược đồ) được liệt kê.


Hình 24: Cơ sở dữ liệu danh sách

Chọn DVOHRA cơ sở dữ liệu với sử dụng DVOHRA yêu cầu. Liệt kê các bảng bằng lệnh hiển thị bảng, như trong Hình 25. WEBLOGICLOG WLSLOG các bảng được tạo trong cơ sở dữ liệu Oracle trước đó đã được di chuyển và được liệt kê.


Hình 25: Bảng liệt kê

Bảng cũng được di chuyển. WEBLOGICLOG bảng không có bất kỳ dữ liệu nào và không có dữ liệu nào được trả về trong một truy vấn SQL (xem Hình 26).


Hình 26: Truy vấn SQL trên WEBLOGLOG không liệt kê bất kỳ dữ liệu nào

TheWLSLOGtable được di chuyển bao gồm dữ liệu, như được hiển thị bằng kết quả truy vấn trong Hình 27.


Hình 27: Dữ liệu trong Bảng WLSLOG được di chuyển

Khởi động lại quá trình di chuyển

Theo mặc định, quá trình di chuyển không chủ động thăm dò ý kiến ​​trong cơ sở dữ liệu nguồn để di chuyển các thay đổi, nếu có. Nếu bất kỳ sửa đổi nào được thực hiện đối với cơ sở dữ liệu nguồn, chẳng hạn như dữ liệu được thêm vào bảng hoặc một bảng mới được tạo, quá trình di chuyển phải được chạy lại. Ví dụ:thêm dữ liệu vào weblogiclog trong cơ sở dữ liệu Oracle.

INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to STANDBY');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to STARTING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to ADMIN');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RESUMING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000361','Started WebLogic
   AdminServer');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RUNNING');
INSERT INTO weblogiclog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000360','Server started
   in RUNNING mode');

Để di chuyển dữ liệu đã thêm vào MySQL, hãy nhấp vào Bắt đầu / Tiếp tục , như trong Hình 28.


Hình 28: Khởi động lại quá trình di chuyển

Trong Bắt đầu tác vụ hộp thoại, hai tùy chọn được cung cấp: Bắt đầu Khởi động lại , như thể hiện trong Hình 29. Bắt đầu tùy chọn chỉ tải các bảng mới (tải đầy đủ) và các bảng chưa hoàn thành (tải một phần) trong lần chạy tác vụ trước đó.


Hình 29: Bắt đầu tác vụ

Bởi vì WEBLOGICLOG bảng đã được di chuyển (tải đầy đủ đã hoàn tất) và dữ liệu mới cần được di chuyển, Khởi động lại tùy chọn cần được chọn, như trong Hình 30.


Hình 30: Khởi động lại quá trình di chuyển

Trạng thái nhiệm vụ lại trở thành Đang bắt đầu tiếp theo là Đang chạy (xem Hình 31).


Hình 31: Trạng thái tác vụ đang chạy

Khi tác vụ đã hoàn tất chạy, Trạng thái trở thành Tải hoàn tất , như trong Hình 32.


Hình 32: Tải xong

Truy vấn WEBLOGICLOG dữ liệu trong MySQL CLI và dữ liệu đã di chuyển được liệt kê, như thể hiện trong Hình 33.


Hình 33: Dữ liệu được di chuyển khi khởi động lại tác vụ

Sửa đổi quá trình di chuyển

Tác vụ di chuyển có thể cần được sửa đổi, chẳng hạn như thêm / xóa quy tắc lựa chọn hoặc sửa đổi một trong các cài đặt tác vụ khác. Một tác vụ có thể được sửa đổi khi nó không chạy và trạng thái là Tải xong. Nhấp vào Sửa đổi để sửa đổi một nhiệm vụ, như thể hiện trong Hình 34.


Hình 34: Sửa đổi

Tác vụ sửa đổi hộp thoại được bắt đầu. Mặc dù Loại di chuyển khác nhau s được liệt kê, như thể hiện trong Hình 35, không thể sửa đổi kiểu di chuyển tại thời điểm này. Cài đặt mặc định là “Di chuyển dữ liệu hiện có”.


Hình 35: Sửa đổi công việc

Cài đặt tác vụ trong Hình 36 có thể được sửa đổi. Nhấp vào Cài đặt nâng cao để sửa đổi cài đặt nâng cao.


Hình 36: Cài đặt tác vụ

Trong Cài đặt nâng cao, Bảng điều khiển cài đặt có thể được sửa đổi, như trong Hình 37.


Hình 37: Cài đặt bảng điều khiển

Cài đặt điều chỉnh có thể được sửa đổi, như trong Hình 38.


Hình 38: Điều chỉnh cài đặt

Để thêm quy tắc chuyển đổi, hãy nhấp vào thêm quy tắc chuyển đổi , như trong Hình 39.


Hình 39: Thêm quy tắc chuyển đổi

Trong Quy tắc chuyển đổi , chọn Mục tiêu để chuyển đổi dưới dạng Bảng , như trong Hình 40. Chọn Tên giản đồ là dưới dạng DVOHRA. Chỉ định Tên bảng giống như dưới dạng % . Chọn Hành động dưới dạng Thêm tiền tố , như một ví dụ.


Hình 40: Thêm quy tắc chuyển đổi

Chỉ định tiền tố bảng để thêm vào mỗi bảng được di chuyển (xem Hình 41). Nhấp vào Thêm quy tắc chuyển đổi .


Hình 41: Thêm quy tắc chuyển đổi

Nhấp vào Sửa đổi , như trong Hình 42.


Hình 42: Sửa đổi

Trong Bắt đầu tác vụ , chọn Khởi động lại và nhấp vào Bắt đầu tác vụ , như trong Hình 43.


Hình 43: Bắt đầu công việc

Trạng thái nhiệm vụ trở thành Đang sửa đổi , như trong Hình 44.


Hình 44: Đang sửa đổi

Trạng thái nhiệm vụ có thể được làm mới bằng nút làm mới. Trạng thái trở thành Đang chạy , như trong Hình 45.


Hình 45: Đang chạy tác vụ

Khi tác vụ đã chạy xong, trạng thái sẽ trở thành Tải hoàn tất (xem Hình 46).


Hình 46: Tải xong

Sau đó, liệt kê các bảng trong MySQL. Các bảng mới có tiền tố được liệt kê, như trong Hình 47.


Hình 47: Các bảng có tiền tố

Kết luận

Trong hai bài viết, chúng ta đã thảo luận về việc di chuyển Cơ sở dữ liệu Oracle trên RDS sang cơ sở dữ liệu MySQL trên RDS bằng dịch vụ Di chuyển Cơ sở dữ liệu AWS.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xuất kết quả của một truy vấn Mysql sang excel?

  2. PHP &MySQL:mysqli_num_rows () mong muốn tham số 1 là mysqli_result, boolean đã cho

  3. Sử dụng Workbench để kết nối với máy chủ MySQL từ xa qua đường hầm SSH

  4. Cách hàm CHARACTER_LENGTH () hoạt động trong MySQL

  5. Làm cách nào để chỉ nhận các chữ số từ Chuỗi trong mysql?