과거에 SQL Server를 많이 사용 해본 결과, 오라클이 동일한 작업을 수행함에 따라 오라클이 구성하는 방식을 파악하는 데 동감했습니다. 아래의 내 의견은 SQL Server 2000 및 2003에서 발생하므로 사안이 변경되면 용서해주십시오.
이전의 응답자가 도움이되었습니다. 여기에 하나의 문제가있는 가정은 SQL Server와 Oracle간에 정확한 '수준'동등성이 있다는 것입니다. 제가 "레벨"이란 의미는 위에서 다이어그램으로 작성한 계층 구조에서 동일한 공간을 차지하는 것입니다 (그리고 btw는 시작하기에 좋은 장소라고 생각하지만 몇 곳에서 약간의 편집이 필요할 수도 있습니다. 예를 들어 오라클 계층 구조에서 "사용자"와 "스키마"를 어떻게 다이어그램으로 만들었습니까? 필자는 이러한 개념을 "DB 플랫폼"과 정확히 일치시키지 않습니다.
Oracle의 스키마는 SQL Server의 별도 데이터베이스와 다소 비슷하지만 완전히는 아닙니다.
"벽"- 정확한 기술 용어는 아니지만 SQL 서버의 데이터베이스 사이는 오라클의 스키마 간 "벽"보다 약간 높습니다. 다른 사람들은 동의하지 않을 수 있지만 여기에는 내 추론이 있습니다.
a. Oracle의 스키마는 순전히 논리적 인 구조입니다. 그것은 누가 객체의 소유권을 가지고 있는지 나타냅니다. 객체의 물리적 위치 또는 레이아웃과는 아무런 관련이 없습니다. 이전 포스터에서 설명한 것처럼 테이블 공간 (직사각형 개념)은 실제 개체의 위치를 나타냅니다. 테이블 공간은 여러 스키마에있는 오브젝트를 보유 할 수 있으며 그 반대의 경우도 가능합니다. SQL Server에서 이러한 두 가지 개념은 일종의 병합입니다. 데이터베이스는 SQL Server의 DB 내에서 어떤면에서 다양한 개체 소유권을 가진 여러 가지 소유자가 있지만 테이블 스페이스와 스키마 둘 다 더 많거나 적습니다. NT 인증을 사용하지 않는다면 (몇 년이 지났음) 사용자가 서버 수준에서 정의 된 다음 개별 DB의 사용자와 "연결"해야한다는 것을 기억하기 때문에 다소 혼란 스러울 수 있습니다.
b. SQL Server에서 두 개의 개별 DB를 사용하는 사용자가 Oracle에서 찾은 것보다 상대적인 다른 사용자의 DB에 액세스 할 수 없다는 것을 확신하는 것이 더 쉽거나 더 간단하다는 것을 기억합니다.
c. SQL Server의 DB는 물리적 저장소와 논리적 소유권을 모두 나타 내기 때문에 DB를 분리하고 다른 SQL Server 인스턴스로 이동하여 연결할 수 있습니다. 오라클의 스키마에서는이를 수행 할 수 없습니다. 내 말은, 당신은 데이터를 백업하거나 다른 서버와 다른 스키마로 데이터를 백업하거나 백업 할 수 있지만, 적어도 모든 스크립팅은 물론 적어도 Enterprise Manager에서의 클릭의 정도는 중요합니다. 한 번 클릭으로 SQL Server에있는 "Detach DB"옵션을 제공하지 않으므로 SQL Server 데이터베이스가 더 많이 또는 덜 이동할 수 있다는 생각을 쉽게 할 수 있습니다. 데이터베이스.
두 가지를 요약하면 어느 옵션이든 작동한다고 생각합니다. 즉, 1) 각 응용 프로그램마다 각 인스턴스에 하나의 스키마가있는 두 개의 Oracle 인스턴스를 작성하거나, 또는 2) 하나의 Oracle 인스턴스에 두 개의 개별 스키마를 작성하십시오.
각 옵션마다 장단점이 있습니다. 옵션 1은 설정 및 구성에 더 많은 노력을 기울일 것이지만 각 DB에 대해 분리, 독립성, 개별 하드웨어를 가질 수있는 능력 등을 제공합니다. 옵션 2는 훨씬 간단하지만 데이터와 구성상의 실수 또는 다른 스키마에 대한 사용자가 다른 스키마에 액세스 할 수있게하는 다른 위험 요소 사이의 구분을 덜어줍니다. 또한 한 스키마에서 데이터에 액세스하는 쿼리를 작성하는 사람이 모든 CPU 및 IO 리소스를 사용하지 않고 다른 스키마에서 사용자를 굶주 리지 않도록 조심해야한다는 것을 의미합니다.
또한 예, 12c에서 플러그 가능 데이터베이스를 사용할 수 있습니다.그러나 당신이이 질문을해야한다는 사실을 감안할 때 (당신이있는 곳을 지적하면서 부끄러움을 느끼지 않으면), 나는 더 복잡한 설정이 될 수있는 것을 추천하는 것을 주저하게 만듭니다.
TL; DR - SQL Server는 Oracle이 아니며 Oracle은 SQL Server가 아닙니다. 어느 것이 든 선택권이 작동하고 거기에 찬부 양론이 각각있다.
oracle에서는 동일한 데이터베이스에 두 개의 스키마를 만들 수 있습니다 (각 응용 프로그램마다 하나씩). –