http://playgame.egloos.com/272956
[tnsnames.ora]
위치 : 클라이언트 $ORACLE_HOME/network/admin/tnsnames.ora
설명 : 오라클 서버에 대한 접속 정보를 저장해놓은 클라이언트 설정 파일
DB_Alias =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 오라클서버ip)(PORT = 1521)
)
(CONNECT_DATA =
(SID/SERVICE_NAME = DB_name)
)
)
DB_Alias 는 말 그대로 DB(인스턴스)의 가명칭이며, 실제 DB명칭(인스턴스명칭)은 connect_data 부분의 SID 또는 SERVICE_NAME 이다. SID 를 사용하느냐, SERVICE_NAME 을 사용하는가는 오라클 버전에 따라 다르며 8i 버전 이상은 SID, 그 이후 버전에서는 둘 다 사용할 수 있다.
SID는 서버에서 환경변수로 설정되어 있다. 서버에서 echo $ORACLE_SID 또는 env 명령으로 확인하면 된다.
tnsnames.ora 가 위와 같이 설정되어 있을 때, 클라이언트에서는 다음과 겉이 오라클 서버에 접속할 수 있다.
prompt> sqlplus id/password@DB_Alias
그러나 위와 같이 접속하는 것은 보안상 취약하므로 sqlplus 로 들어가서 SQL> connect id/pass@DB_Alias 로 접속 ㅎㅎ;
[sqlnet.ora]
위치 : 서버 $ORACLE_HOME/network/admin/sqlnet.ora
설명 : 접속 방식을 저장해 놓은 서버 설정파일
NAMES.DIRECTORY_PATH= (TNSNAMES, onAMES, HOSTNAME)
#SQLNET.AUTHENTICATION_SERVICES=(NONE)
Names.directory_path 에서 "TNSNAMES" 가 맨 앞으로 설정되어 있어야 클라이언트에서 tnsnames.ora 를 이용해서 서버에 접속할 수 있다.
Sqlnet.authentication_service 는 서버에서 오라클 인스턴스에 접속할 때, 서버 계정 권한으로 아이디 패스워드 없이 오라클의 sysdba 로 접근할 수 있도록 해주는 설정이다.
(NONE) 으로 설정되면 이것을 금지하게 된다. 주석처리되어 있을 경우, 서버에서는 다음과 같이 계정/패스워드를 생략한 채 바로 sysdba 권한으로 오라클 DB에 접속할 수 있다.
SQL> connect / as sysdba
이때 접속되는 인스턴스는 env 에 설정되어있는 SID 값에 따르며 설정된 SID가 아닌 인스턴스로 접속할때는 DB계정이 필요하다.
[listener.ora]
위치 : 서버 $ORACLE_HOME/network/admin/listener.ora
설명 : 서버의 리스너 설정파일
#ADMIN_RESTRICTIONS_listener=ON
#PASSWORDS_LISTENER = C8C9FAC8EEC42AFD
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1522))
)
)
)
SID_LIST_LISTENER1 =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /oracle/product/9.2.0.6)
(SID_NAME = SID_name)
)
)
description_list 의 description 에서 address_list 는 여러개의 리스닝 포트가 올 수 있다. (예를들면 인터페이스 별로 각각의 리스닝 포트 지정)
보안을 위해서 listener_password 와 admin_restriction 를 설정해야 한다.
[기타]
현재 접속된 인스턴스 확인
SQL> select instance_name, host_name, status from v$instance; (또는 select * from gv$instance;)
패치 확인
$ORACLE_HOME/OPatch/opatch lsinventory
'Database > ORACLE' 카테고리의 다른 글
[스크랩] Checkpoint not complete 관련 (0) | 2015.10.14 |
---|---|
[스크랩] datafile #1 was not in online backup mode (0) | 2015.09.28 |
[스크랩] Open 백업(=Hot Backup) (0) | 2015.09.28 |
[스크랩] Redo Log File - Thread 1 cannot allocate (0) | 2015.09.23 |
[스크랩] RAC - Archive log mode 설정 (0) | 2015.09.09 |