E 데이터베이스관리 1 2 E.1 데이터베이스시작과종료 (STARTUP & SHUTDOWN) 오라클은윈도우운영체제에서시스템서비스로돌아가는일종의응용프로그램이다. 이는 6 설치가완료되었으면 [ 시작 ]-[CA]-[ERwin]-[ERwin Data Modeler r9]-[erwin Data Modeler] 을실행한다. [CA Erwin Data Modeler Licensing] 창이나오면 <OK> 를한다. [Windows 보안경고 ] 역시기본값으로두고 < 액세스허용 > 을하면 ERwin이실행된다. 오라클의운영이운영체제에종속된다는의미이며운영체제에문제가발생할경우오라클서비스역시영향을받게된다는말이다. 따라서오라클이관리하는데이터의안정성을확보하기위해서는정상적으로종료 (SHUTDOWN) 하고시작 (STARTUP) 하는과정이필요하다. 다음은오라클의 STARTUP 과정을나타낸그림이다. 기본적으로오라클이실행되지않는상태를 SHUTDOWN 상태로보고최종 OPEN까지 NOMOUNT와 MOUNT 상태를거치게된다. 오라클은각상태별로필요한파일을읽어와확인한후최종적으로 OPEN한다. STARTUP SHUTDOWN INSTANCE 시작파라미터파일 DB 확인 CONTROL FILE 오픈 모든파일 OPEN DATA FILE REDO LOG FILE 등 NOMOUNT MOUNT OPEN 그림 E-1 오라클의시작과종료 SHUTDOWN 오라클 DB 는윈도우서비스로등록되어있어윈도우를시작하면자동으로 STARTUP 된다. 만약정상적으로 STARTUP 되지않는다면 DBA 가수동으로각상태를거치면서 STARTUP 을진행할수있다. 오라클을내부또는외부에서접근하기위해서네트워크에연결되어있어야하며접속방법도따로정의되어있어야한다. 네트워크연결과접속방법은 Listener( 서버 ) 와 TNS(Transparent Network Substrate) 를통해이루어진다. 이책에서는리스너와 TNS 같은오라클아키텍처에관해다루지않으므로자세한내용은관련서적을참고하기바란다. DBA 가수동으로 STARTUP 하는과정을실습해보자. 실습은 SQL Plus 에서진행한다. 앞에 서오라클을정상적으로설치하였다면현재오라클데이터베이스가운영중일것이므로우선 46 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 47
종료 (SHUTDOWN) 한후시작 (STARTUP) 하는순으로실습을진행한다. SQL> SHUTDOWN IMMEDIATE; 연결된모든세션을종료하고즉시 DB 종료 1 윈도우의 [ 시작 ]- 검색창에서 cmd 를입력하여명령창을연다. 명령창에서 SQL Plus 를 실행한 (STARTUP 과 SHUTDOWN 은모두 SYSDBA( 관리자 ) 모드에서진행한다 ) 후인 스턴스상태를확인한다. C:\Users\madang>sqlplus /AS SYSDBA SQL> SELECT * FROM V$INSTANCE; SQL Plus 를 sysdba 모드로실행 인스턴스정보확인 3 종료가잘됐는지확인하기위해 SQL Plus 를실행해본다. 휴지 (idle) 인스턴스에접속되 었습니다 라고나오면오라클이현재운영중이아니라는뜻이므로잘종료된것이다. C:\Users\madang>sqlplus /AS SYSDBA SQL Plus 를 sysdba 모드로실행 2 SHUTDOWN 은오라클 DB 를종료하는명령이다. SHUTDOWN [NORMAL TRANSACTIONAL IMMEDIATE ABORT ] NORMAL : 기본값이다. 연결중인세션의접속이종료되면 DB를종료한다. TRANSACTIONAL : 작업이진행중이지않은세션을강제종료한다. 진행중이면대기후 DB를종료한다. IMMEDIATE : 세션을강제로종료한후 DB를종료한다. ABORT : 세션연결유무에상관하지않고인스턴스를강제종료한다. 다음과같이입력하면오라클 DB가종료된다. 48 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 49
4 이제오라클 DB 를 STARTUP 해보자. STARTUP 은오라클 DB 를시작하는명령이다. STARTUP [FORCE] [RESTRICT] [OPEN [RECOVER] [database] MOUNT NOMOUNT ] FORCE : 가동중인 DB를재시작한다. RESTRICT : DB를제한된모드로시작한다. OPEN : 운영에필요한모든파일만오픈한다. RECOVER : 오라클을복구한다. NOMOUNT : 인스턴스만시작한다. DB를생성할수있다. MOUNT : CONTROL FILE, 복구작업을진행할수있다. 다음과같이입력하여오라클 DB를시작한다. 일반적으로 STARTUP한후에는 DB Health Check( 상태확인 ) 작업을진행해야한다. Health Check는운영하는 DB에맞게스크립터를작성하거나 DBA Tool을사용하여진행할수있다. 이책의주제와맞지않아다루지않는다. 윈도우서비스에등록된오라클확인방법 앞의설명에서오라클 DB 는윈도우서비스로등록되어있어윈도우를시작하면자동으로시작된다고했다. 윈도우에등록된오라클을확인하는방법은다음과같다. 1 윈도우 [ 시작 ]-[ 제어판 ]-[ 관리도구 ]-[ 서비스 ] 를실행한다. 2 [ 서비스 ] 창에서 Oracle 관련서비스들의상태와시작유형을확인할수있다. SQL> STARTUP SQL> Exit 데이터베이스시작 SQL Plus 종료 E.2 오라클클라이언트-Oracle Instant Client 네트워크환경에서오라클서버에접속하려면클라이언트소프트웨어가필요한데, 오라클사는이러한용도로 오라클클라이언트 라는프로그램을제공한다. 오라클클라이언트는오라클서버와접속하기위해필요한네트워크및정보전송방법을정의 (TNS) 한다. DBMS는오라클클라이언트를통해오라클서버와정보를주고받는다. 오라클클라이언트는두종류 ( 오라클클라이언트, 오라클인스턴트클라이언트 ) 가있다. 여기에서는간편하게압축을풀고환경변수설정만한후사용가능한 오라클인스턴트클라이언트 의설치를알아본다. 50 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 51
오라클 DB 를원격접속으로실습하지않고오직한대의컴퓨터에오라클 DB 를설치하고실습하는경우라면이과정은필요없다. 그러니절대오라클 DB 가설치된컴퓨터에서는진행하지않기바란다. 오라클서버설정오라클 11g를외부컴퓨터에서접속하여사용하려면 listener 설정을변경해주어야한다. 1 [ 시작 ]-[ 제어판 ]-[ 관리도구 ]-[ 시스템및보안 ]-[ 관리도구 ]-[ 서비스 ] 를실행시킨다. 동작중인서비스중 <OralceDB11g_home1TNSListener> 를그림과같이중지시킨다. listener.ora를메모장으로열어다음의부분을수정한다. SID_NAME의 orcl은오라클설치시지정한 SID로변경해주고 HOST=localhost를오라클 DB가설치된컴퓨터의이름 ( 여기에서는 madang-pc) 으로변경한후기존의 listener.ora를변경한파일로교체해준다. 3 listener.ora 를변경해주었으면다시 [ 시작 ]-[ 제어판 ]-[ 관리도구 ]-[ 시스템및보안 ]-[ 관 2 서버네트워크관련설정을변경하기위해다음의경로로이동한후작업을위한 listener. ora 를만약을대비해그림과같이 listener.bak.ora 로복사해둔다. C:\app\madang\product\11.2.0\dbhome_1\NETWORK\ADMIN 리도구 ]-[ 서비스 ] 를실행한후 <OralceDB11g_home1TNSListener> 서비스를시작시킨다. 서비스가시작된것을확인한후 [ 시작 ]-[cmd] 를실행시켜다음명령을입력하여 listener 상태를확인한다. C:\Users\madang> lsnrctl status 52 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 53
리스너가그림과같이정상적으로동작한다면오라클리스너설정을완료한다. 3 설정 4 오라클설정과는별도로외부에서서버로접근하기위해서버의방화벽설정을중지하여외부에서접근할수있도록변경한다. 다음은실습의편의를위해윈도우 7의방화벽을사용중지시키는절차이므로실제업무에서는적용해서는안된다 ( 실습을종료한후에는방화벽사용을다시 사용가능 으로변경해주어야한다 ). [ 제어판 ]-[ 네트워크및인터넷 ]-[ 네트워크및공유센터 ] 로이동한후왼쪽하단의 [Windows 방화벽 ] 을실행한후다음과같이관련설정을진행한다. 실제업무에서사용중인서버나컴퓨터라면절대로방화벽을중지시키면안된다. 방화벽의상세한설정은이책의범위를벗어나므로관련프로그램사용법 ( 윈도우기본방화벽설정이나백신, 개인방화벽, 공유기설정등 ) 을숙지한후설정에서오라클이사용하는 TCP 1521 포트의외부접근을허가한후사용하기바란다. 사용자작업컴퓨터설정 1 http://www.oracle.com에접속하여 [Downloads]-[Oracle Instant Client] 를선택한후본인의 OS 환경에맞는버전을한다. 1 2 2 1 2 앞실습에서설치한오라클버전은 11.2.0.1( 오라클 11g R2) 이지만클라이언트의경우상호호환이가능하므로다음과같이 오라클 12g R1 용 [Instant Client Package Basic] 제품을한다. 오라클을다운로드할때와마찬가지로 Accept License Agreement 에동의하고로그인과정을거쳐다운로드를진행한다. 54 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 55
1 2 5 [ 시스템속성 ] 창의 [ 고급 ] 탭에서 < 환경변수 > 를한다. 시스템변수항목에서 < 새로 3 내려받은파일을 C:\ 에압축을해제한다. 압축을해제하면다운받은버전에맞는디렉토 리가생성되었을것이다. 여기에서는 C:\instantclient_12_1 로생성되었다. 만들기 > 를한후 [ 표 E-1] 과같이 ORACLE_HOME, TNS_ADMIN, NLS_LANG 변수를새로등록한다. 이어서시스템변수의리스트중 Path를찾아 < 편집 > 을한후변수값제일앞에표와같이 C:\instantclient_12_1; 를추가로입력한다. 변수값에추가하는경로는앞에서압축해제한폴더의경로이다. 정확하게입력하도록한다. 4 오라클인스턴스클라이언트는윈도우에직접설치하지않고필요에따라시스템변수에등록된정보를기준으로각응용프로그램이사용한다. 따라서시스템변수설정이잘못되면사용할수없다. 지금부터시스템변수설정을할것이다. 주의깊게입력하기바란다. 윈도우의 [ 시작 ]-[ 컴퓨터 ] 에서마우스오른쪽버튼을누르고 [ 속성 ] 을선택한다. [ 시스템 ] 창에서 고급시스템설정 을한다. 56 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 57
표 E-1 시스템변수설정구분 변수이름 변수값 새로만들기 ORACLE_HOME C:\instantclient_12_1 새로만들기 TNS_ADMIN C:\instantclient_12_1 새로만들기 NLS_LANG KOREAN_KOREA.KO16MSWIN949 편집 Path C:\instantclient_12_1; * 앞부분에추가 으로실행되므로큰어려움없이사용할수있을것이다. em은오라클설치시에같이설치된다. 여기에서는 em에접속에대해서만다룬다. 1 오라클이설치된서버의웹브라우저를실행하고아래주소를입력한다. https://localhost:1158/em 6 시스템변수설정을끝내면오라클서버가설치된컴퓨터에서오라클 DB의 tnsnames. ora 파일을복사한다. 설치하고있는 PC의 C:\instantclient_12_1 폴더에복사한다. tnsnames.ora 파일은오라클버전에따라각각다음에위치하고있다. Oracle 11g r2 C:\app\madang\product\11.2.0\dbhome_1\NETWORK\ADMIN Oracle 11g XE C:\oraclexe\app\oracle\product\11.2.0\server\NETWORK\ADMIN 서버에서복사한 tnsnames.ora 파일은메모장에서열어 HOST를서버의주소로변경 localhost는설치된 PC를말한다. 만약원격지에설치된데이터베이스에접근한다면 localhost 대신접근컴퓨터의 IP를입력한다. 예를들어 192.168.1.10 이라는서버에설치되었다면주소에 https://192.168.1.10:1158/em 이라고입력한다. 이후그림과같이 < 이웹사이트의보안인증서에문제가있습니다 > 라고나오는경우 < 이웹사이트를계속탐색합니다 ( 권장하지않음 )> 를한다. 이메시지는인터넷익스플로러의보안설정때문에나오는메시지이므로사용하는브라우저에따라다르거나나오지않을수있다. 해야한다. 변경한내용은다음과같다. HOST 는서버의 IP 다. SID(Service_name) 가 orcl 이며서버 IP(HOST) 가 192.168.1.10 인경우다. 오라클접속을위한 TNS 이름은 orcl( 첫 line 의 orcl 은 sid 가아니라접속을위한 tns 이름임 ) 이다. orcl = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10 )(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) } } E.3 데이터베이스관리도구 엔터프라이즈매니저 (em) 오라클엔터프라이즈버전은데이터베이스관리도구인 em(enterprise manager) 을제공 한다. em 은웹환경에서오라클데이터베이스를모니터링및관리할수있는도구다. 오라클 실습시주의사항 실습에사용하는 PC 에따라 < 이웹사이트를계속탐색합니다 ( 권장하지않음 )> 옵션이나오지않고다음의그림과같이나올때가있다. 이는익스플로러보안업데이트에따른것으로다음과같이설정하고진행하면된다. 의시작및중지, 사용자, 디스크관리등오라클의전반적인관리를수행할수있다. 웹환경 58 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 59
2 다음과같이사용자이름과비밀번호를입력한다. 사용자이름 : system 비밀번호 : Manager1 1 [ 시작 ]-[cmd] 입력후프로그램섹션의 cmd 에서마우스오른쪽버튼을누른후 < 관리자권한으로실행 > 으로선택한다. 3 ORACLE Enterprise Manager 에접속한후각메뉴를통해 DB 의운영상황을모니터 링하거나관리를진행한다. 2 관리자권한으로명령프롬프트가실행되면아래의명령을입력한다. certutil -setreg chain\minrsapubkeybitlength 512 만약원래의보안설정으로복귀하고싶다면다음의명령을수행하면된다. certutil delreg chain\minrsapubkeybitlength 60 부록. 실습소프트웨어설치부록. 실습소프트웨어설치 61