출처 : 어드민플레이
connect system/xxxxxxx as sysdba 즉 SYSDBA로 로그인 할 때 ORA-01031: insufficient privileges 가 나는 경우
sysdba를 붙여 로그인 하는 방법은 Oracle의 Password 인증방식을 이용한다.
첫번째로 패스워드 인증방식을 쓸수있는 유저가 누구인지 먼저 알아보자.
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
TEST_USER TRUE FALSE
SYSTEM 계정을 원격으로 접속하기 위해 추가 해본다.
SQL> show user;
USER은 "SYS"입니다
SQL> grant sysdba to system;
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
TEST_USER TRUE FALSE
SYSTEM TRUE FALSE
위와 같이 권한을 부여하면 간단하게 SYSTEM 계정으로 원격접속 할 수 있다.
또한
sqlnet.ora 파일에서
SQLNET.AUTHENTICATION_SERVICES= (NONE) 부분을
SQLNET.AUTHENTICATION_SERVICES= (NTS) 로 수정 후 리스너를 재시작시키고
connect / as sysdba로 접속하면 되지만 이는 보안상 권장할 사항은 아니다.
보안상으로
1. sqlnet.ora 파일에서
SQLNET.AUTHENTICATION_SERVICES= (NONE)으로 설정
-> connect / as sysdba로 접속 불가(이는 누구나 알고 있는 명령이므로 보안상 위험.
반드시 패스워드 파일을 이용한 패스워드 인증 사용하는 것임
2, remote_login_passwordfile 파라미터는 반드시 EXCLUSIVE 로 설정 하기를 권장한다.
sysdba는 일반 DBA보다 더 큰 권한을 가지며 DB를 내렸다 올렸다 할 수 있으며 DB를 삭제할 수도 있다
댓글 없음:
댓글 쓰기