Oracle 데이터베이스에서 시스템 계정과 시스템 계정의 차이점은 무엇입니까? 있습니다. sqlplus sys

sqlplus를 사용하여 관리자로 Oracle에 연결하는 방법에는 두 가지가 있습니다.

  1. sqlplus sys as sysdba
  2. sqlplus system/manager

이 계정은 다른 용도로 사용해야합니다.

이 두 스키마는 어떤 작업을 의미합니까? 언제 그들 중 하나를 사용해야합니까?



답변

SYS

  • Oracle 데이터베이스 설치시 자동 생성
  • DBA역할 자동 부여
  • 기본 비밀번호가 CHANGE_ON_INSTALL 있습니다 (변경해야합니다).
  • 데이터베이스 데이터 사전에 대한 기본 테이블 및 뷰를 소유합니다.
  • 다음과 같이 연결할 때 기본 스키마 SYSDBA

SYS스키마의 테이블 은 데이터베이스에 의해서만 조작됩니다. 사용자 나 데이터베이스 관리자가 수정해서는 안되며 user 스키마에 테이블을 작성해서는 안됩니다 SYS. 데이터베이스 사용자는 SYS계정을 사용하여 Oracle 데이터베이스에 연결해서는 안됩니다 .

SYSTEM

  • Oracle 데이터베이스 설치시 자동 생성
  • DBA역할 자동 부여
  • 기본 비밀번호가 MANAGER 있습니다 (변경해야합니다).
  • 관리 정보를 표시하는 추가 테이블 및보기를 작성하는 데 사용됩니다.
  • 다양한 Oracle 데이터베이스 옵션 및 도구에서 사용하는 내부 테이블 및 뷰를 작성하는 데 사용

SYSTEM스키마를 사용하여 비 관리 사용자에게 관심있는 테이블을 저장 하지 마십시오 .

/통하다


답변

로부터 11g 오라클 문서 :

SYS 및 SYSTEM 사용자

Oracle Database를 설치할 때 다음 관리 사용자 계정이 자동으로 생성됩니다. 둘 다 설치시 제공 한 비밀번호로 작성되며 DBA 역할이 자동으로 부여됩니다.

  • SYS

    이 계정은 모든 관리 기능을 수행 할 수 있습니다. 데이터베이스 데이터 사전에 대한 모든 기본 (기본) 테이블 및 뷰는 SYS 스키마에 저장됩니다. 이러한 기본 테이블과 뷰는 Oracle Database 운영에 중요합니다. 데이터 사전의 무결성을 유지하기 위해 SYS 스키마의 테이블은 데이터베이스에 의해서만 조작됩니다. 사용자 나 데이터베이스 관리자가 절대 수정해서는 안됩니다. SYS 스키마에 테이블을 작성해서는 안됩니다.

    SYS 사용자에게는 SYSDBA 권한이 부여되어 사용자가 백업 및 복구와 같은 고급 관리 작업을 수행 할 수 있습니다.

  • SYSTEM

    이 계정은 다음을 제외한 모든 관리 기능을 수행 할 수 있습니다.

    • 백업 및 복구

    • 데이터베이스 업그레이드

    이 계정을 사용하여 일상적인 관리 작업을 수행 할 수 있지만 Oracle은 데이터베이스 활동을 모니터링 할 수 있도록 Oracle 데이터베이스를 관리하기위한 명명 된 사용자 계정을 만드는 것이 좋습니다.

SYSDBA 및 SYSOPER 시스템 권한

SYSDBA 및 SYSOPER는 데이터베이스 작성, 시작, 종료, 백업 또는 복구와 같은 고급 관리 작업을 수행하는 데 필요한 관리 권한입니다. SYSDBA 시스템 권한은 완전한 권한을 가진 데이터베이스 관리자를위한 것이며 SYSOPER 시스템 권한을 통해 사용자는 기본 운영 작업을 수행 할 수 있지만 사용자 데이터를 볼 수는 없습니다.

SYSDBA 및 SYSOPER 시스템 권한은 데이터베이스가 열려 있지 않은 경우에도 데이터베이스 인스턴스에 대한 액세스를 허용합니다. 따라서 이러한 권한의 제어는 데이터베이스 자체 외부에 있습니다. 이 권한을 통해 이러한 권한 중 하나가 부여 된 관리자가 데이터베이스 인스턴스에 연결하여 데이터베이스를 시작할 수 있습니다.

