|
서 론
인터넷 서버로서의 많은 가능성을 보여주고 있는
Linux는 사실상 미묘한 문제가 있었다. Apache는 웹서버로서의 더할
나위 없는 정상의 고지에 있었고, Samba는 많은 작업들을 MS WINDOWS로부터
해방시켜 주었으며 X WINDOW는 MS의 그것과 못지 않은 많은 윈도우
매니저들로 치장되었다. 문제는 좀더 신뢰성 있는 서비스들이었고
그것은 대체로 D/B 시스템과의 밀접한 관계를 가진다. 물론 Linux에서도
아주 훌륭한(그것도 공개의) D/B 들이 존재하는데 MiniSQL이나 Postgresql등이
그것이고 MySQL같은 조금 특별한(반 공개/반 상용) 것들도 있다.
하지만, 이것들이 아무리 훌륭하다고 해도 사용자의 입장에서는
누구하나 책임져주지도, 기술지원 해주지도 않는 이러한 D/B 시스템들에
자신의 귀중한, 혹은 상업적인 목적의 자료를 담아두고 맘 편해
하는 이는 별로 없을 것이다. 그러나 지금은 여러 우여 곡절 끝에
Linux는 Oracle 을 위시한 대형 D/B시스템 업체들로부터 지원을
받게 되었다. 대형 상용 D/B시스템 업체들의 지원과 엔터프라이즈급
성능을 갖춘 커널 2.2의 발표로 인터넷 서버 시장을 넘어 이제는
국내에서도 엔터프라이즈 플랫폼으로 Linux 가 강력하게 등장하고
있다.
목 적
이 글의 목적은 간단하다. 여러 D/B벤더들의
제품중에서 유독 한국에서 초강세를 보이고 있는 Oracle (server
for Linux 8.0.5)를 Linux상에서 설치하는 방법과 운용 방법, 그리고
간단한 pro-c 사용법, 그리고 한참 주가를 올리고 있는 php3와의
연동을 약 3회분에 걸쳐 살펴본다. Test에 사용된 Oracle server는
정품이 아니고 Oracle Home Page에 가면 쉽게 구할 수 있는 개발자
버전임을 알려둔다.
◎ 시스템 요구사항
메모리 : 활용의 목적이 아닐 경우 32메가도
가능
스왑영역 : 일반적으로 RAM의 3배 크기의 스왑영역이
권장. 1GB이상의 RAM을 가진
시스템에서는
2배 크기의 스왑영역이 권장된다.
디스크 : 최소한 4개(At least four devices)
: Oracle 소프트웨어 설치를 위해 하나, 나머지
세개는
OFA호환 데이터베이스를 생성하기 위해 사용된다. -
활용의 목적이 아닐 경우 한 개의 디스크라도 상관없다. -
활용의 목적이라면 최소 2개의 물리적 디스크 추천 (리눅스, 오라클
) -
다운로드 받은 파일과 압축을 풀고 설치할 용량으로 최소 1기가
이상이 필요하다.
Operating System : Linux 2.0.34 - 오라클의
리눅스 팀은 실제 2.0.33 이상이라고 한다. - 필자는 참고로
국내에서 유명한 알짜 리눅스 5.2를 사용하였으며 커널은 2.0.36을
사용하였다.
System Libraries : GNU C Library, version
2.0.7 - 문서상에서는 2.0.7이상을 요구하고 있으나 오라클의
리눅스 개발 팀으로부터의 설명으로는 실제
2.0.6이상이면 된다고 한다. GLIBC 2.1.x
용으로는 패치 파일이 따로 나와 있다. 아직 테스트는 해보지 못했다.
Window Manager : 어떤 X 윈도우 시스템도 가능
-솔라리스에서는 X-window 상에서 관리할 수 있는 svrmgrm 이 있지만
Linux에서는 현재
커맨드 라인 모드에서만 작동하는svrmgrl 만이 존재한다.
가. root 로 하여야 할일
1. 다운로드 http://technet.oracle.com에서
오라클 리눅스를 다운 받는다.
2. /usr/src 에 다운로드 받은 805ship.tgz 파일을
옮긴 후 /usr/src/ora에서 압축을 푼다. /usr/src/ora
상에 다음과 같은 파일과 디렉토리가 생성되었을 것이다.
# ls DST.LST
network/
plsql/
nlsrtl/ precomp/
RELDESC.TXT
ocommon/ rdbms/
bin/
oemagent/ slax/
oracore/
sqlplus/ jdbc/
orainst/
svrmgr/ lib/
ord/
unix.prd otrace/
unixdoc/
3. Create Mount Points 이제
오라클을 설치할 위치를 정하는 단계이다. 여기서는 /home/oracle에
오라클을 설치
하는 것으로 가정하겠다. 이 위치에 오라클을
설치할 하드 디스크 파티션을 마운트 시켜야
한다. - 대부분의 사용자가 하나의
파티션에 리눅스를 설치할 것이다. 그렇지만 만일 두개 이상의
하드디스크 파티션을 이용할 것이라면 /etc/fstab의
내용을 적합하게 고쳐야 한다.
각 파티션의 내용을 다음에 설명하도록 하겠다.
4. DBA group 생성 /etc/group
파일에 dba라는 그룹을 생성한다.
# groupadd dba 혹은
직접 vi edit로 /etc/group을 편집할 수도 있다.
5. 리눅스 커널 설정 오라클8
서버의 SGA 구조를 수용하기 위해 리눅스 커널의 Interprocess Communication
(IPC) 파라메터들을 설정해야 한다. 시스템이
SGA를 수용하기에 충분한 shared 메모리를
가지지 않았다면 데이터베이스를 실행할
수 없을 것이다.
다음에 상응하는 커널 파라메터를 설정한다.
maximum size of a shared memory segment(SHMMAX)
maximum number of shared memory segments in the system(SHMMNI)
maximum number of shared memory segments a user process can
attatch(SHMSEG) maximum amount of shared memory that can
be allocated system-wide(SHMMNS) SHMMAX*SHMSEG에 의해 허용되는
전체 shred 메모리 크기가 결정된다.
ㄱ) SHMMAX = 4294967295 : 단일 공유 메모리
세그먼트의 최대크기(바이트단위) ㄴ) SHMMIN = 1 : 단일 공유메모리
세그먼트의 최소크기(바이트) ㄷ) SHMIMNI = 100 : 공유메모리
지시자(identifiers)의 갯수 ㄹ) SHMSEG = 10 : 각 프로세스에
부여될 수 있는 공유메모리 세그먼드의 최대 갯수 ㅁ)
SEMMNS = 200 : 시스템 내의 세마포어 갯수 ㅂ) SEMMNI = 70
: 세마포어 지시자(identifiers)의 갯수. SEMMNI은 동시에 생성될
수 있는 세마포어
갯수를 결정한다. ㅅ) SEMMSL = PROCESSES 초기화 파라메터의
값과 같거나 크도록, 하나의 세마포어 안에
존재할
수 있는 세마포어들의 최대 갯수.
오라클
프로세스들의 최대 갯수와 같아야 한다.
솔라리스의 경우에는 다음의 값들을 /etc/system
파일에서 설정해 주어야 하지만, 설정을 하지 않아 문제가 발생한적은
없었다. 기본 커널 상태로 놓고 인스톨하여도 무방하다. (레드헷의
디폴트 커널이든 다시 컴파일한 커널이든)
6. 오라클 관리자 계정 생성 adduser
혹은 useradd 로 dba그룹에 속하는 유저 oracle을 생성한다.
ㄱ) adduser 명령으로 oracle user를 생성한다.
# adduser oracle ㄴ) vi
/etc/passwd 명령을 사용하여 oracle user 의 설정 값을 위에서
설명한 것대로 바꾼다.
- dba gid와 같아야 한다.
7. oratab 파일 생성 오라클
인스턴스에 대한 정보는 oracle 소유의 oratab 파일에 저장된다.
하지만 이 스크립트를 root로 실행해서 /etc
디렉토리에 oratab 파일이 생성되도록 한다.
실제 인스톨과정에서 oratab.sh을
실행하면 ORACLE_OWNER환경변수가 설정되어 있는지 묻고
있다. 따라서 ORACLE_OWNER을 다음과 같이 설정한다.
나. oracle user 로 할 일
1. ~/.bash_profile의 수정 (
sh을 사용할 경우 .profile을 수정한다. redhat 리눅스를 기준으로
설명한다.) oracle로 접속하여 다음과 같이
.profile을 만든다. RedHat에서는 .bash profile 이다.
export ORACLE_HOME=/home/oracle/app/oracle/product/8.0.5
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib
export ORACLE_SID=linux export ORACLE_TERM=386 export
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export
PATH=$PATH:$ORACLE_HOME/bin export TMPDIR=/tmp export
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
umask 022 (위에서 export 다음의 줄을 export 뒤에 나와야
한다.)
위의 경우는 “root 작업 4”의 “Create Mount
Points”에서 이야기한 오라클을 설치할 경로로 /home/oracle인
경우이다.
각 설정에 대한 설명
ORACLE_HOME : 오라클을 /home/oracle에
설치하기로 하였으므로 /home/oracle/app/oracle/product/8.0.5로
지정된다.
LD_LIBRARY_PATH : 오라클의 동적/정적 라이브러리의
경로를 나타내는 환경변수로 Pro*C나 PHP등을 사용할 때 중요하게
적용된다.
ORACLE_SID : 오라클 인스턴스의 이름이다.
영문자로 3-4글자로 정해준다. 필자는 인스턴트의 이름을 linux
라고 지었다.
그 외의 환경변수는 예제에 나와 있는 데로 하면
된다.
지역언어설정 환경변수 NLS_LANG은 모든 인스톨이
끝나고 설명하도록 하겠다.
환경변수 갱신
다. 실제적인 Oracle 의 설치
1. 인스톨러 실행
ㄱ) oracle로 로그인 한다. - 절대 root로
인스톨로를 실행하면 안된다. ㄴ) oracle 설치 디렉토리로
이동 # cd /usr/src/ora/orainst
ㄷ) orainst를 실행한다. #
./orainst 를 실행한다.
화면에서 [TAB]키, 화살표키, 스페이스 바를
이용하여 항목을 선택할 수 있다.
2. 검은 배경의 설치화면이 나오면 Custom Install을
선택한다.
3. 처음 설치하는 것이므로, (o) Install, Upgrade,
or De-Install Software을 선택한다.
4. 새롭게 인스톨 할 것이므로 Install
New Product - Create DB Objects을 선택한다.
5. Mount Point를 설정한다. root user로 할
일 5. 번에서 설정한 것처럼 mount point를 /home/oracle로
설정한다.
6. .bash_profile에서 설정한 것처럼 $ORACLE_HOME
디렉토리를 설정한다.
7. ORACLE_BASE 와 ORACLE_HOME을 설정한다.
8. log 파일이 남을 위치를 설정한다.
9. Install from CD-ROM을 선택하여야 한다.
10. ORACLE_SID를 .bash_profile에서 설정한
것과 같이 linux로 선택한다.
11. NLS 의 설정 - 여기에서는 일단 ALL language를
선택한다.
12. install 이 끝이 난 후 root.sh을 실행하라는
메시지가 출력된다. 반드시 install 후에는 root.sh을
실행하여야 한다.
13. Software Asset Manager에서 설치한 부분을
선택한다.여기에서는 모든 부분을 설치
한다고 가정을 한다.
14. 13)에서처럼 Install을 선택한 후 몇 가지
사항에 대하여 OK를 한 후 OSOPER group (dba)
를 설정한다.
15. 생성할 DB Object를 선택한다. - Filesystem-Based
Database을 선택한다.
16. Database Mount Points를 정한다. 설치도중에
3개의 mount points를 기입하라고 하는데 물리적으로
분리된 하드가 3개 존재하면 가장 좋지만 실제 PC에서는 힘든 일이다.
이렇게 3곳으로 데이터를 분리하는
이유는 데이터베이스가 하드 디스크로의 읽기/쓰기를 하는
과정에서 경합을 줄이고 에러 및 문제의 발생시 자연스런 복구를
위한 것이다.
하지만 오라클 프로그램과 동일한
하드디스에 밖에 인스톨 할 공간이 없다면 여기에 모두
동일한 경로를 적어주면 된다.
필자도 오라클을
설치할 때 /home/oracle에 오라클 프로그램을 설치하고 데이터
파일을 위한 3개의 마운트 포인트도
/home/oracle로 설정하였다.
17. Character Set 설정 - 한글을 쓰기 위해서KO16KSC5601로
설정한다.
18. National Character Set 설정
19. System password 의 설정 (보통 manager라고
password를 입력한다. )
20. sys password 의 설정 ( manager로 password를
설정. )
21. dba password 의 설정 ( no라고 설정한다.
)
22. TNS Listener Password 의 설정
23. Configure MTS and start SQL*Net listener
설정은 no로 한다.
24. Control files 의 위치 확인.
25. 기본적인 데이터베이스 관련 파일의 위치와
용량의 확인
26. JDBC 셋의 선택 (default로 선택을한다.)
27. CTX Temporary Tablespace을 선택한다.
28. CTX demo table을 설치할 것을 선택한 후에,
Oracle Document를 설치할 것에 대하여
셋팅한다. 디렉토리를 설정한 후
pdf, html, both 어떤 형식으로 설치할 것인지 묻는데
그때에는 자신이 원하는 항목 중에서
한가지를 선택하면 된다.
29. 이제 인스톨이 시작되기 시작하고 그래프가
올라가기 시작한다. 하염없이 기다리자 -_-;
30. 설치완료 화면.
31. 설치 검증 설치가
모두 끝났다면 $ORACLE_HOME/orainst 디렉토리에 생성된 root.sh을
root 계정
으로 실행 시킨다.
ㄱ) root로 로그인한다.
ㄴ) cd $ORACLE_HOME/orainst ㄷ)
./root.sh
# ./root.sh - /etc/oratab 아래에 다음과
같은 내용이 추가되었다.
*:/home/oracle//app/oracle/product/8.0.5:N
linux:/home/oracle/app/oracle/product/8.0.5:N
라. Oracle Database 의 구동
1. oracle user로 login.
2. svrmgrl을 실행시킨 후 database를 가동한다.
$ svrmgrl - svrmgrl
의 실행
SVRMGR> connect internal -
internal 접속 Connected. Oracle
Server Manager Release 3.0.5.0.0 - Production
(c) Copyright 1997, Oracle Corporation.
All Rights Reserved.
Oracle8 Release 8.0.5.0.0 - Production
PL/SQL Release 8.0.5.1.0 - Production
SVRMGR> connect internal -
internal 접속 Connected.
SVRMGR> startup; ORACLE
instance started. Total System Global Area 4754704
bytes Fixed Size 48400
bytes Variable Size 4222976
bytes Database Buffers 409600
bytes Redo Buffers 73728
bytes Database mounted. Database
opened.
SVRMGR> exit - svrmgrl 의 종료
Server Manager complete.
3. lsnrctl 명령을 이용하여 Oracle listener을
가동시킨다. - lsnrctl start : Oracle
listener 의 가동 - lsnrctl stop
: Oracle listener 의 멈춤 $ lsnrctl
start
LSNRCTL for Linux: Version 8.0.5.0.0 - Production
on 26-APR-99 21:56:51 (c) Copyright 1997 Oracle Corporation.
All rights reserved.
Starting /home/oracle/app/oracle/product/8.0.5/bin/tnslsnr:
please wait...
TNSLSNR for Linux: Version 8.0.5.0.0 - Production
System paramete rfile is /home/oracle/app/oracle/product/8.0.5/network/admin/
listener.ora Log messages written to /home/oracle/app/oracle/product/8.0.5/network/log/
listener.log Listening on: (ADDRESS=(PROTOCOL=ipc)(DEV=6)(KEY=linux))
Listening on: (ADDRESS=(PROTOCOL=ipc)(DEV=10)(KEY=PNPKEY))
Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=11)(HOST=192.168.1.1)(PORT=1521))
Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=linux))
STATUS of the LISTENER ------------------------ Alias
LISTENER
Version TNSLSNR
for Linux: Version 8.0.5.0.0 - Production Start Date 26-APR-99
21:56:56 Uptime 0
days 0 hr. 0 min. 1 sec Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/8.0.5/network/admin/
listener.ora Listener Log File
/home/oracle/app/oracle/product/8.0.5/network/log/ listener.log
Services Summary... extproc has
1 service handler(s) linux has
1 service handler(s) The command completed successfully
- 오라클 리스너가 제대로 실행이 되지 않을
경우 listener.ora, tnsnames.ora을 알맞게
편집한다. (/home/oracle/app/oracle/product/8.0.5/network/admin
위치하여 있다.)
다음은 tcp/ip 프로토콜을 기준으로 하여서 listener.ora를
알맞게 편집한 것이다.
# # Installation Generated Net8 Configuration
# Version Date: Jun-17-97 # Filename: Listener.ora #
LISTENER = (ADDRESS_LIST = (ADDRESS= (PROTOCOL=
IPC)(KEY= linux)) (ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
(ADDRESS= (PROTOCOL= TCP)(Host= 192.168.1.1) (Port= 1521))
- database 가 설치되어 있는 ip를 적어준다. ) SID_LIST_LISTENER
= (SID_LIST = (SID_DESC = (GLOBAL_DBNAME= 192.168.1.1.)
- database 가 설치되어 있는 ip를 적어준다. (ORACLE_HOME=
/home/oracle/app/oracle/product/8.0.5) (SID_NAME =
linux) - linux sid , 설치도중 적어준 sid를 적어준다.
) (SID_DESC = (SID_NAME = extproc) (ORACLE_HOME
= /home/oracle/app/oracle/product/8.0.5)
(PROGRAM = extproc) ) )
STARTUP_WAIT_TIME_LISTENER = 0 CONNECT_TIMEOUT_LISTENER
= 10 TRACE_LEVEL_LISTENER = OFF
# # Installation Generated Net8 Configuration
# Version Date: Oct-27-97 # Filename: Tnsnames.ora
# extproc_connection_data = (DESCRIPTION
= (ADDRESS = (PROTOCOL = IPC)(KEY = linux)) (CONNECT_DATA
= (SID = extproc)) ) linux = - oracle alias
(DESCRIPTION = (ADDRESS = (PROTOCOL= TCP)(Host= 192.168.1.1)
(Port= 1521)) - database 가 설치되어있는 database 의 ip
(CONNECT_DATA = (SID = linux)) - oracle sid
)
linux_BEQ = (DESCRIPTION = (ADDRESS
= (PROTOCOL = BEQ)(PROGRAM = /home/oracle/app/oracle/product/8.0.5)
(argv0 = oraclelinux) (args = ‘(DESCRIPTION = (LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))’)
(envs = ‘ORACLE_HOME=/home/oracle/app/oracle/product/8.0.5,ORACLE_SID=linux’)
) )
4. 이제 다시 lsnrctl start 명령으로 실행하여
Oracle listener을 실행한다. 이제
sqlplus을 실행하여 접속이 되나 확인을 하자. test 용으로 id :
scott password : tiger 가 제공됨을
알 수 있다. 이미 설치 중에 system과 sys의 password는 직접 입력하였으므
로, system 혹은 sys로 접속이 가능한지
확인할 수 있다.
5. sqlplus로 접속이 확인되었으면 이제 listener을
종료한 후 database를 종료시켜 보자.
- listener 의 종료 $ lsnrctl stop
LSNRCTL for Linux: Version 8.0.5.0.0 - Production
on 26-APR-99 22:18:35
(c) Copyright 1997 Oracle Corporation. All
rights reserved.
Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=linux))
The command completed successfully
- oracle database 의 shutdown $ svrmgrl
Oracle Server Manager Release 3.0.5.0.0 - Production
(c) Copyright 1997, Oracle Corporation. All
Rights Reserved.
Oracle8 Release 8.0.5.0.0 - Production
PL/SQL Release 8.0.5.0.0 - Production
SVRMGR> connect internal Connected.
SVRMGR> shutdown Database closed. Database dismounted.
ORACLE instance shut down. SVRMGR> exit Server Manager
complete.
$
마. Oracle Database 의 사용자 등록
system/manager라는 Oracle 사용자 계정은 UNIX시스템에서의
root를 사용하는 것과 유사하기 때문에 우리는 문제를 발생시키는
것을 최소화하기 위해 되도록 적은 권한을 갖는 사용자를 생성할
필요가 있다.
SQL*PLUS에 연결하고 사용자를 생성한다.
$ sqlplus system/manager
SQL*Plus: Release 8.0.5.1.0 - Production
Copyright (c) Oracle Corporation 1997. All
rights reserved.
Connected to: Oracle8 Server Release 8.0.5.0.0
- Production Release PL/SQL Release 8.0.5.0.0 - Production
SQL> create user <user> identified
by <psw> 2 default tablespace users 3 temporary
tablespace temp;
User created. SQL> grant connect, resource
to <user>
Grant succeeded.
SQL> exit
Disconnected from Oracle8 Server Release 8.0.5.0.0
- Production Release PL/SQL Release 8.0.5.0.0 - Production
시스템에 새로운 사용자계정을 생성하였기 때문에
새로운 계정을 가지고 시스템에 로그인 할수 있다. Oracle 데이터베이스에
로그인 하기 위해서는 다음과 같다.
$ sqlplus <user>/<password>
이 부분이 에러 메시지 없이 수행된다면, 성공적으로
Oracle 데이터베이스를 설치한 것이다.
바. Oracle 데이터 베이스의 자동 실행
Oracle 데이터베이스의 자동 시작과 중지는 Oracle에서
제공하는 파일인 dbstart와 dbstop를 이용하여 설정할 수 있다.
이러한 파일들은 etc/oratab 파일의 존재여부에 의존한다.
/etc/oratab 파일의 형식은 다음과 같다.
SID:ORACLE_HOME:AUTO
설정 예
# # This file is used by ORACLE utilities.
It is created by root.sh # and updated by the Oracle8
and SQL*Net install procedures. # # A colon, ‘:’,
is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, ‘#’,
are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>:
# # The first and second fields are the system identifier
and home # directory of the database respectively. The
third field indicates # to the dbstart utility that the
database should, “Y”, or should not, # “N”, be brought
up at system boot time. # # Multiple entries with the
same $ORACLE_SID are not allowed. # # linux:/oracle8/app/oracle/product/8.0.5:Y
init.d & rc.d
리눅스 시스템의 시작과정이나 종료과정을 변형하여
데이타베이스를 시작시키고 종료 시킬 수 있다. 이것은 매우 쉽지만,
어떠한 Linux(slackware, debian, redhat, etc)시스템을 사용하느냐에
따라 변경될 수 있다는 것을 필자는 지적한다. 이 문서에서는
Redhat Linux 5.2 에서 동작하는 예를 보여줄 것이다. 자신의 Linux
시스템에 따라 수정하기 위해서는 자신의 Linux 시스템 문서 자료를
참고한다. 우선, 우리는 /etc/rc.d/init.d 디렉토리에 있는 dbshut와
dbstart를 실행할 스크립트를 생성할 필요가 있다.
#!/bin/sh # # /etc/rc.d/init.d/oracle
# Description: Starts and stops the Oracle database and listeners
# See how we were called.
case “$1” in start) echo -n
“Starting Oracle Databases: “ echo “----------------------------------------”
>> /var/log/oracle date +”! %T %a %D : Starting
Oracle Databases as part of system up.” >> /var/log/oracle
echo “--------------------------------------------”
>> /var/log/oracle su - oracle -c dbstart >>
/var/log/oracle echo “Done.” echo -n “Starting
Oracle Listeners: “ su - oracle -c “lsnrctl start”
>> /var/log/oracle echo “Done.” echo
“” echo “--------------------------------------------”
>> /var/log/oracle date +”! %T %a %D : Finished.”
>> /var/log/oracle echo “--------------------------------------------”
>> /var/log/oracle touch /var/lock/subsys/oracle
;; stop) echo -n “Shutting Down Oracle
Listeners: “ echo “-----------
---------------------------------” >>
/var/log/oracle date +”! %T %a %D : ShutDown Oracle
Databases as part of system down.” >> /var/log/oracle
echo “--------------------------------------------”
>> /var/log/oracle echo “Done.” rm
-f /var/lock/subsys/oracle echo -n “Shutting Down
Oracle Databases: “ su - oracle -c dbshut >>
/var/log/oracle echo “Done.” echo “”
echo “--------------------------------------------”
>> /var/log/oracle date +”! %T %a %D : Finished.”
>> /var/log/oracle echo “-------------------------------------------”
>> /var/log/oracle ;;
restart) echo -n “Restarting Oracle
Databases: “ echo “-------------------------------------------”
>> /var/log/oracle date +”! %T %a %D : Restarting
Oracle Databases as part of system up.” >> /var/log/oracle
echo “-------------------------------------------” >>
/var/log/oracle su - oracle -c dbstop >> /var/log/oracle
su - oracle -c dbstart >> /var/log/oracle echo
“Done.” echo -n “Restarting Oracle Listeners: “
su - oracle -c “lsnrctl stop” >> /var/log/oracle
su - oracle -c “lsnrctl start” >> /var/log/oracle
echo “Done.” echo “” echo “--------------------------------------------”
>> /var/log/oracle date +”! %T %a %D : Finished.”
>> /var/log/oracle echo “-------------------------------------------”
>> /var/log/oracle touch /var/lock/subsys/oracle
;;
*)
echo “Usage: oracle {start|stop|restart}”
exit 1 esac
이 파일이 실제적으로 정확히 당신의 시스템에서
데이터베이스를 중지하고 실행시키는지를 확인해야 한다.
에러메세지를 위한 /var/log/oracle인 log 파일을 확인하라.
다음 명령들은 실행수준 2,3,4에 해당하는 데이테베이스를 실행시는
것을 확인 시켜줄 것이다.
$ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle
$ ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle $ ln
-s ../init.d/oracle /etc/rc.d/rc4.d/S99oracle
시스템을 재 부팅하거나, 재 실행 시킬 때에
데이터베이스를 중지시키기 위해서 우리는 다음과 같은 연결(link)이
필요한다.
$ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle
# Halting
$ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle #
Rebooting
마치는 글
이상으로 간략하게나마 Linux 상에서의 Oracle
데이터베이스 설치와 구동법에 대해서 알아보았다. 그림과
함께 좀 더 명확한 설치법을 소개해 줄 수도 있었지만, 이제 간단한
설치법 정도는 기타 책이나 오라클사 세미나에 가면 쉽게 구할 수
있으므로 기본 설치법에 사용자 등록, 자동 시작/종료를 추가해
첫 글을 마친다. 다음에는 간단한 sqlplus 사용법, Oracle SQL,
pro-c 에대해서 알아보고 마지막으로 PHP3와 연동하는 것으로 이
글을 마칠까 한다.
▲ top
|