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

Sao chép dữ liệu gia tăng trong IRI Workbench

Bài viết đầu tiên của chúng tôi về sao chép dữ liệu trong IRI Workbench GUI cho NextForm (phiên bản DB) hoặc Voracity đã trình bày cách sao chép và chuyển đổi dữ liệu khi nó di chuyển từ Oracle sang hai mục tiêu. Bài viết này chỉ ra cách đồng bộ hóa từng bước một bảng sản xuất và sao lưu trong các cơ sở dữ liệu riêng biệt.

Trong trường hợp này, cơ sở dữ liệu sản xuất là Oracle, cơ sở dữ liệu dự phòng là MySQL và bảng có tên SG_TRANSACTIONS trong cả hai. Có các hàng giao dịch chứa số tài khoản, loại giao dịch, ngày giao dịch và số tiền giao dịch với các tên cột ACCT_NUM, TRANSTYPE, TRANS_DATE và TRANS_AMOUNT.

Lưu ý rằng bạn cũng có thể tạo bảng bằng cách xác định và thực thi các câu lệnh trong tệp SQL trong IRI Workbench.

Chạy trình hướng dẫn

Có những trình hướng dẫn trong IRI Workbench có thể được sử dụng để tạo một tập lệnh công việc di chuyển sẽ sao chép các hàng từ bảng này sang bảng khác. Trong trường hợp này, chúng tôi sẽ sao chép dữ liệu từ bảng ORACLE SG_TRANSACTIONS vào bảng MySQL SG_TRANSACTIONS.

Trước đây tôi đã tạo bản sao dự án. Chúng ta nên nhấp vào thư mục đó trong Project Explorer để đánh dấu dự án trước khi chạy trình hướng dẫn. Điều này đảm bảo rằng trình hướng dẫn sẽ lưu tập lệnh công việc của tôi trong thư mục đó. Công việc sao chép của chúng tôi sẽ được tạo thông qua một trình hướng dẫn có sẵn từ Menu NextForm trên thanh công cụ.

Để chạy trình hướng dẫn, hãy nhấp vào mũi tên bên cạnh biểu tượng NextForm. Lưu ý rằng trong bài viết trước, chúng tôi đã sử dụng Công việc định dạng mới thuật sĩ vì một trong các mục tiêu đã được lọc, che dấu và định dạng lại. Vì trường hợp này là sao chép trực tiếp, chúng tôi sẽ sử dụng Công việc di chuyển nguồn duy nhất mới thay vào đó là thuật sĩ.

Trên màn hình đầu tiên của trình hướng dẫn có tên là Tệp đặc tả công việc , xác minh rằng Thư mục trường có Replication là giá trị (tên dự án). Trong Tên tệp trường, nhập tên của kịch bản công việc mà chúng tôi đang tạo; Tôi đã gọi nó là SG_Transaction_Transfer. Chọn Tạo tập lệnh nút radio, sau đó chọn Tiếp theo để chuyển đến Di chuyển một nguồn duy nhất cửa sổ.

Trong Thông tin nguồn , chọn Duyệt qua bên cạnh Nguồn đồng ruộng. Bây giờ chọn ODBC nút radio trong Nguồn dữ liệu và nhấp vào Duyệt qua nút.

Trong Lựa chọn Bảng ODBC cửa sổ, chọn DSN từ danh sách thả xuống; sau đó chọn Tên bảng, và nhấp vào OK . ODBC được sử dụng để kết nối với các bảng cơ sở dữ liệu nguồn và đích của chúng tôi khi di chuyển dữ liệu bằng cách sử dụng các tập lệnh công việc của chúng tôi. Nhấp vào OK một lần nữa để quay lại Di chuyển một nguồn duy nhất cửa sổ.


Duyệt qua hoặc Khám phá Siêu dữ liệu Nguồn của Bạn

Tất cả các chương trình IRI đều yêu cầu bố cục siêu dữ liệu cho các nguồn và mục tiêu dữ liệu của bạn ở định dạng tệp định nghĩa dữ liệu chuẩn (DDF). Các bố cục này thường được tạo một lần, được lưu trữ tập trung và được sử dụng làm tài liệu tham khảo cho các ánh xạ và mô hình của bạn.

Nếu tệp siêu dữ liệu đã được tạo, thì trong Thông tin nguồn , nhấp vào Duyệt qua bên cạnh Siêu dữ liệu đồng ruộng. Trong Siêu dữ liệu mở cửa sổ, chọn tệp siêu dữ liệu trong Các mục phù hợp hộp xác định các cột trong SG_TRANSACTIONS bàn. Sau đó nhấp vào OK để quay lại Di chuyển một nguồn cửa sổ.

Nếu bạn cần tạo tệp siêu dữ liệu ngay bây giờ, hãy chọn mục Khám phá cái nút. Điều này sẽ đưa bạn đến Thiết lập Tùy chọn cửa sổ. Xác minh rằng thư mục là / tên dự án của bạn /metadata. Trong Tên tệp , nhập tên cho tệp siêu dữ liệu và nhấp vào Tiếp theo . Trong Nhận dạng nguồn dữ liệu cửa sổ, xác minh rằng các trường được điền chính xác và nhấp vào Tiếp theo để chuyển đến Trình chỉnh sửa và Trình xem Dữ liệu Trường cửa sổ.

