티스토리 뷰

Database

[ORACLE] 오라클 죽이고 살리고 @_@;;

애플자라 2007. 8. 30. 00:05
반응형

오라클시작과종료 ::

① 오라클 데이터베이스 시작하기
Database 의 시작과 종료는 반드시!! Oracle 계정으로 수행해야 합니다.
[root@ora9 /]# su oracle
[oracle@ora9 /]$ source $HOME/.bash_profile
oracle 계정으로 로그인 후 oracle 계정의 환경설정을 reload 합니다.
(처음부터 오라클 계정으로 로그인 하였다면 이 과정은 불필요합니다.)
[oracle@ora9 /]$ sqlplus /nolog
SQL>connect / as sysdba
SQL> startup
오라클 데이터베이스를 시작하고 종료하기 위해서는 OS에서의 인증과 암호 파일을 생성하는
툴인 orapwd를 통해야 한다. 그리고 sys 스키마의 권한인 sysdba 권한과 public 스키마
권한인 sysoper 권한의 특별한 시스템 권한을 소유한 사용자이어야 한다.
· sysdba : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP, CHANGE, CHARACHER SET 절의 명령어 실행
· sysoper : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP 절의 명령어 실행
SQL> SELECT * FROM v$version;
현재의 오라클 데이터베이스 인스턴스의 버전 확인하기
② 오라클 데이터베이스 종료하기
[oracle@ora9 /]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate
③ oratab 파일 편집하기
오라클 데이터베이스를 /etc/rc.d/ini.d에 스크립트로 설정하여 자동으로 실행하게 하여봅시다.
[root@ora9 /]# vi /etc/oratab
다음 부분을 수정 ([SID], [ORACLE_HOME], [자동실행/종료 플래그]로 구성되어 있습니다.)
ora9:/opt/oracle/product/9.2.0.1.0:N e ora9:/opt/oracle/product/9.2.0.1.0:Y
④ Parameter 파일 링크 (xxxxxxxxxxxx은 일정치 않은 숫자 입니다.)
[root @ora9 /]# cp /opt/oracle/admin/ora9/pfile/initora9.ora.xxxxxxxxxxxx \r
/opt/oracle/product/9.2.0.1.0/dbs/initora9.ora
⑤ /etc/rc.d/init.d 에 등록하기
oracle9i 스크립트를 /etc/rc.d/init.d 에 복사합니다.
[root@ora9 /]# cp /usr/local/src/oracle9i /etc/rc.d/ini.t/
oracle9i에 실행권한을 부여합니다.
[root@ora9 /]# chmod 755 /etc/rc.d/init.d/oracle9i
실행수준 2,3,4에 해당하는 데이테베이스를 실행시키기 위하여 심볼릭 링크를 한다.
[root@ora9 /]# ln -s /etc/rc.d/init.d/oracle9i /etc/rc.d/rc2.d/S99oracle9i
[root@ora9 /]# ln -s /etc/rc.d/init.d/oracle9i /etc/rc.d/rc3.d/S99oracle9i
[root@ora9 /]# ln -s /etc/rc.d/init.d/oracle9i /etc/rc.d/rc4.d/S99oracle9i
시스템을 재부팅하거나, 재실행 할 때에 데이터베이스를 중지하기 위하여 심볼릭 링크를 한다.
[root@ora9 /]# ln -s /etc/rc.d/init.d/oracle9i /etc/rc.d/rc0.d/K01oracle9i
[root@ora9 /]# ln -s /etc/rc.d/init.d/oracle9i /etc/rc.d/rc6.d/K01oracle9i
Oracle Database를 재시작 시켜본 후, LISTENER 데몬이 띄워져 잇는지 확인합니다.
[root@ora9 /]# /etc/rc.d/init.d/oracle9i restart
[root@ora9 /]# ps ax | grep LISTENER

리스너 간략정리

오라클 클라이언트에서 서버에 접속하기 위해서는 오라클 서버에 리스너(LISTENER)가 실행되어 있어야 됩니다.

◈ 리스너(Listener)란?
- 오라클 리스너는 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한
오라클 네트워크 관리자 입니다.
- 오라클에서 네트워크를 통한 연결은 모두 리스너가 담당하며 리스너와 연결되기
위해서는 클라이언트에 오라클 NET8이 설치되어 있고 이를 통해 오라클 서비스명이라는 것을
만들어 접속해야 합니다.
- 오라클 서버에서 리스너를 시작시켜줘야 클라이언트들이 접속할 수 있습니다.
- lsnrctl명령어로 리스너를 관리 할 수 있습니다.

-- 리스너 시작하기
C:>lsnrctl
LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 01-MAY-2002 23:34:57
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
LSNRCTL에 오신 것을 환영합니다. 정보를 보시려면 "help" 를 입력하십시오.
-- start를 입력하면 리스너가 시작됩니다.
LSNRCTL>start

-- 리스너 관련 명령어들
시작시 : LSNRCTL> start
멈출 때 : LSNRCTL> stop
재시작시 : LSNRCTL> reload
서비스 상태보기 : LSNRCTL> status
명령어 보기 : LSNRCTL> help


오라클 서버/클라이언트간의 네트워크 설정을 하기위해서는 서버에서는 listener.ora파일을 그리고
클라이언트에서는 tnsnames.ora파일을 설정해 주어야 합니다.

◈ listener.ora
- 오라클 서버에서 클라이언트의 요청을 듣고, 클라이언트와의 통신을 환경을 설정하는 파일입니다.
- 오라클 서버에 존재하며, 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜 및 포트정보등을 설정하는 파일 입니다.
- 프로토콜은 주로 TCP/IP가 많이 사용됩니다.

◈ tnsnames.ora
- 오라클 Client측에서 오라클 서버로 접속할때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스등을 설정해주는 파일로서 클라이언트에 위치 합니다.

* 참고
- listener.ora와 tnsnames.ora파일의 위치는 ORACLE_HOME/network/ADMIN/에 존재 합니다.
- linstener.ora와 tnsnames.ora는 둘다 오라클 설치시 Net8 configuration 작업을 해주면 생성이 됩니다.




개인적의견:DB죽일때 abort로 죽이지마시고 immiate로 죽이세욤.. 무슨일이 일어날찌 모름 --
그리고 안죽으면 물려있는 프로세스와 세션 다 죽이고 하삼...




출쳐+_+:http://cafe.naver.com/foryouweb.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1207

 

오라클 DB의 리스너 포트 변경하는 법

근데 오라클 메뉴얼에 있다는게 함정....


먼저 lsnrctl stop 으로 리스너를 중지합니다
그리고 listener.ora에서 1521 포트를 변경하고자하는 포트로 변경합니다.


LISTENER =
   (DESCRIPTION_LIST =
      (DESCRIPTION =
         (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
         (ADDRESS = (PROTOCOL = TCP)(HOST = DB서버호스트네임 or ip)(PORT = 1523))
      )
   )


이렇게 설정해주고 나서 lsnrctl start 명령으로 재시작 합니다.


오라클로 접속한 다음에


$ sqlplus / as sysdba

SQL> ALTER SYSTEM SET LOCAL_LISTENER = "(ADDRESS=(PROTOCOL=TCP)(HOST=DB서버호스트네임 or ip)(PORT=1523))";

SQL> ALTER SYSTEM REGISTER;


lsnrctl status 명령과 netstat -nlp | grep 1523 으로 확인해보면 정상 변경이 확인 될 겁니다.

 

출처 - http://db.necoaki.net/87

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함