Làm cách nào để thực hiện chuyển đổi từ SQL Server DBA sang Oracle?


30

Như một mối quan tâm, nếu tôi chuyển từ DBA của SQL Server sang Oracle thì việc học hoặc bỏ học chính mà tôi sẽ phải làm là gì?

Tôi sẽ cho rằng các khái niệm là như nhau và sự khác biệt chỉ là ngôn ngữ lập trình nhưng tôi chưa thấy phía bên kia của cánh cửa.



1
một chút hài hước (xin lỗi nếu OT), bạn đã gặp chưa? dba.stackexchange.com/questions/16884/ từ
booyaa

Câu trả lời:


40

Oracle và SQL Server có một số khác biệt về kiến ​​trúc và thành ngữ và một số thuật ngữ chính được sử dụng khác nhau trong tài liệu. Đã vài năm kể từ khi tôi làm điều này, nhưng một số khác biệt lớn về thành ngữ là:

  • Oracle không có tương đương trực tiếp với tempdb. Các bảng tạm thời toàn cầu là các thực thể liên tục và bạn không tạo chúng nhanh chóng như với bảng tạm thời trong SQL Server.

  • Thành ngữ PL / SQL mang tính thủ tục hơn nhiều so với T-SQL thành ngữ. Mặt khác, PL / SQL có các tính năng để hỗ trợ các con trỏ nhanh bao gồm các cấu trúc vòng lặp song song. Thông thường, kết quả con trỏ trung gian được sử dụng theo những cách tương tự như những thứ sắp xếp mà người ta sẽ sử dụng bảng tạm thời cho SQL Server. Tra cứu cách sử dụng '%' để có được một số đa hình trong các loại biến con trỏ.

  • SQL * Plus là một công cụ dòng lệnh tương tự như SQLCMD. Khi cài đặt vanilla, nó có thể là tất cả những gì bạn có sẵn. Nếu bạn muốn có một công cụ GUI như SSMS, bạn có thể nhận SQL Developer hoặc các công cụ của bên thứ ba như TOAD. TOAD khá đắt.

  • Tìm hiểu vai trò của các phân đoạn rollback (được sử dụng trong MVCC của Oracle) và niềm vui của lỗi 'snapshot quá cũ'.

  • Nhận một tài khoản metalink nếu có thể.

  • Đọc hướng dẫn khái niệm. Nó có rất nhiều thông tin khởi đầu hữu ích.

  • Các không gian bảng gần tương đương với các nhóm fileg.

  • SQL và phương ngữ SQL được nhúng trong PL / SQL không hoàn toàn giống nhau trong Oracle.

  • Oracle đã không hỗ trợ CTE đệ quy cho đến gần đây. Bạn có thể thực hiện các truy vấn đệ quy với CONNECT BY.

  • Đọc tài liệu cho RMAN để xem cách thực hiện sao lưu. Bạn có thể thực hiện một vài thủ thuật gọn gàng như hợp nhất các bản sao lưu vi sai thành một bản sao lưu đáng nhớ duy nhất.

  • Từ điển dữ liệu hệ thống có các phiên bản 'TẤT CẢ', 'NGƯỜI DÙNG' và 'DBA'. 'USER_ ' hiển thị các đối tượng thuộc sở hữu của thông tin đăng nhập. 'ALL_ ' hiển thị tất cả các đối tượng mà thông tin đăng nhập có thể đọc. 'DBA_ *' là chế độ xem toàn cầu, nhưng bạn phải có quyền phù hợp để thấy điều đó. Bạn có thể sẽ sử dụng từ điển dữ liệu nhiều hơn với Oracle so với SQL Server, vì vậy hãy tìm hiểu nó.

  • Các bảng được nhóm được gọi là 'bảng theo thứ tự chỉ mục' trong Oracle. 'Bảng Clustereed' trong Oracle đề cập đến một tính năng rất khác. Trong Oracle, một bảng được nhóm là một phương tiện cho phép lưu trữ vật lý các bảng chính / chi tiết được đưa vào dựa trên một khóa chung. Tính năng này không được sử dụng rộng rãi.

  • Các khung nhìn được lập chỉ mục được gọi là 'các khung nhìn cụ thể hóa' trong Oracle. Họ làm việc hơi khác nhau, với đủ sắc thái để xứng đáng với câu hỏi của riêng họ.

  • Oracle không có khái niệm tương đương với 'cơ sở dữ liệu' trong SQL Server. Trong Oracle, một lược đồ chỉ là chủ sở hữu của một số đối tượng cơ sở dữ liệu.

  • PL / SQL có cấu trúc mô đun rõ ràng được gọi là 'gói'.

  • Nhìn vào việc sử dụng trình tự thay vì các cột danh tính.

  • Nhận một kế hoạch truy vấn là một chút sớm hơn trong các phiên bản cũ hơn của Oracle (trước 10g). Bạn phải tạo một bảng (có định dạng đúng) để kết xuất kế hoạch, sau đó 'GIẢI THÍCH KẾ HOẠCH' truy vấn vào bảng để có được kế hoạch truy vấn. Sau đó, bạn có thể lấy lại kế hoạch truy vấn ra khỏi bảng. Mọi người và con chó của họ có truy vấn kế hoạch truy vấn yêu thích. Thực hiện tìm kiếm google và tìm thấy một, sau đó frig nó để hương vị. 10g đã thêm một gói có tên dbms_xplan , giúp đơn giản hóa việc làm việc với các gói truy vấn.

  • Nếu bạn đang chạy Oracle trên máy chủ unix hoặc linux, có kiến ​​thức làm việc về kịch bản shell sẽ không bị tổn thương.

  • Oracle có hỗ trợ cho các giao dịch tự trị - bạn có thể thực hiện một giao dịch tự trị bên trong và hy vọng nó sẽ được cam kết nếu cha mẹ quay trở lại. Các giao dịch lồng nhau của SQL Server không phải là các giao dịch lồng nhau thực sự và có các ngữ nghĩa khác nhau. Bạn có thể mô phỏng hành vi này với thủ tục lưu sẵn CLR trong SQL Server bằng cách mở một kết nối độc lập và thực hiện thao tác tự trị thông qua đó.

