Làm cách nào để di chuyển thủ tục lưu sẵn của Oracle sang MySQL?

Với việc mất giấy phép Oracle Standard Edition One và cơ sở dữ liệu Oracle Express Edition miễn phí bị kẹt ở Phiên bản 2 11g cũ từ năm 2014, nhiều dự án nhỏ hơn đang xem xét liệu MySQL có thể là giải pháp thay thế hay không.

Nếu bạn đang xây dựng ứng dụng của mình từ đầu, hầu hết các dự án có thể bắt đầu với bất kỳ cơ sở dữ liệu quan hệ nào. Nhưng nếu bạn có một cơ sở dữ liệu hiện có, bạn cần điều tra cẩn thận xem việc di chuyển có hợp lý không

So sánh tính năng

Nhiều tính năng của Oracle cũng có sẵn trong MySQL

  • Những cái bàn
  • Lượt xem
  • khóa chính
  • phím duy nhất
  • khóa ngoại
  • thủ tục
  • Chức năng
  • Gây nên

Đối với một số tính năng của Oracle, MySQL có chức năng tương đương nhưng được triển khai khác. Ví dụ: MySQL không có các chuỗi mà thay vào đó cho phép các cột được xác định là AUTO_INCREMENT. Điều này giúp loại bỏ trình kích hoạt khóa chính cần thiết cho đến Oracle 12

MySQL không có gì tương ứng với các gói PL/SQL, chỉ có các hàm và thủ tục. Điều này có nghĩa là bạn cũng không có các biến gói nhưng sẽ phải sử dụng các biến do người dùng xác định trong phạm vi phiên (@my_var) để lưu trữ các giá trị

Người dùng và Bảo mật

Cơ sở dữ liệu, lược đồ và người dùng cũng hoạt động khác nhau. Trong Oracle, bạn có một cơ sở dữ liệu với nhiều lược đồ cũng là người dùng. Trong MySQL, từ DATABASE đồng nghĩa với SCHEMA và được tách rời khỏi người dùng. Vì vậy, người dùng cần được cấp quyền truy cập vào lược đồ/cơ sở dữ liệu

Mô hình bảo mật trong MySQL nói chung đơn giản hơn nhiều so với Oracle, vì vậy nếu bạn có bảo mật chi tiết và/hoặc phức tạp trong ứng dụng Oracle, sẽ khó chuyển sang MySQL

Loại dữ liệu

Các kiểu dữ liệu khác nhau giữa Oracle và MySQL, nhưng nhìn chung có thể được ánh xạ dễ dàng

tiên tri

mysql

VARCHAR2

VARCHAR

SỐ

SỐ

NGÀY

NGÀY GIỜ

Lưu ý rằng biến MySQL DATE chỉ có phần ngày và không có thời gian. Việc chuyển đổi dễ dàng là biến mọi NGÀY của Oracle thành DATETIME của MySQL, nhưng nếu bạn không bao giờ cần phần tử thời gian, thì nên sử dụng MySQL DATE cho các giá trị này

MySQL có rất nhiều kiểu dữ liệu khác nhau, từ TINYINT 3 chữ số đến BIGINT 19 chữ số. Bạn cần sử dụng một trong các loại INT cho các cột chính sử dụng AUTO_INCREMENT

Còn PL/SQL thì sao?

Ngôn ngữ lập trình trong MySQL đơn giản hơn nhiều so với PL/SQL và MySQL không có bất cứ thứ gì giống như khả năng của các gói tích hợp trong Oracle. Nếu bạn đang sử dụng nhiều gói tích hợp, sẽ rất khó để chuyển sang MySQL

Mặc dù bạn có các khả năng kích hoạt bảng trong MySQL giống như trong Oracle (TRƯỚC/SAU, hàng hoặc bảng), nhưng bạn không có tất cả các trình kích hoạt khác mà Oracle cung cấp, như trình kích hoạt DDL, ON-LOGON, v.v.

Có một số khác biệt về cú pháp – ví dụ, các nhánh PL/SQL EXCEPTION được xử lý trong MySQL với DECLARE HANDLER. MySQL có các cấu trúc điều khiển cơ bản như các vòng lặp IF-THEN-ELSE, WHILE và REPEAT, nhưng bạn sẽ tìm kiếm cấu trúc vòng lặp FOR một cách vô ích. MySQL không có khái niệm về các biến neo với %TYPE và %ROWTYPE

