원격지에서 오라클서버 시동/종료 사실 기본적인 내용이지만, 모르는 사람들이 많은 것 같아 적어본다. 여기서 다루는 내용은 원격지 오라클DB서버를 자신의 컴퓨터에서 시동/종료하는 것이다. 리눅스: 192.168.0.2 Oracle EE 8.1.7 ORACLE_SID=db [리눅스에서 작업] 1. init.ora에서 remote_login_passwordfile = remote 확인 일단, 자신의 초기화패러미터파일(initSID.ora)에서 remote_login_passwordfile패러미터가 exclusive값으로 설정되어 있는지 확인한다. [oracle@linux oracle]$ cd $ORACLE_HOME/dbs [oracle@linux dbs]$ grep remote_login_passwordfile initdb.ora remote_login_passwordfile = exclusive [oracle@linux dbs]$ 대부분 위와 같은 값을 가지고 있을 것이다. 디폴트로, 보통 아무런 지정을 하지 않았다면 exclusive값을 가지고 있고, 원격지 로그인이 가능한 놈은 sys, internal 두 놈이 있다. 여기에 다른 오라클 계정들을 추가할 수도 있는데 이 글의 후반부에 언급하겠다. 2. 리스너를 실행 원격에서 연결하려면, 당연히 리스너가 실행되어 있어야 한다. [oracle@linux dbs]$ lsnrctl start LSNRCTL for Linux: Version 8.1.7.0.0 - Production on 19-APR-2003 20:26:32 (c) Copyright 1998 Oracle Corporation. All rights reserved. Starting /u01/app/oracle/product/8.1.7/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 8.1.7.0.0 - Production System parameter file is /u01/app/oracle/product/8.1.7/network/admin/listener.ora Log messages written to /u01/app/oracle/product/8.1.7/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.2)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.2)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 8.1.7.0.0 - Production Start Date 19-APR-2003 20:26:32 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security OFF SNMP OFF Listener Parameter File /u01/app/oracle/product/8.1.7/network/admin/listener.ora Listener Log File /u01/app/oracle/product/8.1.7/network/log/listener.log Services Summary... db has 1 service handler(s) The command completed successfully [oracle@linux dbs]$ [윈도에서 작업] 3. init.ora파일을 자신의 컴퓨터로 복사 리눅스에 있는 init.ora파일을 자신의 컴퓨터로 복사해 온다. 우리는 윈도에서 리눅스에 존재하는 오라클서버를 시동할때 이것을 이용할 것이다. C:\oracle\admin>ftp 192.168.0.2 Connected to 192.168.0.2. 220 ready, dude (vsFTPd 1.1.0: beat me, break me) User (192.168.0.2:(none)): oracle 331 Please specify the password. Password: 230 Login successful. Have fun. ftp> bin 200 Binary it is, then. ftp> cd /u01/app/oracle/product/8.1.7/dbs 250 Directory successfully changed. ftp> get initdb.ora 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for initdb.ora (4426 bytes). 226 File send OK. ftp: 4426 bytes received in 0.00Seconds 4426000.00Kbytes/sec. ftp> quit 221 Goodbye. C:\oracle\admin> 4. 원격지 DB를 기동/종료 C:\oracle\admin>type C:\oracle\ora81\network\ADMIN\tnsnames.ora LINUXDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = TCP_COMM)(PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521)) ) (CONNECT_DATA = (SID = db) (GLOBAL_NAME = db.world) ) ) sqlplus실행부분이 빠져서 추가했음(2003-07-30) C:\oracle\admin>sqlplus /nolog SQL*Plus: Release 8.1.7.0.0 - Production on 수 Jul 30 22:24:24 2003 (c) Copyright 2000 Oracle Corporation. All rights reserved. SQL> connect sys/change_on_install@linuxdb as sysoper 휴지 인스턴스에 접속되었습니다. SQL> startup pfile=c:\oracle\admin\initdb.ora ORACLE 인스턴스가 시작되었습니다. Total System Global Area 30064800 bytes Fixed Size 73888 bytes Variable Size 13041664 bytes Database Buffers 16777216 bytes Redo Buffers 172032 bytes 데이터베이스가 마운트되었습니다. 데이터베이스가 열렸습니다. SQL> select * from v$pwfile_users; USERNAME SYSDB SYSOP ------------------------------ ----- ----- INTERNAL TRUE TRUE SYS TRUE TRUE SQL> shutdown 데이터베이스가 닫혔습니다. 데이터베이스가 마운트 해제되었습니다. ORACLE 인스턴스가 종료되었습니다. SQL> 다른 계정으로 시동/종료 v$pwfile_users에 존재하는 internal, sys는 원격지 시동/종료가 가능하다. 그럼, sys사용자 대신 system으로 시동/종료해 보도록 하자. SQL> startup pfile=c:\oracle\admin\initdb.ora ORACLE 인스턴스가 시작되었습니다. 데이터베이스가 마운트되었습니다. 데이터베이스가 열렸습니다. SQL> connect sys/change_on_install@linuxdb as sysdba sysoper권한을 주기 위해선 sysdba권한이 필요하다. 연결되었습니다. SQL> grant sysoper to system; 시동/종료는 sysoper권한으로 충분하다. sysdba권한은 되도록이면 남용하지 않는 것이 좋다. 권한이 부여되었습니다. SQL> select * from v$pwfile_users; USERNAME SYSDB SYSOP ------------------------------ ----- ----- INTERNAL TRUE TRUE SYS TRUE TRUE SYSTEM FALSE TRUE SQL> shutdown 데이터베이스가 닫혔습니다. 데이터베이스가 마운트 해제되었습니다. ORACLE 인스턴스가 종료되었습니다. SQL> connect system/change_on_install@linuxdb as sysoper 휴지 인스턴스에 접속되었습니다. SQL> startup pfile=c:\oracle\admin\initdb.ora ORACLE 인스턴스가 시작되었습니다. 데이터베이스가 마운트되었습니다. 데이터베이스가 열렸습니다. SQL> shutdown 데이터베이스가 닫혔습니다. 데이터베이스가 마운트 해제되었습니다. ORACLE 인스턴스가 종료되었습니다. SQL> PS> 리눅스에서 부팅시마다 리스너를 실행토록 하려면 다음과 같이 해둔다. [root@linux root]# cat >> /etc/rc.d/rc.local su - oracle -c "/u01/app/oracle/product/8.1.7/bin/lsnrctl start" [root@linux root]# [2003-07-30 추가] DB서버를 제어(시동/종료)하는 윈도클라이언트에서, DB서버내의 리스너가 정상적으로 실행되어 있는지는 'lsnrctl statux 서비스이름'으로 파악할 수 있다. 물론 간단히 tnsping으로도 확인할 수 있을 것이다. C:\oracle\admin>lsnrctl status linuxdb LSNRCTL for 32-bit Windows: Version 8.1.7.0.0 - Production on 30-JUL-2003 22:29:25 (c) Copyright 1998 Oracle Corporation. All rights reserved. (DESCRIPTION=(ADDRESS=(COMMUNITY=TCP_COMM)(PROTOCOL=TCP)(HOST=192.168.0.2)(PORT=1521))(CONNECT_DATA= (SID=db)(GLOBAL_NAME=db.world)(SERVER=DEDICATED)))에 연결되었습니다 리스너의 상태------------------------ 별칭 LISTENER 버전 TNSLSNR for Linux: Version 8.1.7.0.0 - Production 시작 날짜 30-JUL-2003 22:06:07 업타임 0 일 0 시간. 19 분. 0 초 트레이스 수준 off 보안 OFF SNMP OFF리스너 매개변수 파일 /u01/app/oracle/product/8.1.7/network/admin/list ener.ora 리스너 로그 파일 /u01/app/oracle/product/8.1.7/network/log/listener.log 서비스 요약... db has 1 서비스 핸들러 명령이 성공적으로 수행되었습니다 C:\oracle\admin> |
This article comes from dbakorea.pe.kr (Leave this line as is)
출처 : https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=10096
'Skills > Database' 카테고리의 다른 글
오라클 원격 접속하기 - TNSListener service (0) | 2014.06.27 |
---|---|
[DB-Oracle] 오라클 계정 생성, 삭제, 시스템 패스워드 변경 (0) | 2014.06.27 |
[Oracle Error] INS-06101 IP address of localhost could not be determined (0) | 2014.06.26 |
리눅스 oracle10g설치시 에러 ORA-01078 LRM-00109 (0) | 2014.06.26 |
리눅스 오라클 시작/중지 (0) | 2014.06.26 |
댓글