Oracle đi kèm với ít công cụ BI hơn, mặc dù Oracle bán máy chủ OLAP, công cụ báo cáo và công cụ ETL.

  • Oracle gói một công cụ tải hàng loạt có tên SQL * Loader có chức năng tương tự như bcp.

  • Tương đương gần nhất với SSIS là Oracle Warehouse Builder (OWB), nhưng đây là một mục riêng biệt và không đi kèm với hệ thống cơ sở.

  • Oracle tạo ra một công cụ báo cáo có tên là Báo cáo Oracle , nhưng điều này cũng không đi kèm với hệ thống cơ sở. Đây là tương đương gần nhất với Dịch vụ báo cáo.

  • Oracle cũng tạo ra một công cụ ROLAP có tên Discoverer . Đây là sản phẩm gần nhất với Trình tạo báo cáo mà Oracle sản xuất. Các phiên bản gần đây hơn ('Drake') có hỗ trợ cho công cụ OLAP của Oracle.

  • Oracle đã từng có một sản phẩm OLAP có tên Express. Tại một thời điểm, họ đã xây dựng nó vào công cụ Oracle DBMS cốt lõi, lưu trữ các cấu trúc dữ liệu nguyên gốc của nó trong các đốm mờ. Nó không hoàn toàn tương thích với Express và có giao diện đơn giản với rất ít sự hỗ trợ từ các công cụ ngoại vi OLAP của bên thứ ba.

  • Phiên bản Oracle BI Enterprise là những gì từng là Siebel Analytics. Cái này có một số chức năng OLAP nhưng tôi không quen với nó. Có lẽ ai đó đã sử dụng nó có thể muốn bình luận. Không trực tiếp thừa nhận rằng Siebel là một sản phẩm hoàn toàn tách biệt với công cụ BI của riêng mình, Oracle tuyên bố rằng "không có con đường nâng cấp" từ phiên bản Oracle BI Standard Edition sang Enterprise Edition. Lưu ý rằng cả bộ Standard và Enterprise BI đều là các sản phẩm riêng biệt và không đi kèm với hệ thống cơ sở.

  • Trong thực tế, thứ gần nhất với SSAS được bán bởi Oracle là Essbase (trước đây là Hyperion). Đây là một sản phẩm riêng biệt và không đi kèm với hệ thống cơ sở.