Trình hướng dẫn di chuyển

MySQL Workbench đi kèm với trình hướng dẫn di chuyển cơ sở dữ liệu. Trình hướng dẫn này giúp bạn di chuyển từ MS SQL Server, MS Access, PostgreSQL và Sybase. Vì MySQL thuộc sở hữu của Oracle nên rõ ràng là không có sự di chuyển từ Oracle sang MySQL

Ngoài ra còn có một quá trình di chuyển chung có thể được sử dụng để di chuyển “hầu hết các cơ sở dữ liệu tuân thủ ODBC. ” Tuy nhiên, điều này cũng không thể được sử dụng để di chuyển từ Oracle sang –MySQL—trình hướng dẫn sẽ kết nối nhưng không thấy bất kỳ đối tượng cơ sở dữ liệu nào để di chuyển

Công cụ di chuyển khác

Microsoft sẽ sẵn lòng giúp bạn di chuyển từ Oracle sang SQL Server bằng Trợ lý di chuyển Microsoft SQL Server. Từ đó, bạn có thể sử dụng thuật sĩ di chuyển MySQL, hỗ trợ di chuyển từ MS SQL Server

Tìm kiếm trên Internet cũng sẽ tạo ra một số công cụ của bên thứ ba nhằm mục đích có thể di chuyển cơ sở dữ liệu của bạn từ Oracle sang MySQL

Di chuyển thủ công

Bạn cũng có thể xuất cơ sở dữ liệu Oracle của mình sang một tệp bằng Oracle SQL Developer và sau đó thực hiện các điều chỉnh cần thiết để tạo cơ sở dữ liệu MySQL tương đương. Dưới đây là ví dụ về xuất từ ​​SQL Developer của cơ sở dữ liệu đơn giản chứa nhiều đối tượng lược đồ Oracle thông thường và cách chúng ánh xạ tới MySQL

Những cái bàn

Nhà phát triển SQL xuất các bảng có dấu ngoặc kép, như thế này

--------------------------------------------------------
--  DDL for Table EVENTS
--------------------------------------------------------

CREATE TABLE "EVENTS"
  ("EV_ID" NUMBER,
   "DESCRIPTION" VARCHAR2(240),
   "START_DATE" DATE,
   "END_DATE" DATE
  );
--------------------------------------------------------
--  DDL for Table MEMBERS
--------------------------------------------------------

CREATE TABLE "MEMBERS"
  ("MEM_ID" NUMBER,
   "FIRST_NAME" VARCHAR2(80),
   "LAST_NAME" VARCHAR2(80),
   "EMAIL" VARCHAR2(240)
  );
--------------------------------------------------------
--  DDL for Table REGISTRATIONS
--------------------------------------------------------

CREATE TABLE "REGISTRATIONS"
  ("EV_ID" NUMBER,
   "MEM_ID" NUMBER,
   "REG_DATE" DATE DEFAULT sysdate
  );

Để tạo các bảng này trong MySQL, bạn cần bỏ dấu ngoặc kép và thay đổi kiểu dữ liệu. SYSDATE là một chức năng dành riêng cho Oracle mà bạn cần thay thế bằng CURRENT_TIMESTAMP tương đương. Một tập lệnh MySQL có thể trông như thế này

CREATE TABLE EVENTS
  (EV_ID INT,
   DESCRIPTION VARCHAR(240),
   START_DATE DATETIME,
   END_DATE DATETIME,
   ATTENDANCE_COST NUMERIC
  );
CREATE TABLE MEMBERS
  (MEM_ID INT,
   FIRST_NAME VARCHAR(80),
   LAST_NAME VARCHAR(80),
   EMAIL VARCHAR(240)
  );
  CREATE TABLE REGISTRATIONS
  (EV_ID INT,
   MEM_ID INT,
   REG_DATE DATETIME DEFAULT CURRENT_TIMESTAMP
  );

trình tự

Bạn không cần các trình tự trong MySQL, vì vậy bạn không cần phải bao gồm các trình tự này nếu bạn xuất cơ sở dữ liệu Oracle của mình bằng SQL Developer. Nếu bạn đang sử dụng trình kích hoạt hoàn toàn để tạo các giá trị khóa chính, bạn cũng có thể loại bỏ chúng

Hạn chế

Bản xuất SQL Developer thêm tất cả các ràng buộc dưới dạng các câu lệnh ALTER TABLE riêng lẻ, như thế này

