TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-05-14 |
제목 | AS SYSDBA로 접속할때 PASSWORD 걸기 | ||
---|---|---|---|
AS SYSDBA로 접속할때 PASSWORD 걸기
============================ PURPOSE ------- AS SYSDBA로 접속할 때 PASSWORD 설정하는 방법 Explanation ----------- 오라클 9i에서는 internal로 접속을 하였을 때 ORA-09275: CONNECT INTERNAL is not a valid DBA connection 를 경험할 수 있다. 오라클 9i 서버에서는 connect internal을 사용하지도 않고, as sysdba와 as sysoper로 logon하여 DATABASE를 구동할 수 있다. 여기서 다루고자 하는 것은 Platform에 관계없이 oracle dba group이라면 기존에는 password를 점검하지 않고 사용할 수 있었다. 그러나, 여러가지 보안상의 이유로 password를 걸었을 때 ORA-01031: insufficient privileges와 같은 message나, password를 묻지않고 bypass하는 경우를 알아보고자 한다. Explanation ----------- 1. OS 및 Platform에 관계없이 $ORACLE_HOME/dbs 디렉토리에서 오라클사용자로 orapwd tool을 사용하여 password file을 생성한다. 기존에 password file이 존재한다면 password 파일을 Remove 또는 rename하여 별도로 보관하여도 된다. Usage: orapwd file= where file - name of password file (mand), password - password for SYS and INTERNAL (mand), entries - maximum number of distinct DBA and OPERs (opt), There are no spaces around the equal-to (=) character. $orapwd file=orapw $orapwd file=orapw 2. init.ora를 사용하는 경우 init 대소문자의 구분은 없습니다. REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE 3. spfile을 사용하는 경우 아래의 절차처럼 dynamic하게 변경하여 주어야 한다. SQL> show parameter spfile NAME TYPE VALUE ---------- ---------- --------- spfile string ?/dbs/spfile@.ora SQL> show parameter remote NAME TYPE VALUE ------------------------------------ ----------- --------------- remote_archive_enable boolean TRUE remote_dependencies_mode string TIMESTAMP remote_listener string remote_login_passwordfile string remote_os_authent boolean FALSE remote_os_roles boolean FALSE SQL> alter system set remote_login_passwordfile=exclusive scope=spfile ; System altered. SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------ spfile string ?/dbs/spfile@.ora SQL> show parameter remote NAME TYPE VALUE ------------------------------------ ----------- --------------- remote_archive_enable boolean TRUE remote_dependencies_mode string TIMESTAMP remote_listener string remote_login_passwordfile string EXCLUSIVE remote_os_authent boolean FALSE remote_os_roles boolean FALSE 4. SQLNET.ORA 파일 편집. password를 설정하기 위해서는 반드시 아래와 같이 sqlnet.ora 파일을 에디터로 open한 다음 아래처럼 기술하여야 한다. $ echo $TNS_ADMIN /d02/rctest/app/oracle/product/9.0.1/networ/admin SQLNET.AUTHENTICATION_SERVICES = (NONE) 5. 위와 같은 작업을 순서대로 하였고 password를 정상적으로 입력하였는데도 logon이 되지 않는다면 1031, 00000, "insufficient privileges" 같은 message가 계속 나타난다면 orapwd를 password와 sys user의 password가 일치하는지를 확인한 다음 sqlplus로 접속하여야지만 아래처럼 정상적으로 logon를 할 수 있다. Example ------- [ora9i:/d02/rctest]sqlplus "/as sysdba" SQL*Plus: Release 9.0.0.0.0 - Beta on Thu May 30 10:55:46 2002 (c) Copyright 2001 Oracle Corporation. All rights reserved. ERROR: ORA-01031: insufficient privileges Enter user-name: sys Enter password: ----> password와 as sysdba 를 함께 입력 Connected to: Oracle9i Enterprise Edition Release 9.0.0.0.0 - Beta With the Partitioning option JServer Release 9.0.0.0.0 - Beta SQL> [ora9i:/d02/rctest]sqlplus /nolog SQL*Plus: Release 9.0.0.0.0 - Beta on Thu May 30 10:57:45 2002 (c) Copyright 2001 Oracle Corporation. All rights reserved. SQL> connect sys/manager ERROR: ORA-28009: connection to sys should be as sysdba or sysoper SQL> connect sys/manager as sysdba Connected. SQL> |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |