반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

꿈꾸는 사람.

Oracle Database 21c XE 시작하기: 계정 및 SQL 샘플 생성 본문

IT/Database

Oracle Database 21c XE 시작하기: 계정 및 SQL 샘플 생성

현무랑 니니 2023. 2. 5. 04:30
반응형

데이터베이스 관리 도구

Oracle Database 21c XE를 설치하면 오라클 데이터베이스 관리 도구들이 설치된다.

기본 설치되는 SQL*Plus는 Oracle 데이터베이스 작업을 위한 명령줄 인터페이스(CLI)이다.

사용자는 SQL 문, 스크립트 및 PL/SQL 블록을 실행할 수 있으며 데이터베이스와 직접 상호 작용할 수 있다.

SQL Developer는 Oracle 데이터베이스 작업을 위한 그래픽 사용자 인터페이스(GUI)로 데이터베이스를 관리하고, SQL 문을 실행하고, 그래픽 인터페이스를 통해 데이터베이스와 상호 작용하는 방법을 제공한다.

계정 생성

Oracle Database 21c XE 사용하려면 다음과 같이 사용자 계정을 생성해야 한다.

다음 명령을 입력하여 새 사용자 계정을 만든다.

Oracle Database XE를 시작한다. (설치 후 자동 실행되므로 따로 실행하지 않아도 된다.)

net start OracleServiceXE

SQL*Plus를 SYSTEM 사용자로 사용하여 데이터베이스에 연결한다:

sqlplus sys as sysdba

다음 명령을 입력하여 새 사용자 계정을 만든다:

CREATE USER <username> IDENTIFIED BY <password>;

생성한 계정에 필요한 권한을 부여한다.

GRANT CONNECT, RESOURCE, CREATE SESSION TO <username>;

실제 윈도 명령 프롬프트에서 위 명령들을 실행하고 결과를 확인해보자.

[ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.]란 오류로 계정을 만들 수 없다.

ORA-65096 해결책

1. 접두어 있는 일반 사용자로 생성

오라클 12c부터 일반 사용자의 경우 사용자 생성에 c## 접두사를 사용해야 한다.

따라서 간단히 원하는 이름 앞에 지정된 접두어를 붙이면 된다.

c##test 이름의 일반 사용자 계정이 만들고 권한을 부여한 후 정상적으로 접속할 수 있다.

 

2. 접두어 없이 일반 사용자로 생성

_oracle_script내부의 숨겨진 Oracle 데이터베이스 매개변수로 참 또는 거짓의 값을 가지며 SQL 문이 스크립트의 일부로 실행되는지 또는 개별 명령으로 실행되는지를 결정한다.
_oracle_script가 true로 설정 되면 데이터베이스는 각 SQL 문을 스크립트의 일부로 처리한다.

사용자 및 역할 이름에 대한 완화된 제한으로 보안 취약점이 발생할 수 있기 때문에 개발환경에서만 설정하는 것이 좋다.
프로덕션 환경에서는 사용자 및 역할 명명 규칙에 대한 모범 사례를 따르는 것을 추천한다.

 

3. 접두어 없는 로컬 사용자로 생성

XEPDB1 데이터베이스에 test2 계정을 생성하고 권한을 부여하였다.

 

더보기

Oracle 데이터베이스에는 COMMON_USERS 및 LOCAL_USERS의 사용자 유형이 있다.


다중 테넌트 컨테이너 데이터베이스(CDB)는 여러 개의 독립적인 플러그 가능한 데이터베이스(PDB)를 포함하는 데이터베이스이다.

각 플러그 가능 데이터베이스에는 고유한 스키마, 테이블 및 기타 데이터베이스 개체 집합이 있다.

일반 사용자는 COMMON_USERS 유형으로 CDB 수준에서 생성되고 CDB 내의 모든 PDB에서 사용할 수 있고 모든 PDB에서 동일한 암호와 권한을 가진다.



로컬 사용자는 LOCAL_USERS 유형으로 특정 PDB에서 생성되고 해당 PDB에서만 사용할 수 있는 사용자이다. CDB 내의 다른 PDB에서는 사용할 수 없다. 이러한 사용자는 각 PDB에서 서로 다른 암호와 권한을 가질 수 있다.

 

반응형
Comments