Oracle과 SQL Server의 가장 큰 차이점은 SQL Server는 Instance 하나를 여러개의 DB들이 공유 할 수 있다는 점이다.
Oracle의 경우 Dedicated & Shared Server의 2가지 Client 접속 방식을 보유하고 있다.
SQL-Server의 경우 Oracle의 Shared Server 방식을 이용한다.
Oracle은 SQL의 모든 핵심 기능을 지원하는 관계형 데이터베이스 시스템입니다. 또한 오라클은 다른 많은 언어도 지원합니다. 많은 운영 체제가 Windows, Linux, Solaris, HP-UX, OS X, z / OS, AIX와 같은 오라클을 지원합니다. 오라클이 사용하는 원래 언어는 SQL 의 프로 시저 확장 인 PL / SQL 즉 프로 시저 언어 SQL 입니다. 오라클은 프로 시저, 함수 및 데이터베이스 변수를 단일 단위로 캡슐화 할 수있는 패키지 를 제공합니다.
오라클에서는 쿼리 나 명령을 실행하면 변경 사항이 메모리에만 적용됩니다. DBA (데이터베이스 관리자)가 명시 적 COMMIT 명령을 발행 할 때까지 변경 사항은 적용되지 않습니다. COMMIT 명령이 실행되면 COMMIT가 새 트랜잭션을 시작한 후 디스크 및 명령이 변경됩니다.
오라클의 데이터베이스 스키마는 모든 데이터베이스 개체를 그룹화합니다. 이러한 데이터베이스 개체는 Oracle 데이터베이스의 스키마와 사용자간에 공유 됩니다. 데이터베이스 개체는 모든 사용자가 공유하지만 역할이나 권한을 통해 사용자가 데이터베이스에 액세스하는 것을 제한 할 수 있습니다. 오라클은 복잡 하지만 강력한 RDBMS입니다.
Oracle과 마찬가지로 SQL Server도 관계형 데이터베이스 시스템입니다. SQL Server에서 사용되는 언어는 T-SQL ( Transact-SQL)입니다. SQL Server는 Windows 운영 체제에서만 지원됩니다. Oracle과 마찬가지로 SQL Server 에는 데이터베이스의 모든 프로 시저, 함수 및 변수를 캡슐화하는 패키지 가 없습니다 .
SQL Server에서 BEGIN TRANSACTION 및 COMMIT 명령을 지정하지 않으면 각 명령이 개별적으로 실행되고 커밋됩니다. 모든 명령을 실행하는 도중 오류가 발생하면 커밋 된 명령이 롤백되지 않기 때문에 롤백이 어려워집니다. ROLLBACK 명령을 신중하게 사용하면 데이터 손상을 줄일 수 있습니다.
SQL Server는 데이터베이스를 사용자와 공유 하지 않습니다 . 데이터베이스는 서버의 공유되지 않은 디스크에 저장됩니다. 사용자가 데이터베이스에 액세스해야하는 경우, 사용자에게 로그인 ID가 지정됩니다.
오라클에서 사용하는 언어는 PL / SQL 즉 프로 시저 언어 SQL이지만 SQL Server는 Transact-SQL과 같은 T-SQL을 사용합니다.
DBA가 COMMIT 명령을 발행하지 않으면 트랜잭션이 커밋되지 않습니다. 반면 SQL에서 BEGIN TRANSACTION 및 COMMIT가 지정되지 않으면 각 명령이 개별적으로 실행되고 커밋됩니다.
Oracle에서는 모든 스키마와 사용자간에 데이터베이스가 공유되지만 사용자는 역할과 권한을 통해 특정 스키마 나 테이블에 액세스 할 수 있습니다. 반면 SQL 서버에서는 데이터베이스가 서버에서 비공개로 유지되며 사용자는 데이터베이스에 대한 액세스 권한을 부여하기 위해 로그인 정보가 제공됩니다.
오라클에서는 프로 시저, 함수 및 변수가 패키지로 캡슐화됩니다. 그러나 SQL에는 패키지가 없습니다.
Oracle은 Windows, Linux, Solaris, HP-UX, OS X, z / OS, AIX와 같은 많은 운영 체제에서 지원됩니다. 반면에 SQL은 Windows와 Linux에서 지원됩니다.
오라클은 복잡하지만 강력하지만 SQL은 더 간단하고 사용하기 쉽습니다.
Oracle과 SQL에서 사용되는 명령 구문도 다릅니다.