linux/DB

Oracle 계정 생성 & 권한부여 & 패스워드 변경

배움엔 끝이없다 2021. 5. 25. 16:49
728x90
반응형

Oracle 계정 생성 및 권한 그리고 패스워드 변경 방법에 대하여 알아보겠습니다.

 

 

1. 계정 생성 및 제거

 

 

> ./sqlplus / as sysdba
 오라클로 접속하는 방법입니다.

* 오라클에서는 관리자 계정으로 sys system 계정이 있습니다. sys 계정은 super user 이며,

system sys와 권한이 같으나 database 생성권한이 없습니다. 사용자 계정을 추가하거나 databases를 새로 만들 때는 sys 계정으로 접속해야 합니다.

위 명령어는 sys 관리자 계정으로 접속하기 위한 명령어 입니다.

 

> alter session set “_ORACLE_SCRIPT”=true;
 12c 버전부터 C##으로 계정이름을 지정하도록 바뀌었다고 합니다. 위 명령어를 입력하지 않고 계정생성을 하게되면 구문이 틀리다고 에러 메세지가 나오기 떄문에 반드시 위 명령어를 입력 후 계정 생성을 합니다.
> CREATE USER 계정명 IDENTIFIED BY 비밀번호;
 소문자로 입력해도 문제 없으며, 원하는 계정명과 비밀번호를 입력하여 계정을 생성합니다.

 

 

 

 

> grant create session to 계정명;
 생성한 유저에 로그인 권한을 생성해 줍니다.

 

 

 

 

일반 계정으로 접속 시 문제없이 접속되는 점 확인 할 수 있습니다.

 

계정을 생성하였으면 삭제하는 방법에 대하여 알아보겠습니다.

 

> DROP USER 계정명;
또는
> DROP USER 계정명 CASCADE;
 위 명령어로 삭제가 가능합니다. CASCADE USER가 객체를 소유하고 있을 경우에 꼭 사용해야하는 것으로 사용하게 되면 사용자 이름과 관련된 모든 데이터베이스 스키마가 삭제되고 물리적으로도 삭제됩니다.

 

 

 

 

> drop user 계정명 cascade;
 계정 삭제시 다음과 같은 오류가 발생하면 alter session set “_ORACLE_SCRIPT”=true; 명령어를 입력 후 삭제를 시도합니다.

 

 

 

 

> alter session set “_ORACLE_SCRIPT”=true;
> drop user 계정명 cascade;
 정상적으로 삭제되는 점 확인할 수 있습니다.

 

 

 

2. 권한 부여 및 제거

 

권한 부여 전 옵션에 대하여 알아보고 설정해보겠습니다.

 

CREATE USER 데이터 베이스 유저 생성 권한
SELECT ANY TABLE 모든 유저의 테이블 조회 권한
CREATE ANY TABLE 모든 유저의 테이블 생성 권한
CREATE SESSION 데이터베이스 접속 권한
CREATE TABLE 테이블 생성 권한
CREATE VIEW 뷰 생성 권한
CREATE PROCED USER 프로시저 생성 권한
CREATE SEQUENCE 시퀀스 생성 권한
SYSDBA 데이터베이스를 관리하는 최고 권한
SYSOPER 데이터베이스를 관리하는 권한

 

몇개의 권한 설정 테스트를 해보겠습니다.

 

> GRANT 권한명1, 권한명2 TO 계정명;
 권한 설정 명령어입니다.

 

 

 

> grant create table to 계정명;
 테이블 생성권한을 주었습니다.

 

 

그 외에 다른 권한 설정 테스트를 해보았고 문제없이 설정 되는 점 확인하였습니다.

 

 

권한을 부여했으면, 반대로 권한을 제거하는 방법도 알아보겠습니다.

 

> REVOKE 권한명1,권한명2 FROM 계정;
 권한 제거 명령어입니다.

 

 

> revoke create user,select any table from 계정명;
 정상적으로 권한이 제거된 점 확인할 수 있습니다.

 

 

* 추가적으로 권한 설정 중 sysdba sysoper의 권한에서 수행할 수 있는 작업을 알아보겠습니다.

 

SYSDBA  데이터 베이스 시작, 종료 및 상태 전환
 테이블 스페이스 및 컨트롤 파일 백업
 데이터베이스 아카이브 또는 노아카이브 로그 모드 전환
 파라메터 파일 생성
 데이터베이스 완전 복구
 접속 세션 제한
SYSOPER – SYSOPER가 소유한 모든 권한
 데이터베이스 생성 및 삭제
 데이터베이스 불완전 복구

* 오라클에는 오라클 내부 system(OS system과는 다른 개념의 oracle DB system을 말함)권한과 Object 권한으로 나뉘어 집니다.

이 부분은 참고만 하시면 됩니다.

 

 

Object 권한 : 해당 오브젝트에 특정 SQL을 수행할 수 있게 해주는 권한입니다.

오브젝트의 소유자는 해당 오브젝트에 대한 모든 권한을 가지게 되며, 자신의 오브젝트에 대한 특정 권한을 다른 유저에게 부여할 수 있습니다.

아래는 테이블 및 뷰에 부여할 수 있는 오브젝트 권한입니다.

 

오브젝트 권한 종류 테이블
ALTER O X
DELETE O O
INSERT O O
UPDATE O O
INDEX O X
SELECT O O

 

– ALTER는 뷰에서 수행할 수 없으며 원한다면 재생성 수행을 해야하고 INDEX는 뷰에 생성할 수 없습니다.

 

 

3. 패스워드 변경

 

> ALTER USER 계정명 IDENTIFED BY 변경할 비밀번호;
 패스워드 변경하는 명령어 입니다.

 

 

> alter user 계정명 identifed by 변경할 비밀번호;
 패스워드 변경이 완료되었습니다. 재접속 시 잘 변경되었나 확인해봅니다.

 

 

 

정상 접속되는 점 확인하였습니다.

 

 

* 패스워드를 잊어버렸을 경우 패스워드를 변경하는 방법은 간단합니다.

오라클 접속 시 sys 계정으로 접속하게 되면 패스워드를 입력하지 않고 접속이 가능합니다.

 

 

* sys 계정 접속 시

 

 

 

* 일반 접속 시

 

 

두 접속 방법을 보면 sys 계정으로 접속 시 패스워드 입력이 필요없는 점 확인 할 수 있습니다.

오라클 접속이 완료되면 패스워드 변경명령어를 그대로 입력하면 변경 가능합니다.

728x90
반응형
LIST

'linux > DB' 카테고리의 다른 글

mysql 락 테이블 확인  (0) 2021.06.04
mysql 최적화 하기  (0) 2021.06.04
무중단 리플리케이션  (0) 2021.05.25
mysql DB & table 별 용량 체크  (0) 2021.05.18
mysql 외부 접근 및 된 권한 확인  (0) 2021.05.11