--------------------------------------------------------
--  Constraints for Table EVENTS
--------------------------------------------------------
  ALTER TABLE "EVENTS" MODIFY ("EV_ID" NOT NULL ENABLE);
  ALTER TABLE "EVENTS" ADD CONSTRAINT "EVENTS_PK" PRIMARY KEY ("EV_ID")
    USING INDEX  ENABLE;
  ALTER TABLE "EVENTS" MODIFY ("DESCRIPTION" NOT NULL ENABLE);
  ALTER TABLE "EVENTS" ADD CONSTRAINT "EVENTS_DESCR_UK"
    UNIQUE ("DESCRIPTION") USING INDEX  ENABLE;

--------------------------------------------------------
--  Constraints for Table MEMBERS
--------------------------------------------------------
  ALTER TABLE "MEMBERS" MODIFY ("MEM_ID" NOT NULL ENABLE);
  ALTER TABLE "MEMBERS" MODIFY ("FIRST_NAME" NOT NULL ENABLE);
  ALTER TABLE "MEMBERS" MODIFY ("LAST_NAME" NOT NULL ENABLE);
  ALTER TABLE "MEMBERS" MODIFY ("EMAIL" NOT NULL ENABLE);
  ALTER TABLE "MEMBERS" ADD CONSTRAINT "MEMBERS_PK"
    PRIMARY KEY ("MEM_ID") USING INDEX  ENABLE;
  ALTER TABLE "MEMBERS" ADD CONSTRAINT "MEMBERS_EMAIL_UK"
  UNIQUE ("EMAIL") USING INDEX  ENABLE;

--------------------------------------------------------
--  Constraints for Table REGISTRATIONS
--------------------------------------------------------

  ALTER TABLE "REGISTRATIONS" MODIFY ("EV_ID" NOT NULL ENABLE);
  ALTER TABLE "REGISTRATIONS" MODIFY ("MEM_ID" NOT NULL ENABLE);
  ALTER TABLE "REGISTRATIONS" ADD CONSTRAINT "REGISTRATIONS_PK"
    PRIMARY KEY ("EV_ID", "MEM_ID") USING INDEX  ENABLE;

--------------------------------------------------------
--  Ref Constraints for Table REGISTRATIONS
--------------------------------------------------------
  ALTER TABLE "REGISTRATIONS" ADD CONSTRAINT "REG_EV_FK"
    FOREIGN KEY ("EV_ID") REFERENCES "EVENTS" ("EV_ID") ENABLE;
  ALTER TABLE "REGISTRATIONS" ADD CONSTRAINT "REG_MEM_FK"
    FOREIGN KEY ("MEM_ID") REFERENCES "MEMBERS" ("MEM_ID") ENABLE;

Trong MySQL, bạn cần xóa dấu ngoặc kép. Cú pháp cũng hơi khác một chút, không có dấu ngoặc đơn xung quanh thông số cột. Ngoài ra, MySQL yêu cầu bạn cung cấp đặc tả cột đầy đủ bao gồm kiểu dữ liệu cho mọi câu lệnh ALTER. Bạn phải tạo khóa chính của cột trước khi có thể thêm AUTO_INCREMENT. Trong MySQL, ở trên có thể trở thành

ALTER TABLE EVENTS MODIFY EV_ID INT NOT NULL;
ALTER TABLE EVENTS MODIFY DESCRIPTION VARCHAR(240) NOT NULL;
ALTER TABLE EVENTS ADD CONSTRAINT EVENTS_PK PRIMARY KEY (EV_ID);
ALTER TABLE EVENTS ADD CONSTRAINT EVENTS_DESCR_UK UNIQUE (DESCRIPTION);
ALTER TABLE EVENTS MODIFY EV_ID INT NOT NULL AUTO_INCREMENT;

ALTER TABLE MEMBERS MODIFY MEM_ID INT NOT NULL;
ALTER TABLE MEMBERS MODIFY FIRST_NAME VARCHAR(80) NOT NULL;
ALTER TABLE MEMBERS MODIFY LAST_NAME VARCHAR(80) NOT NULL ;
ALTER TABLE MEMBERS MODIFY EMAIL VARCHAR(240) NOT NULL;
ALTER TABLE MEMBERS ADD CONSTRAINT MEMBERS_PK PRIMARY KEY (MEM_ID);
ALTER TABLE MEMBERS ADD CONSTRAINT MEMBERS_EMAIL_UK UNIQUE (EMAIL);
ALTER TABLE MEMBERS MODIFY MEM_ID INT NOT NULL AUTO_INCREMENT;