Nửa trên của cửa sổ có tên cột và mẫu bản ghi trong bảng, nếu có. Nửa dưới có trường Tên được sử dụng trong tập lệnh công việc, dữ liệu tương đương của IRI Loại cho cơ sở dữ liệu gốc Loại nguồn Vị trí theo thứ tự của trường (cột). Nhấp vào Kết thúc .


Bạn hiện đã quay lại Di chuyển một nguồn cửa sổ.

Xác định Mục tiêu

Trong Thông tin mục tiêu , chọn Duyệt qua bên cạnh trường cho Mục tiêu . Bây giờ, trong Mục tiêu dữ liệu cửa sổ, chọn ODBC nút radio và nhấp vào nút Duyệt qua bên cạnh ODBC đồng ruộng. Sau đó chọn đầu ra DSN Tên bảng (Twister MYSQL và SG_Transactions) trong Lựa chọn bảng ODBC cửa sổ. Đảm bảo chọn hộp cho Sao chép siêu dữ liệu từ nguồn . Nhấp vào OK, và nhấp vào OK một lần nữa.

Tất cả thông tin cần thiết hiện có trong Di chuyển một nguồn cửa sổ. Nhấp vào Kết thúc .


Tập lệnh ngôn ngữ điều khiển NextForm SG_Transaction_Transfer.ncl được tạo và có thể được xem trong trình soạn thảo văn bản nhận biết cú pháp, mã màu IRI Workbench.

Sao chép Bản ghi Mới

Tập lệnh này sẽ sao chép tất cả các hàng tồn tại trong SG_TRANSACTIONS bảng trong Oracle với cùng một bảng được đặt tên trong MySQL. Tuy nhiên, sau lần thực thi đầu tiên, chúng tôi chỉ muốn sao chép các hàng mới vào bảng sao lưu. Để thực hiện việc này, chúng ta cần thêm câu lệnh / QUERY vào phần đầu vào của tập lệnh công việc để chỉ những hàng mới nhất sẽ được xử lý bất cứ khi nào bạn chạy công việc (đặc biệt hoặc theo lịch trình).

Để sửa đổi tập lệnh từ trình soạn thảo IRI Workbench, hãy nhấp chuột phải vào phần nội dung của tập lệnh. Chọn IRI , sau đó Chỉnh sửa nguồn . Trong Nguồn dữ liệu cửa sổ hộp thoại, chọn Chỉnh sửa Tùy chọn Nguồn .

Ở cuối Tùy chọn nguồn cửa sổ là một Truy vấn đồng ruộng. Đây là nơi chúng tôi thêm câu lệnh truy vấn SQL sẽ chỉ chọn các hàng mới nhất từ ​​bảng Oracle. Chúng tôi sẽ giả định rằng đây là một quá trình cuối tháng. Câu lệnh QUERY bên dưới lọc các hàng trong khoảng thời gian một tháng, nhưng chúng tôi có thể chọn bất kỳ khoảng thời gian nào. Thay vì sử dụng các ngày cụ thể trong tập lệnh, chúng tôi cũng có thể sử dụng các biến môi trường để chỉ định khoảng thời gian.

select * from NIGHTLY.SG_TRANSACTIONS where to_char(TRANS_DATE, 'YYYY-MM-DD') > 
'2016-11-30' AND  (to_char(TRANS_DATE, 'YYYY-MM-DD') < '2017-01-01')"

Bây giờ hãy nhấp vào OK , sau đó Kết thúc để cập nhật và lưu tập lệnh công việc ban đầu do trình hướng dẫn tạo của chúng tôi với câu lệnh mới / QUERY bên trong:

Lần đầu tiên tập lệnh chạy, câu lệnh / QUERY nên được chú thích bởi vì chúng tôi muốn tất cả các bản ghi được sao chép. Sau đó, chúng tôi muốn chạy với câu lệnh / QUERY để sao chép các hàng từ một khoảng ngày chưa được sao chép vào bảng dự phòng.

Công việc này có thể chạy từ GUI hoặc dòng lệnh nơi phiên bản NextForm DB, Voracity hoặc CoSort (sortcl) được cấp phép.

Đây là mẫu các hàng trong bảng sản xuất:

Và đây là mẫu các hàng trong bảng sao lưu trước khi chạy bản sao lưu vào cuối tháng 12. Vì vậy, các hàng trong bảng này hiện chỉ đến cuối tháng 11.

Sau khi chạy công việc sao chép của chúng tôi với câu lệnh / QUERY trong đó, chỉ các bản ghi tháng 12 mới được thêm vào bảng sao lưu. Lưu ý rằng có một bản ghi tháng 1 trong bảng sản xuất, nhưng bản ghi này chưa được sao chép vào bảng dự phòng vì giá trị ngày cho hàng đó nằm ngoài phạm vi đã chỉ định của chúng tôi.

Cũng có thể thêm các chức năng tạo mặt nạ cấp cột cho từng mục tiêu, như công việc dưới đây cho thấy:

Xem ví dụ này về sao chép giữa Oracle và MongoDB. Để được trợ giúp sao chép dữ liệu một lần hoặc định kỳ, hãy gửi email tới [email protected].


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kế hoạch truy vấn có thể cho biết điều gì?

  2. Mở rộng việc sử dụng DBCC CLONEDATABASE

  3. Các công cụ trực tuyến để thử thiết kế và truy vấn SQL

  4. Cách cài đặt pgAdmin 4 trên Ubuntu 20.04 / 18.04 / 16.04

  5. SCD loại 1