Không có gì đáng ngạc nhiên, chiến lược BI của Oracle được các chuyên gia trong ngành xem là bữa sáng của một chú chó.

Có lẽ có những điều khác mà tôi không thể nghĩ về OTOH; Tôi sẽ thêm chúng khi tôi nghĩ về chúng.


1
Wow điều này rất gần với những gì tôi đang tìm kiếm. Thông tin tuyệt vời! Tôi đọc rằng Oracle có các công việc loại máy chủ SQL có thể được chạy tự động. Bất cứ điều gì tương đương với SSIS trong Oracle?
darwindeed

1
Thứ gần nhất với SSIS trong Oracle là Oracle Warehouse Builder (OWB) nhưng nó không đi kèm với hệ thống cơ sở. Bạn phải mua riêng nó. Có một công cụ tải số lượng lớn tương tự như bcp được gọi là SQL * Loader.
Mối quan tâmOfTunbridgeWells

6
Những điều tôi sẽ thêm vào danh sách này: trong Oracle độc ​​giả không bao giờ chặn các nhà văn và nhà văn không bao giờ chặn độc giả. Tôi hiểu rằng điều này vẫn khác trong cài đặt mặc định trong SQL Server. Oracle không bao giờ cho phép đọc dữ liệu không được cam kết. Bạn hầu như không sử dụng các bảng tạm thời trong Oracle - thực hiện mọi thứ trong một tuyên bố lớn thường rất nhanh hơn rất nhiều. Cam kết thường xuyên sẽ làm chậm tải số lượng lớn. Lý tưởng nhất là chỉ nên đưa ra một cam kết duy nhất sau khi mọi thứ được thực hiện.
a_horse_with_no_name

1
@a_horse_with_no_name sự hiểu biết của bạn là chính xác
Jack Douglas


10

Chúng tôi làm việc với cả Oracle và SQL Server và lãnh đạo DBA của chúng tôi, Michelle Malcher, thường xuyên giúp đỡ đồng nghiệp với quá trình chuyển đổi này. Dựa trên kinh nghiệm này, cô đã viết một cuốn sách có tên "Quản trị cơ sở dữ liệu Oracle cho các DBA của Microsoft SQL Server (Báo chí Oracle)". Tôi thích cuốn sách này.

Tôi không chắc chắn nếu giới thiệu một cuốn sách của đồng nghiệp là phù hợp cho trang web này. Tôi không báo cáo với Michelle, tôi lãnh đạo một nhóm các nhà phát triển.


2
Tôi nhớ tham gia vào một cuộc trò chuyện về tự quảng cáo trên meta.stackoverflow.com và trả lời rằng khu vực màu xám xung quanh tự quảng cáo là ổn nếu nó có liên quan đến câu hỏi. Jeff Atwood đồng ý.
Mối quan tâmOfTunbridgeWells

2
Tôi không làm việc với Michelle, nhưng tôi thích cuốn sách này rất nhiều. Tôi thực sự tìm thấy cách giải thích này - so sánh kiến ​​trúc SQL Server với kiến ​​trúc của Oracle thú vị hơn là nói, đọc một cuốn sách DBA tiêu chuẩn của Oracle.
RK Kuppala
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.