ALTER TABLE REGISTRATIONS MODIFY EV_ID INT NOT NULL;
ALTER TABLE REGISTRATIONS MODIFY MEM_ID INT NOT NULL;
ALTER TABLE REGISTRATIONS ADD CONSTRAINT REGISTRATIONS_PK
    PRIMARY KEY (EV_ID, MEM_ID);
ALTER TABLE REGISTRATIONS ADD CONSTRAINT REG_EV_FK FOREIGN KEY (EV_ID)
    REFERENCES EVENTS (EV_ID);
ALTER TABLE REGISTRATIONS ADD CONSTRAINT REG_MEM_FK FOREIGN KEY (MEM_ID)
    REFERENCES MEMBERS (MEM_ID);

Lượt xem

Xuất chế độ xem mặc định từ Oracle qua SQL Developer trông như thế này

CREATE OR REPLACE EDITIONABLE VIEW "REG_EMAIL"
    ("EV_ID", "DESCRIPTION", "EMAIL")
AS
  select ev.ev_id, ev.description, mem.email
  from   events ev, members mem, registrations reg
  where  reg.ev_id = ev.EV_ID
  and    reg.mem_id = mem.mem_id;

Trong MySQL, không có TẠO HOẶC THAY THẾ, cũng như khái niệm có thể chỉnh sửa, do đó, MySQL tương đương trở thành

CREATE VIEW REG_EMAIL (EV_ID, DESCRIPTION, EMAIL)
AS
  select ev.ev_id, ev.description, mem.email
  from   events ev, members mem, registrations reg
  where  reg.ev_id = ev.EV_ID
  and    reg.mem_id = mem.mem_id;

Dữ liệu

Nhà phát triển SQL có thể xuất dữ liệu của bạn dưới dạng câu lệnh INSERT, như thế này

REM INSERTING into EVENTS
SET DEFINE OFF;
insert into EVENTS (EV_ID,DESCRIPTION,START_DATE,END_DATE)
values ('101','Oracle OpenWorld 2017',
        to_date('2017-10-01 00:00:00','YYYY-MM-DD HH24:MI:SS'),
        to_date('2017-10-05 00:00:00','YYYY-MM-DD HH24:MI:SS'));
insert into EVENTS (EV_ID,DESCRIPTION,START_DATE,END_DATE)
values ('102','Oracle Code London',
        to_date('2017-04-20 00:00:00','YYYY-MM-DD HH24:MI:SS'),null);
REM INSERTING into MEMBERS
SET DEFINE OFF;
insert into MEMBERS (MEM_ID,FIRST_NAME,LAST_NAME,EMAIL)
values ('1','Sten','Vesterli','[email protected]');
insert into MEMBERS (MEM_ID,FIRST_NAME,LAST_NAME,EMAIL)
values ('2','Larry','Ellison','[email protected]');

Nhà phát triển SQL thêm một số cú pháp SQL*Plus (REM và SET) mà bạn cần xóa. MySQL không có hàm TO_DATE, nhưng chấp nhận trực tiếp các giá trị DATETIME dưới dạng các chuỗi được trích dẫn ở định dạng tiêu chuẩn ISO. Trong MySQL, bạn chỉ cần một cái gì đó như thế này

insert into EVENTS (EV_ID,DESCRIPTION,START_DATE,END_DATE)
values ('101','Oracle OpenWorld 2017',
        '2017-10-01 00:00:00','2017-10-05 00:00:00');
insert into EVENTS (EV_ID,DESCRIPTION,START_DATE,END_DATE)
values ('102','Oracle Code London','2017-04-20 00:00:00',null);
insert into MEMBERS (MEM_ID,FIRST_NAME,LAST_NAME,EMAIL)
values ('1','Sten','Vesterli','[email protected]');
insert into MEMBERS (MEM_ID,FIRST_NAME,LAST_NAME,EMAIL)
values ('2','Larry','Ellison','[email protected]');

Gây nên

Quá trình xuất trình kích hoạt SQL Developer trông như thế này

________số 8_______

