2009-08-18 44 views
7

Một số công cụ (thương mại hoặc OSS) cung cấp cơ chế dựa trên GUI để tạo tập lệnh nâng cấp lược đồ là gì? Để rõ ràng, đây là trách nhiệm của công cụ:Công cụ di chuyển lược đồ tự động Oracle

  • Nhận kết nối với phiên bản giản đồ gần đây (được gọi là "nguồn").
  • Nhận kết nối với phiên bản lược đồ trước đó (được gọi là "đích").
  • So sánh tất cả các đối tượng lược đồ giữa nguồn và đích.
  • Tạo tập lệnh để làm cho giản đồ đích tương đương với lược đồ nguồn ("tập lệnh nâng cấp").
  • Tạo tập lệnh rollback để hoàn nguyên lược đồ nguồn, được sử dụng nếu tập lệnh nâng cấp không thành công (tại bất kỳ thời điểm nào).
  • Tạo các tệp riêng lẻ cho các đối tượng lược đồ.

Phần mềm này phải:

  • Sử dụng ALTER TABLE thay vì thả và CREATE cho cột đổi tên.
  • Làm việc với Oracle 10g trở lên.
  • Tạo tập lệnh có thể được thực hiện theo lô (thông qua dòng lệnh).
  • Quy trình cài đặt không đáng kể.
  • (Tiền thưởng) Tạo các tập lệnh có thể được thực hiện với SQL * Plus.

Dưới đây là một số ví dụ (từ StackOverflow, ServerFault, và tìm kiếm của Google):

phần mềm không đáp ứng các tiêu chuẩn, hoặc không thể được đánh giá , bao gồm:

  • TOAD
  • PL/SQL Developer - Các câu lệnh SQL * Plus không hợp lệ. Không tạo báo cáo ALTER.
  • SQL Fairy - Không có trình cài đặt. Quá trình cài đặt phức tạp. Tài liệu kém.
  • - Đánh giá bộ dữ liệu bị tê liệt, hỗ trợ khách hàng kém.
  • OrbitDB - Đánh giá bộ dữ liệu bị tê liệt.
  • SchemaCrawler - Không có phiên bản tải xuống dễ nhận dạng cho cơ sở dữ liệu Oracle.
  • SQL Compare - Máy chủ SQL, không phải Oracle.
  • LiquiBase - Yêu cầu thay đổi quy trình phát triển. Không có trình cài đặt. Chỉnh sửa tệp cấu hình theo cách thủ công. Không nhận ra tham số baseUrl của chính nó.

Việc làm tê liệt chỉ chấp nhận được của phiên bản đánh giá là theo thời gian. Làm tê liệt bằng cách hạn chế số lượng bảng và chế độ xem ẩn các lỗi có thể chỉ hiển thị trong phần mềm trong khi cố gắng di chuyển hàng trăm bảng và chế độ xem.

Trả lời

5

So sánh lược đồ cho Oracle phải đáp ứng các yêu cầu của bạn. Điều này có thể được tải về ở đây:

http://www.red-gate.com/products/schema_compare_for_oracle/index.htm

+0

Tôi nghĩ Cổng Đỏ là một sản phẩm tốt. Nó sẽ được tốt đẹp để xem điều này hoàn thành trong rút ngắn tuổi thọ từ phá vỡ lược đồ. – burtlo

2

Tôi không nghĩ rằng SQLDeveloper là con đường để đi. Nó là tuyệt vời cho việc di chuyển giữa các cơ sở dữ liệu khác nhau, không phải là những thay đổi gia tăng đối với một mô hình dữ liệu.

0

Toad cho Oracle với các module DBA làm tất cả những điều này khá độc đáo với ngoại lệ của kịch bản rollback.

0

cx_OracleTools

Nếu bạn không nhớ các công cụ dòng lệnh định hướng gói mã nguồn mở này sẽ làm những gì bạn yêu cầu, với ngoại lệ của tạo kịch bản rollback.

ExportObjects [tùy chọn]

xuất khẩu tất cả các đối tượng trong một sơ đồ như là một tập các thư mục được đặt theo tên loại đối tượng chứa một tập hợp các tập tin có tên sau khi các đối tượng chính nó.

GeneratePatch [tùy chọn] FROMDIR TODIR

Tạo một bản vá cho sự khác biệt về các đối tượng trong hai thư mục (có thể đã được tạo ra với ExportObjects) và đảm bảo rằng các kịch bản vá có thể được thực thi mà không sợ gặp lỗi vì phụ thuộc giữa các đối tượng .

http://cx-oracletools.sourceforge.net/

+0

Không phải là một dự án OSS đang hoạt động. Rất có thể là lỗi. 2006 là một vài năm trước đây. –

+0

@Dave, Nó không phải là lỗi, nó chỉ hoàn thành và ổn định. ;-) Chúng tôi sử dụng nó trong sản xuất mỗi ngày. –

Các vấn đề liên quan