SYSDBA 및 SYSOPER 특권을 다른 방식으로 특권을 부여 할 수없는 특정 데이터베이스 조작을 수행 할 수있는 연결 유형으로 생각할 수도 있습니다. 예를 들어 SYSDBA 권한이 있으면 AS SYSDBA를 사용하여 데이터베이스에 연결할 수 있습니다.

SYS 사용자에게는 설치시 SYSDBA 권한이 자동으로 부여됩니다. SYS 사용자로 로그인 할 때 SYSDBA 또는 SYSOPER로 데이터베이스에 연결해야합니다. SYSDBA 사용자로 연결하면 SYSDBA 권한이 호출됩니다. SYSOPER로 연결하면 SYSOPER 권한이 호출됩니다. Oracle Enterprise Manager Database Control에서는 SYSDBA 또는 SYSOPER로 연결하지 않고 사용자 SYS로 로그인 할 수 없습니다.

SYSDBA 또는 SYSOPER 권한으로 연결하면 일반적으로 사용자 이름과 연관된 스키마가 아닌 기본 스키마로 연결됩니다. SYSDBA의 경우이 스키마는 SYS입니다. SYSOPER의 경우 스키마는 PUBLIC입니다.


답변

SYS (또는 다른 SYSDBA 연결)와 다른 모든 사용자의 주요 차이점의 예 : SYS는 일관된 읽기를 수행 할 수 없습니다 . 이것에 대한 한 가지 의미 (다른 것들도 있음)는 이전 exp 유틸리티를 사용하여 CONSISTENT = Y 내보내기를 SYS로 수행 할 수 없다는 것입니다.

오라클 직원이자 전문가 인 Tom Kyte는 당신이 어느 쪽도 사용해서는 안된다고 생각합니다 . SYS와 관련하여 그는 위의 예에서 설명한 것과 다르게 작동하지만 더 일반적으로 Oracle Corporation에서 “소유”한 것으로 간주합니다. 스키마를 변경하거나 스키마에 무언가를 추가하고 문제가 발생하면 (예 : 데이터베이스 업그레이드 실패) Oracle Support의 대답은 “그렇지 않아야합니다”라고 생각합니다.


답변

포스터가 두 가지 연결 방법 만 있다고 말하는 것처럼 들립니다.

“sqlplus를 사용하여 관리자로 Oracle에 연결하는 두 가지 방법이 있습니다.

sqlplus sys as sysdba
sqlplus system/manager"

관리자 계정은 SYSDBA 권한 또는 DBA 역할을 가진 모든 Oracle 사용자 계정입니다. SYS는 SYSDBA가있는 사전 정의 된 사용자이고 SYSTEM은 DBA가있는 사전 정의 된 사용자입니다. 데이터베이스에 n 개의 관리자 계정이있는 경우, 정의에 따라 관리자 권한으로 연결할 수있는 n 명의 사용자가 있습니다. 그 중 두 개만있는 것은 아닙니다.

또 다른 요점은 SQL * Plus와 관련이 있습니다. OS 프롬프트에서 sqlplus / as sysdba와 같은 OS 인증을 사용하여 SYS로 연결할 수 있습니다. SQL * Plus를 시작한 다음 CONNECT / AS SYSDBA를 시작할 수도 있습니다. OS 프롬프트, CONNECT 문에서 암호를 지정하거나 SQL * Plus가 암호를 묻도록 할 수 있습니다. 넷 서비스 이름을 사용할 수 있습니다. SYSTEM 암호를 변경할 수 있습니다. 등등.

포스터가 말하는 것은 Oracle 데이터베이스에 두 개 이상의 관리자 계정이 있고 SYSTEM에 기본 암호가 있고 OS 인증이 설정되어 있으면 두 가지 예입니다. SYS와 SYSTEM이 SQL * Plus를 사용하여 데이터베이스에 로그인하는 방법

SYS와 SYSTEM의 차이점에 대한 질문은 다르며 답변되었습니다.