MySQL không có CREATE OR REPLACE hoặc EDITIONABLE và các khai báo phải được thực hiện riêng lẻ với DECLARE. Cú pháp đề cập đến bản ghi kích hoạt chỉ là MỚI trong MySQL, không phải. MỚI như trong Oracle. Bạn cũng cần đặt rõ ràng DELIMITER trong MySQL để thông báo khi mã kích hoạt hoàn tất. Lưu ý rằng các trình kích hoạt, chức năng và thủ tục của MySQL không được có tên như một phần của câu lệnh END cuối cùng

Trong ví dụ này, trình kích hoạt Oracle sử dụng UTL_MAIL, một trong nhiều phần mềm tích hợp sẵn không có sẵn trong MySQL. Bạn cần tìm một cách khác để triển khai loại chức năng này trong MySQL. MySQL tương đương của bạn có thể trông như thế này

DELIMITER //
CREATE TRIGGER REGISTRATIONS_AFT_INS_REC
AFTER INSERT ON REGISTRATIONS
FOR EACH ROW
BEGIN
DECLARE l_email varchar(240);
DECLARE  l_ev_desc varchar(240);
  select email
  into   l_email
  from   MEMBERS
  where  MEM_ID = new.mem_id;
  select description
  into   l_ev_desc
  from   EVENTS
  where  EV_ID = new.ev_id;
  -- send mail somehow
END;
//

Chức năng

Một hàm Oracle được xuất từ ​​​​SQL Developer trông như thế này

CREATE TABLE EVENTS
  (EV_ID INT,
   DESCRIPTION VARCHAR(240),
   START_DATE DATETIME,
   END_DATE DATETIME,
   ATTENDANCE_COST NUMERIC
  );
CREATE TABLE MEMBERS
  (MEM_ID INT,
   FIRST_NAME VARCHAR(80),
   LAST_NAME VARCHAR(80),
   EMAIL VARCHAR(240)
  );
  CREATE TABLE REGISTRATIONS
  (EV_ID INT,
   MEM_ID INT,
   REG_DATE DATETIME DEFAULT CURRENT_TIMESTAMP
  );
0

Trong MySQL với các từ khóa không liên quan đã bị xóa, khai báo rõ ràng và kiểu dữ liệu đã thay đổi, quy trình này có thể trông như thế này

CREATE TABLE EVENTS
  (EV_ID INT,
   DESCRIPTION VARCHAR(240),
   START_DATE DATETIME,
   END_DATE DATETIME,
   ATTENDANCE_COST NUMERIC
  );
CREATE TABLE MEMBERS
  (MEM_ID INT,
   FIRST_NAME VARCHAR(80),
   LAST_NAME VARCHAR(80),
   EMAIL VARCHAR(240)
  );
  CREATE TABLE REGISTRATIONS
  (EV_ID INT,
   MEM_ID INT,
   REG_DATE DATETIME DEFAULT CURRENT_TIMESTAMP
  );
1

thủ tục

Một ví dụ về thủ tục PL/SQL từ cơ sở dữ liệu Oracle có thể trông như thế này khi được xuất từ ​​SQL Developer

CREATE TABLE EVENTS
  (EV_ID INT,
   DESCRIPTION VARCHAR(240),
   START_DATE DATETIME,
   END_DATE DATETIME,
   ATTENDANCE_COST NUMERIC
  );
CREATE TABLE MEMBERS
  (MEM_ID INT,
   FIRST_NAME VARCHAR(80),
   LAST_NAME VARCHAR(80),
   EMAIL VARCHAR(240)
  );
  CREATE TABLE REGISTRATIONS
  (EV_ID INT,
   MEM_ID INT,
   REG_DATE DATETIME DEFAULT CURRENT_TIMESTAMP
  );
2

Trong MySQL, cú pháp tham số khác, với từ khóa IN hoặc OUT trước. Các ngoại lệ được khai báo với DECLARE … XỬ LÝ CHO – trong ví dụ dưới đây, mọi thứ trong khối BEGIN END bên dưới khai báo trình xử lý là trình xử lý cho điều kiện cụ thể KHÔNG TÌM THẤY. Trình xử lý có thể TIẾP TỤC như được hiển thị bên dưới hoặc EXIT để chấm dứt khối BEGIN END mà nó là một phần của. Trong MySQL, quy trình Oracle ở trên có thể trông như thế này

