database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 9326 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9326
CONNECT internal 시 패스워드를 물어 오는 문제 해결
작성자
정재익(advance)
작성일
2002-01-07 02:10
조회수
4,943

CONNECT INTERNAL시 PASSWORD를 묻는 경우 해결방법

 

user가 분명히 dba group일 때 connect internal시 password를 묻는 경우, 다음과 같은 사항들을 check해보도록 한다.   

    

1. os상태에서 id를 입력하여 group이 dba인지 확인한다.   

    

2. /etc/group file내에 dba 라는 group에 oracle이 포함되었는지 확인한다.

 

3. 누군가 일부러 connect internal에 password를 설정하였는지 확인한다.   

  이것은 $ORACLE_HOME/dbs/initORACLE_SID.ora file내에 remote_login_passwordfile=exclusive라는 parameter가 설정되어 있다면 누군가 password를 설정한 것이다.

 

4. $ORACLE_HOME이 위치한 file system이 full인 경우에도 발생할 수 있다. 

 

(1) ORA-9925 "Unable to create audit trail file" message가 나타나면서 connect internal시 password를 묻는다면 다음을 check한다.

 

(2) $ORACLE_HOME/dbs/initSID.ora 혹은 initSID.ora file내에 정의되어 있는 ifile내에 audit_file_dest가 지정되어 있는지 확인한다.

 

(1)에서 확인한 directory (지정되어 있지 않다면 $ORACLE_HOME/rdbms/audit) directory가 존재하고, permission이 4755로 지정되어 있어야 한다. 그렇지 않으면 password를 묻는 현상이 발생한다.

 

os> cd $ORACLE_HOME/rdbms   

os> chmod 4755 audit   

 

5. $ORACLE_HOME/network/admin/sqlnet.ora file내에 sqlnet. authentication_services parameter가 설정되어 있는지 확인한다.   

  이 parameter가 설정되어 있다면, comment처리한다. 

 

위의 1, 2, 3, 4번이 모두 바르게 설정되어 있는데도 여전히 password를 물어본다면, oracle user의 환경변수에 TWO_TASK=P: (혹은 P)으로 지정한다.   

    

이러한 경우, sql*net v2가 install되면, default로 설정되는 SQLNET V2 Bequeath adapter를 사용하지 않도록 하게된다.   

    

TWO_TASK를 P 혹은 P:으로 변경한 것이 오류가 발생한다면

$ORACLE_HOME/network/admin/*.ora file들을 모두 *.bak file로 rename 한 후 connect internal을 시도하면 해결되는 경우가 대부분이다.   

이렇게 하여 해결이 되면, tnsnames.ora, listener.ora, sqlnet.ora file을 vi로 다시 작성한다.   

이것은 이 file들이 PC에서 binary format으로 ftp전송되는 등의 file내에 불필요한 character등이 포함되면서, SQLNET Bequeath adapter 사용시 비정상적으로 작동한 것이 원인이다.   

 

6. OPS (Oracle Parallel Server) 환경이라면 다음 사항도 check해 본다. 

 

(1) /etc/group file내에 dlm group내에 connect internal을 시도하는 user가 속해있는지 확인한다.

 

(2) dlm이 설치된 directory아래의 log directory에 user의 write permission이 지정되어 있는지 확인한다.

 

platform에 따라 다소 차이는 있지만 OPS의 경우 이러한 상황하에서도 connect internal시 password를 묻는 경우가 있다.   

 

7. 위의 모든 방법으로도 해결이 되지 않는 경우, 다음과 같이 수행하여 본다.   

 

또한 이 방법은 connect internal시 password 입력없이 수행할 수 있는 'DBA' group을 'dba'가 아니고 자신이 지정한 특정 group으로 지정하는 경우에도 이용된다.

 

(1) 'DBA' group은 install시에 선택되며, 'dba'가 default인 경우가 대부분이다. DBA group은 'oracle' 실행 화일에 compile되어지므로, 같은 $ORACLE_HOME을 사용하는 모든 데이타베이스에 대해서 동일하다.

 

(2)실제 'DBA' group을 확인하려면 다음과 같이 한다.

 

       cd $ORACLE_HOME/rdbms/lib   

       cat config.s혹은 cat config.c   

    

(3)config.[c/s] file을 확인해 보면 #define SS_DBA_GRP "group" 형태의 line이 앞에 나와 있으며, 이때 group은 dba가 대부분이다.

 

이 group을 변경하기 위해서는 vi config.c혹은 vi config.s를 수행하여 group에 해당되는 부분을 자신이 원하는 group으로 변경하면 된다.   

 

즉 #define SS_DBA_GRP "dba"를 #define SS_DBA_GRP "mygroup"으로 변경한다.   

    

(4) 이렇게 변경한 것이 반영되기 위해서는 이 file을 Oracle executable로 relink 하여야 한다.   

    

아래와 같이 relink하기 전에 모든 database를 shutdown하도록 한다. 

 

cp config.c config.c.old   

mv config.o config.o.old   

make -f oracle.mk config.o   

(oracle7 7.3의 경우 make -f ins_rdbms.mk config.o)   

make -f oracle.mk ioracle   

(oracle7 7.3의 경우 make -f ins_rdbms.mk ioracle)   

    

(5) 이렇게 group을 변경할 때 daemon group으로는 변경할 수 없으며, oracle user가 dba group인데도 password file을 묻는 경우에는 이것을 이용하여 group을 다른 것으로 변경하거나, 혹은 config.s나 config.c에 SS_DBA_GRP가 dba로 바르게 지정되어 있는지 확인한 다음 (4)번과 같은 relink작업을 다시 수행하여 준다.

 

dba로 바르게 지정되어 있는 경우라도 relink전에 dba부분을 지우고 다시 적어본다.

 

(6) dba group 이름이 무엇으로 설정되었는지, 바르게 변경되었는지 확인하려면 다음과 같이 한다.

 

strings $ORACLE_HOME/bin/oracle | grep -i <new dba name> 

[Top]
No.
제목
작성자
작성일
조회
9329DYNAMIC SQL 이란?
정재익
2002-01-07
7850
9328Rollback Segment 의 크기와 갯수
정재익
2002-01-07
5254
9327사용되지 않은 공간을 DEALLOCATE
정재익
2002-01-07
4658
9326CONNECT internal 시 패스워드를 물어 오는 문제 해결
정재익
2002-01-07
4943
9324ORA-1547 에러 발생의 원인
정재익
2002-01-07
4458
9303rowid 에 대한 이해
정재익
2002-01-06
6209
9302Imp-00020 Error
정재익
2002-01-06
5371
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다