SYS 계정으로 접속이 되어있어야 계정생성, 권한부여, 삭제 등이 가능하므로 SYS 계정으로 접속하자.
DEFAULT 로 설정되어있는 SYS 계정은 아래와 같이 접속한다.
SQL> connect sys/nds0102$ as sysdba
Connected.
이제 새 계정을 추가하여 보자.
CREATE USER 새계정이름 IDENTIFIED BY 비밀번호;
SQL> create user user_name identified by user_password;
User created.
새로 만든 계정으로 접속을 시도하면 아래와 같이 오류가난다.
권한이 부여되지 않았기 때문이다.
SQL> conn user_name/user_password;
ERROR:
ORA-01045: user USER_NAME lacks CREATE SESSION privilege; logon denied
그럼 이제 새로 추가한 계정에 권한을 생성해주자.
GRANT 부여할권한 TO 사용자계정;
(나는 모든 권한을 주었다)
SQL> grant connect, dba, resource to user_name;
Grant succeeded.
이제 추가한 계정으로 다시 접속해보면 아래와 같이 접속이 성공한것을 알 수 있다.
SQL> conn user_name/user_password;
Connected.
만약 부여한 권한을 취소(삭제)하려면 아래와 같이 입력하면 된다.
REVOKE 취소할권한 FROM 사용자계정;
(권한을 취소할때도 SYS계정으로 다시 접속해 주어야한다.)
SQL> REVOKE CONNECT,DBA,RESOURCE FROM USER_NAME;
Revoke succeeded.
그리고 기존에 설정했던 PASSWORD를 변경하고 싶을때는 아래와 같이 작성하면된다.
ALTER USER 사용자계정 IDENTIFIED BY 변경할 비밀번호;
SQL> ALTER USER USER_NAME IDENTIFIED BY PASSWORD1;
User altered.
이제 변경한 비밀번호로 다시 접속해보면 아래와 같이 잘 접속되는것을 확인할 수 있다.
SQL> CONN USER_NAME/PASSWORD1;
Connected.
마지막으로 계정삭제를 해보자.
계정삭제는 아래와 같이 입력하면 된다.
DROP USER 사용자계정 CASCADE;
(삭제할 사용자계정으로 테이블이 생성되어 있는등 객체가 존재한다면, CASCADE를 적어주어야 전부 제거가 된다.)
SQL> DROP USER USER_NAME CASCADE;
User dropped.
만약 계정삭제를 했는데 아래와 같은 에러가 뜬다면,
삭제할 계정으로 접속되어 있다는 메세지 이므로 SYS 계정으로 접속한뒤 계정 삭제를 진행해야 된다.
SQL> DROP USER USER_NAME CASCADE;
DROP USER USER_NAME CASCADE
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'Database' 카테고리의 다른 글
트랜잭션은 무엇이며 트랜잭션을 시작하기 위한 준비! (0) | 2022.07.03 |
---|---|
SELECT CASE 를 사용해서 DB의 특정 값을 다른값으로 표현하기 (0) | 2021.02.18 |
[Altibase] 테이블 조회, 생성, 내부 데이터삭제, 테이블이름변경, 테이블 컬럼 타입변경 (0) | 2020.07.28 |
댓글