CREATE TABLE EVENTS
  (EV_ID INT,
   DESCRIPTION VARCHAR(240),
   START_DATE DATETIME,
   END_DATE DATETIME,
   ATTENDANCE_COST NUMERIC
  );
CREATE TABLE MEMBERS
  (MEM_ID INT,
   FIRST_NAME VARCHAR(80),
   LAST_NAME VARCHAR(80),
   EMAIL VARCHAR(240)
  );
  CREATE TABLE REGISTRATIONS
  (EV_ID INT,
   MEM_ID INT,
   REG_DATE DATETIME DEFAULT CURRENT_TIMESTAMP
  );
3

Phần kết luận

Không có chuyển đổi tự động dễ dàng từ Oracle sang MySQL

MySQL có các tính năng cơ bản tương đương với cơ sở dữ liệu Oracle, mặc dù cú pháp hơi khác đối với nhiều thứ. Cú pháp của các trình kích hoạt, chức năng và thủ tục hơi khác nhưng dễ điều chỉnh. Cú pháp cho các trình xử lý ngoại lệ khá khác nhau và chúng được đặt khác nhau trong mã, vì vậy sẽ cần suy nghĩ một chút để điều chỉnh chúng cho MySQL

Sự khác biệt lớn và yếu tố quyết định tiềm năng khi cân nhắc di chuyển là lượng PL/SQL trong ứng dụng của bạn. Việc thiếu nhiều gói tích hợp mạnh mẽ mà bạn tìm thấy trong Oracle và ngôn ngữ lập trình đơn giản hơn không có cấu trúc như vòng lặp FOR con trỏ có nghĩa là nếu bạn có nhiều PL/SQL, bạn sẽ phải đối mặt với một nhiệm vụ lớn khi chuyển sang MySQL.  

Thẻ. tiên tri

Làm cách nào để di chuyển thủ tục lưu sẵn của Oracle sang MySQL?

Được viết bởi

Sten Vesterli là Giám đốc ACE của Oracle và là nhà phát triển, tư vấn và huấn luyện viên chính chuyên về các công cụ và máy chủ của Oracle. Ông là tác giả của cuốn sách có tên "Oracle ADF Enterprise Application Development—Made Simple," do Packt Publishing xuất bản

Làm cách nào để chuyển đổi thủ tục lưu sẵn của Oracle sang MySQL?

Công cụ chuyển đổi SQL của SQLines cho phép bạn chuyển đổi lược đồ cơ sở dữ liệu (DDL), truy vấn và câu lệnh DML, chế độ xem, thủ tục được lưu trữ, chức năng và trình kích hoạt từ Oracle sang MySQL. Công cụ SQLines chuyển đổi các tập lệnh SQL và các câu lệnh SQL độc lập. Để di chuyển dữ liệu và lược đồ cơ sở dữ liệu từ cơ sở dữ liệu Oracle, hãy sử dụng công cụ Dữ liệu SQLines.

Làm cách nào để nhập tệp kết xuất Oracle trong MySQL?

Nhấp vào đây để tìm hiểu cách nhập tệp kết xuất vào cơ sở dữ liệu MySQL. .
yêu cầu quản trị viên Máy chủ ảo của bạn tạo cơ sở dữ liệu trống cho bạn
chạy OraDump-to-MySQL và chọn cơ sở dữ liệu này làm mục tiêu chuyển đổi
nhấp vào "Có" khi bạn sẽ được hỏi liệu bạn có muốn ghi đè lên cơ sở dữ liệu MySQL hiện có không

PL SQL có thể chạy MySQL không?

Mặc dù MySQL có các thành phần tương tự, nhưng không, bạn không thể sử dụng PL\SQL trong MySQL . Điều tương tự cũng xảy ra với T-SQL được sử dụng bởi MS SQL Server. MySQL có rất nhiều tài liệu về nó tại trang web của họ. Bạn sẽ thấy rằng cả PL\SQL và T-SQL đều hoàn thiện Turing và có thể cung cấp nhiều chức năng hơn một chút.

Bạn sẽ sử dụng dịch vụ cơ sở dữ liệu nào để di chuyển cơ sở dữ liệu từ Oracle sang MySQL?

Bạn có thể sử dụng Dịch vụ di chuyển cơ sở dữ liệu AWS (AWS DMS) để di chuyển dữ liệu của mình đến và từ các cơ sở dữ liệu nguồn mở và thương mại được sử dụng rộng rãi nhất .