SQL Server DBA에서 Oracle로 전환하는 방법은 무엇입니까?


30

흥미롭게도, SQL Server DBA에서 Oracle로 전환하려면 주요 학습 또는 비 학습은 어떻게됩니까?

나는 개념이 같고 그 차이가 단지 프로그래밍 언어라고 가정하지만 다른 쪽면을 보지 못했습니다.



1
약간의 유머 (OT는 미안하지만), 만났습니까? dba.stackexchange.com/questions/16884/…
— booyaa

답변:


40

Oracle과 SQL Server에는 여러 가지 아키텍처와 관용적 인 차이점이 있으며 문서에서 몇 가지 핵심 용어가 다르게 사용됩니다. 이 작업을 수행 한 지 몇 년이 지났지 만 몇 가지 주요 관용적 차이점은 다음과 같습니다.

  • 오라클은 tempdb와 직접적인 관련이 없습니다. 전역 임시 테이블은 영구 엔터티이므로 SQL Server의 임시 테이블에서와 마찬가지로 즉시 만들지 않습니다.

  • 관용 PL / SQL은 관용 T-SQL보다 훨씬 절차 적입니다. 반면 PL / SQL에는 병렬 루프 구문을 포함하여 빠른 커서 작동을 지원하는 기능이 있습니다. 종종 중간 커서 결과는 SQL Server에서 임시 테이블을 사용하는 정렬 방식과 유사한 방식으로 사용됩니다. '%'를 사용하여 커서 변수 유형에서 다형성을 얻는 방법을 찾으십시오.

  • SQL * Plus는 SQLCMD와 유사한 명령 줄 도구입니다. 바닐라 설치에서는 사용 가능한 모든 것일 수 있습니다. SSMS와 같은 GUI 도구를 원한다면 SQL Developer 또는 TOAD와 같은 타사 도구를 얻을 수 있습니다. TOAD는 꽤 비싸다.

  • 롤백 세그먼트 (Oracle의 MVCC에서 사용)의 역할과 '스냅 샷이 너무 오래된'오류의 기쁨에 대해 알아보십시오.

  • 가능하면 metalink 계정을 만드십시오.

  • 개념 안내서를 읽으십시오. 유용한 스타터 정보가 많이 있습니다.

  • 테이블 스페이스는 파일 그룹과 거의 같습니다.

  • PL / SQL에 포함 된 SQL과 SQL 언어는 Oracle에서 완전히 동일하지 않습니다.

  • 오라클은 최근까지 재귀 CTE를 지원하지 않았습니다. CONNECT BY를 사용하여 재귀 쿼리를 수행 할 수 있습니다.

  • RMAN에 대한 문서를 읽고 백업 방법을 확인하십시오. 차등 백업을 하나의 복원 가능한 백업으로 병합하는 등 몇 가지 깔끔한 트릭을 수행 할 수 있습니다.

  • 시스템 데이터 사전에는 'ALL', 'USER'및 'DBA'버전의 테이블이 있습니다. 'USER_ '는 로그인이 소유 한 객체를 보여줍니다. 'ALL_ '은 로그인이 읽을 수있는 모든 객체를 표시합니다. 'DBA_ *'는 글로벌 뷰이지만이를 보려면 적절한 권한이 있어야합니다. 아마도 SQL Server보다 Oracle에서 데이터 사전을 더 많이 사용할 것이므로 알 수 있습니다.

  • Oracle에서는 클러스터 된 테이블을 '인덱스 순서 테이블'이라고합니다. Oracle의 '클러스터 된 테이블'은 매우 다른 기능을 나타냅니다. Oracle에서 클러스터 테이블은 공통 키를 기반으로 마스터 / 세부 테이블의 물리적 스토리지를 제공 할 수있는 기능입니다. 이 기능은 널리 사용되지 않습니다.

  • Oracle에서는 인덱싱 된 뷰를 '구체화 된 뷰'라고합니다. 그들은 자신의 질문을 할만한 충분한 뉘앙스를 가지고 다소 다르게 작동합니다.

  • Oracle에는 SQL Server의 '데이터베이스'와 동등한 개념이 없습니다. Oracle에서 스키마는 일부 데이터베이스 객체의 소유자 일뿐입니다.

  • PL / SQL에는 'packages'라는 명시 적 모듈 구조가 있습니다.

  • 식별 컬럼 대신 시퀀스 사용을보십시오.

  • 이전 버전의 Oracle (10g 이전)에서는 쿼리 계획을 얻는 것이 약간 더 복잡합니다. 계획을 덤프 할 테이블 (올바른 형식의)을 작성한 다음 쿼리 계획을 가져 오려면 테이블에 쿼리를 'EXPLAIN PLAN'해야합니다. 그런 다음 테이블에서 쿼리 계획을 다시 가져올 수 있습니다. 모두와 그들의 개는 좋아하는 쿼리 계획 쿼리를 가지고 있습니다. 구글 검색을하고 하나를 찾은 다음 맛을 내기 위해 frig. 10g 는 쿼리 계획 작업을 단순화하는 dbms_xplan 이라는 패키지를 추가했습니다 .

  • 유닉스 나 리눅스 호스트에서 Oracle을 실행하고 있다면 쉘 스크립팅에 대한 실무 지식이 나쁘지 않습니다.

  • Oracle은 자율 트랜잭션을 지원합니다. 내부 자율 트랜잭션을 커밋하고 부모가 롤백하면 커밋 된 상태를 유지할 수 있습니다. SQL Server 중첩 트랜잭션은 실제 중첩 트랜잭션이 아니며 의미가 다릅니다. 독립 연결을 열고이를 통해 자율 작업을 수행하여 SQL Server의 CLR 저장 프로 시저를 사용하여이 동작을 에뮬레이션 할 수 있습니다.

