오라클 데이터 베이스를 설치할 때 제공되는 iSQL*Plus 에서 기본적으로 DBA 권한으로 접속이 안되게끔 되어있다.

(왜 막아놨을까.. -_-;; DBA 권한이 막강하기 때문에 외부에서 크래커가 접속하면 대략 낭패일 수 있어서 그런 것일런지도... )


이를 해결하기 위한 도움말이 있어서 중간 중간 설명을 넣어서 정리해봄.

DBA로 iSQL*Plus 시작

SYSDBA 또는 SYSOPER 권한으로 iSQL*Plus 세션을 시작하려면 다음과 같은 형식의 iSQL*Plus DBA URL을 사용합니다.

http://machine_name:port/isqlplus/dba/

(보통 http://192.168.0.xx:5560/isqlplus/dba )

iSQL*Plus DBA URL에 액세스하려면 JAZN(Java AuthoriZatioN)이라는 Oracle JAAS Provider를 사용하여 로그인 인증서를 설정해야 합니다. 자세한 내용은 iSQL*Plus DBA 액세스 활성화를 참조하십시오.

iSQL*Plus DBA URL을 통해 접속되면 Application Server 인증은 [DBA 로그인] 화면을 통해 또는 CONNECT 명령을 통해 AS SYSDBA 또는 AS SYSOPER 접속을 허용하지만 오라클 데이터베이스 사용자 이름과 암호 인증이 액세스를 허용하지 않을 수 있습니다.

...((하략))

---------------------------------------------------------------


iSQL*Plus DBA 액세스 활성화

iSQL*Plus DBA URL에 액세스하려면 OC4J 사용자 관리자를 설정해야 합니다. 다음을 사용하도록 OC4J를 설정할 수 있습니다.

  • XML 기반 제공자 유형 jazn-data.xml

  • LDAP 기반 제공자 유형 Oracle Internet Directory

iSQL*Plus DBA 액세스를 활성화하려면 iSQL*Plus Application Server를 정지해야 합니다.

이 설명서에서는 XML 기반 제공자를 사용하도록 iSQL*Plus DBA URL을 설정하는 방법에 대해 설명합니다. 자세한 내용은 http://www.oracle.com/technology/documentation/의 Oracle Application Server 설명서를 참조하십시오.

iSQL*Plus DBA URL을 설정하려면 다음과 같이 하십시오.

  1. iSQL*Plus DBA URL에 대한 사용자를 생성합니다.
  2. 사용자에게 webDba 롤을 부여합니다.
  3. JAZN 인증 파일 jazn-data.xml을 변경한 후에 iSQL*Plus 서버를 다시 시작합니다. JAZN 인증 파일은 JAZN 관리 툴(에 대한 사용법은 아래에 설명되어있음)을 사용하여 iSQL*Plus DBA URL에 대한 사용자를 설정할 때 변경됩니다.
  4. iSQL*Plus DBA 액세스를 테스트합니다.

Oracle JAAS Provider는 JAZN(Java AuthoriZatioN)이라고도 하며 오라클의 JAAS(Java Authentication and Authorization Service) 구현입니다. 이 설명서의 나머지 부분에서는 Oracle의 JAAS Provider를 JAZN으로 기술합니다. JAZN(Oracle JAAS Provider)에 대한 자세한 내용은 http://www.oracle.com/technology/tech/java/oc4j/index.htmlOracle Application Server Containers for J2EE 설명서를 참조하십시오.

iSQL*Plus DBA URL 사용자 생성 및 관리

iSQL*Plus DBA URL 사용자 관리에는 다음 작업이 포함됩니다.

  1. 사용자 생성
  2. 사용자 나열
  3. webDba 롤 부여
  4. 사용자 제거
  5. webDba 롤 취소
  6. 사용자 암호 변경

주:(매우 중요!!)

$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus 디렉토리에서 이러한 작업을 수행합니다.

윈도우라면

%ORACLE_HOME%\oc4j\j2ee\isqlplus\application-deployments\isqlplus

와같이 될 듯...

***

위의 (주)를 보면 $ORACLE_HOME/ .... /application-deployments 디렉토리에서 앞으로 설명할 각종 명령을 실행해야 한다는 것..

만일 다른 디렉토리에서 아래 명령을 실행하면 어떻게 될까?

다른 디렉토리에서 jazn 자바 애플리케이션을 실행하면 실패하는데 이유는 실행하면서 config/jazn.xml 이라는 파일을 참조하기 때문...

이 파일의 위치가 바로

$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config/jazn.xml

이라서 (주)에서 적어놓은 디렉토리에서 jazn 자바 애플리케이션을 실행해야한다.

***


$JAVA_HOME은 JDK(1.4 이상)의 위치이며 $ORACLE_HOME/jdk로 설정되어야 합니다.

admin_passwordiSQL*Plus DBA 영역 관리자인 admin의 암호입니다. admin 사용자의 암호는 기본적으로 'welcome'으로 설정됩니다. 이 암호는 가능한 한 빨리 변경해야 합니다. 자세한 내용은 암호 변경(아래 참조)을 참조하십시오.

모든 단계에서 JAZN 셸 옵션과 명령행 옵션이 제공됩니다.

JAZN 셸을 시작하려면 다음을 입력합니다.

$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -shell

***
위 명령행을 보면 "iSQL*Plus DBA/admin" 이라는 괴상한(?) 문구가 적혀있는데 오타가 아니라 iSQL*Plus DBA가 jazn-data.xml 파일에 정의된 realm 이름이다.
admin 은 이 realm에 등록된 사용자명으로서 기본적으로 제공되는 계정임
***

***
셸을 실행하면 아래와 같이 프롬프트가 뜬다
(%ORALCE_HOME% 을 각자 환경에 맞는 값으로 대체해야함)
%ORACLE_HOME%\oc4j\j2ee\isqlplus\application-deployments\iqlplus>%ORACLE_HOME%\jdk\bin\java -Djava.security.propertis=%ORACLE_HOME%\oc4j\j2ee\home\config\jazn.security.props -jar %ORACLE_HOME%\oc4j\j2ee\home\jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell
JAZN:>

***

JAZN 셸을 종료하려면 다음을 입력합니다.

JAZN:>EXIT

사용자 생성

iSQL*Plus DBA URL에 액세스할 수 있는 여러 사용자를 생성할 수 있습니다. JAZN 셸에서 사용자를 생성하려면 다음을 입력합니다.

JAZN> adduser "iSQL*Plus DBA" username password

명령행에서 사용자를 생성하려면 다음을 입력합니다.

$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -adduser "iSQL*Plus DBA" username password

usernamepasswordiSQL*Plus DBA URL에 로그인하는 데 사용되는 사용자 이름 및 암호입니다.

여러 사용자를 생성하려면 각 사용자에 대해 위의 명령을 반복합니다.

사용자 나열

사용자가 생성되어 iSQL*Plus DBA 영역에 추가되었는지 확인할 수 있습니다. JAZN 셸을 사용하여 사용자 생성을 확인하려면 다음을 입력합니다.

JAZN> listusers "iSQL*Plus DBA"

명령행을 사용하여 사용자 생성을 확인하려면 다음을 입력합니다.

$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -listusers "iSQL*Plus DBA"

생성한 사용자 이름이 표시됩니다.

사용자에게 webDba 롤 부여

생성한 각 사용자에게 webDba 롤에 액세스할 수 있는 권한을 부여해야 합니다. JAZN 셸에서 사용자에게 webDba 롤에 액세스할 수 있는 권한을 부여하려면 다음을 입력합니다.

JAZN> grantrole webDba "iSQL*Plus DBA" username

명령행에서 사용자에게 webDba 롤에 액세스할 수 있는 권한을 부여하려면 다음을 입력합니다.

$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -grantrole webDba "iSQL*Plus DBA" username

사용자 제거

JAZN 셸을 사용하여 사용자를 제거하려면 다음을 입력합니다.

JAZN> remuser "iSQL*Plus DBA" username

명령행을 사용하여 사용자를 제거하려면 다음을 입력합니다.

$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -remuser "iSQL*Plus DBA" username

webDba 롤 취소

JAZN 셸에서 사용자의 webDba 롤을 취소하려면 다음을 입력합니다.

JAZN> revokerole webDba "iSQL*Plus DBA" username

명령행에서 사용자의 webDba 롤을 취소하려면 다음을 입력합니다.

$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -revokerole "iSQL*Plus DBA" username

사용자 암호 변경

JAZN 셸에서 사용자 암호를 변경하려면 다음을 입력합니다.

JAZN> setpasswd "iSQL*Plus DBA" username old_password new_password

명령행에서 사용자 암호를 변경하려면 다음을 입력합니다.

$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -setpasswd "iSQL*Plus DBA" username old_password new_password

iSQL*Plus DBA 액세스 테스트

웹 브라우저에서 다음과 같이 iSQL*Plus DBA URL을 입력하여 iSQL*Plus DBA 액세스를 테스트합니다.

http://machine_name.domain:5560/isqlplus/dba

iSQL*Plus DBA URL에 대한 인증을 요구하는 대화상자가 표시되면 위에서 생성한 사용자로 로그인합니다. 변경 사항을 적용하려면 iSQL*Plus를 다시 시작해야 합니다.



-------------------------------------------

셸 띄우는 명령 구문이 겁나게 복잡한 관계로 자칫 잘못하면 오타의 수렁에 빠져서 시간을 낭비할 수 있는바, 윈도우 환경에서 간단하게 사용할 수 있는 cmd 파일을 만든 후 (주)에서 말하는 디렉토리에 살포시 넣어주면 클릭 한 번으로 셸을 띄울 수 있다.

set ORACLE_HOME=D:\oracle\product\10.2.0\accountdb

set JAVA_HOME=%ORACLE_HOME%\jdk

%ORACLE_HOME%\jdk\bin\java -Djava.security.properties=%ORACLE_HOME%\oc4j\j2ee\home\config\jazn.security.props -jar %ORACLE_HOME%\oc4j\j2ee\home\jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell

위 내용을 긁어서 jazn.cmd 정도의 이름으로 %ORACLE_HOME%\oc4j\j2ee\isqlplus\application-deployments\isqlplus 밑에 저장해주면 편하다.
invalid-file

JAZZ.CMD



Posted by yeori
,