오라클은 OLAP 서버, 리포팅 툴 및 ETL 툴링을 판매하지만 BI 툴링은 기본적으로 제공되지 않습니다.

  • Oracle 은 bcp와 기능이 유사한 SQL * Loader 라는 벌크로드 도구를 번들로 제공합니다 .

  • SSIS와 가장 유사한 것은 OWB ( Oracle Warehouse Builder )이지만 이것은 별도의 항목이며 기본 시스템과 함께 제공되지 않습니다.

  • Oracle은 Oracle Reports 라는보고 도구를 만들지 만 기본 시스템과 함께 제공되지는 않습니다. 이는 Reporting Services와 가장 가까운 것입니다.

  • 또한 Oracle은 Discoverer 라는 ROLAP 도구를 만듭니다 . Oracle이 생산하는 Report Builder와 가장 가까운 제품입니다. 최신 버전 ( 'Drake')은 Oracle OLAP 엔진을 지원합니다.

  • 오라클은 Express 라는 OLAP 제품을 가지고 있었습니다. 언젠가는 핵심 Oracle DBMS 엔진에 내장하여 기본 데이터 구조를 불투명 한 얼룩에 저장했습니다. Express와 완전히 호환되지 않으며 타사 OLAP 프런트 엔드 도구의 지원이 거의없는 독점적 인터페이스가 있습니다.

  • Oracle BI Enterprise Edition 은 Siebel Analytics였습니다. 여기에는 OLAP 기능이 있지만 익숙하지 않습니다. 아마 그것을 사용한 사람이 댓글을 달고 싶을 수도 있습니다. Siebel이 자체 BI 툴링과 완전히 분리 된 제품이라는 것을 직접 인정하지 않고 Oracle은 Oracle BI Standard Edition에서 Enterprise Edition으로의 '업그레이드 경로가 없다'고 말했습니다. Standard 및 Enterprise BI 제품군은 별도의 제품이며 기본 시스템과 번들로 제공되지 않습니다.

  • 실제로 Oracle이 판매 한 SSAS와 가장 가까운 것은 Essbase (이전의 Hyperion)입니다. 이 제품은 별도의 제품이며 기본 시스템과 함께 제공되지 않습니다.

당연히 오라클의 BI 전략은 업계 전문가들에 의해 개 아침 식사의 일부로 간주됩니다 .

OTOH를 생각할 수없는 다른 것들이있을 것입니다. 내가 생각하는대로 추가하겠습니다.


1
와우 이것은 내가 찾던 것에 매우 가깝습니다. 좋은 정보! Oracle에는 자동화 된 SQL 서버 유형 작업이 있습니다. Oracle의 SSIS와 동등한 것이 있습니까?
— darwindeeds

1
Oracle에서 SSIS에 가장 가까운 것은 Oracle Warehouse Builder (OWB)이지만 기본 시스템과 함께 제공되지는 않습니다. 별도로 구매해야합니다. bcp와 비슷한 SQL * Loader라는 벌크로드 도구가 있습니다.
— ConcernedOfTunbridgeWells

6
이 목록에 추가 할 사항 : Oracle 리더에서는 작성자를 절대로 차단하지 않으며 작성자는 독자를 절대로 차단하지 않습니다. 내 이해는 SQL Server의 기본 설치에서 여전히 다르다는 것입니다. 오라클은 커밋되지 않은 데이터를 읽을 수 없습니다. 오라클에서는 임시 테이블을 거의 사용하지 않습니다. 하나의 큰 문장으로 모든 것을 수행하는 것이 훨씬 빠릅니다. 커밋이 빈번하면 대량로드 속도가 느려집니다. 이상적으로는 모든 것이 완료되면 단일 커밋을 발행해야합니다.
— a_horse_with_no_name

1
@a_horse_with_no_name 당신의 이해 가 정확합니다
— Jack Douglas


10

우리는 Oracle 및 SQL Server와 함께 일하며 DBA 책임자 인 Michelle Malcher는 이러한 전환에 대해 동료를 지원합니다. 이 경험을 바탕으로 "Microsoft SQL Server DBA 용 Oracle 데이터베이스 관리 (Oracle Press)"라는 제목의 책을 ​​썼습니다. 나는이 책을 좋아했다.

동료가 책을 추천하는 것이이 사이트에 적합한 지 잘 모르겠습니다. 나는 Michelle에게보고하지 않고 개발자 팀을 이끌고 있습니다.


2
meta.stackoverflow.com에서 자체 프로모션에 관한 대화에 참여하고 자체 프로모션 주변의 회색 영역이 문제와 관련이 있으면 괜찮다고 답했습니다. Jeff Atwood가 동의했습니다.
— ConcernedOfTunbridgeWells

2
저는 Michelle과 함께 일하지 않지만이 책을 많이 좋아했습니다. 필자는 표준 Oracle DBA 서적을 읽는 것보다 SQL Server 아키텍처와 Oracle의 아키텍처를 비교하는 방법을 실제로 설명했습니다.
— RK Kuppala
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.