#title 솔라리스에 오라클 8.1.7 설치하기 Intel 이나 Sparc이나 설치에는 아무이상이 없다고 합니다. 이 자료를 주신 동방시스템 이기환대리님 감사합니다... * 오라클 설치환경 - OS : 솔라리스 2.7 SPARC 버전 - RDBMS : 오라클 8.1.6 Enterprise - System : Sun SPARC Enterprise 3500 - HDD : 18GB(최소운영용량 3GB) * 환경설정 ( %,$ : 일반유저 Prompt, # : Root유저 Prompt ) 설치환경의 오라클유저에게 설정해야 할 사항 - 관리자툴을 이용하여 사용자(oracle)와 그룹(dba)를 등록한다. 등록된 유저의 기본쉘은 csh로 설정한다. # admintool - 오라클 유저의 홈을 만들어서 셀환경을 설정하여 준다. % mkdir -P /oracle/product/8.1.6 % vi .cshrc .cshrc안의 내용에는 뒤쪽 참고 1의 내용 그대로를 입력하여 저장하면 된다. - Root 유저를 이용하여 /oracle 디렉토리의 소유권을 변경한다. # chown -R oracle:dba /oracle - /etc/system 의 내용을 참고 4와 동일하게 변경한다. - 이제까지 변경한 내용이 적용될 수 있도록 시스템을 Reboot한다. - Reboot된 시스템의 환경을 확인하여 /etc/system의 설정이 적용되었는지 확인한다. # sysdef - Root유저를 이용하여 그래픽 모드를 변경하여 준다. # xhost + - oracle유저를 이용하여 화면모드를 설정한다.(cdm-svr은 hostname) % setenv DISPLAY cdm-svr:0.0 - oracle유저를 이용하여 /cdrom/cdrom0에 있는 오라클을 실행한다 % ./runInstaller * Oracle Universal Installer 작업의 진행상황은 각 안내문의 타이틀앞의 두개의 원을 확인하면 알 수 있다. 작업의 진행율에 따라 계기일식의 모양이 일어나기 때문에 완료가 되면 두개의 원이 완전히 겹치게 된다. 1. Welcome 오라클의 runInstaller를 실행하면 환영인사말이 나온다. Next를 선택한다. 2. File Locations Source는 products파일이 위치한 Full Path이다. 기본으로 설정되어 있으니 그대로 적용하면 된다. Destination은 서버측의 오라클 홈디렉토리의 Full Path를 적용한다. 설치자가 임의대로 사용하고자 하는 위치를 설정해 주면 된다. 예)/oracle/product/8.1.6 Next를 선택한다. 3. UNIX Group Name 유닉스 그룹명을 지정하는 부분이다.이전에 DB그룹명으로 등록된 이름을 적용하면 된다. 예) dba Next를 선택한다. 4. orainstRoot.sh 실행하기 /tmp/OraInstall/orainstRoot.sh의 스크립트를 실행한다. 이때 root 유저를 사용하여 다른 터미널창에서 실행하기 바란다. 예) ./tmp/OraInstall/orainstRoot.sh 실행후 Retry를 선택한다. 5. Availcable Products - Oracle8i 8.1.6.0.0 오라클 8.1.6 DB 서버설치 - Oracle8i Client 8.1.6.0.0 오라클 8.1.6 DB 클라이언트 설치 - Oracle8i Management Infrastructure 8.1.6.0.0 오라클 8.1.6 기본 클라이언트와 서버관리툴 설치 Oracle8i 8.1.6.0.0을 클릭한 후 Next를 선택한다. 6. Installation Types 인스톨 유형을 선택하는 부분이다. - Typical(966MB) 가장 일반적인 인스톨 형태로 필요한 모든 툴을 설치한다. - Minimal(798MB) 최소한의 기본적인 툴만을 인스톨한다. - Custom 사용자가 직접 필요한 툴을 선택하여 인스톨을 결정한다. 우리는 여기서 Custom을 선택한다. 이유는 DB에서 한글을 사용하기 위해서이다. 위의 Typical과 minimal은 컴퓨터가 기본으로 선택되어 있는 양식을 그대로 설치하기 때문에 언어선택부분이 기본 영문으로 설정되어 있기 때문에 닥스오픈에서 한글내용을 검색하면 ????로 출력이 된다. Custom을 선택하여 Korean을 추가선택 할 것이다. Custom을 클릭한 후 Next를 선택한다. 7. Available Product Components Oracle8i의 패키지를 추가하거나 제외시킬 수가 있다. 여기서 우리는 먼저 Product Languages..을 선택하여 Language Selection의 작업창에서 Available Languages에서 Korean을 찾아서 더블클릭을 하면 Selected Language부분에 추가가 될 것이다. OK를 선택한다. 그리고 나서 오라클 패키지에 대한 설치를 추가할 것과 제외할 것을 선정하여 선택한 다음 Next를 선택한다. 추가/제외를 모를경우 Next를 선택해도 무방하다. 8. Component Location 선택할 수 있는 Component인 Java Runtime Environment 1.1.8.10을 선택하여 설치할 수 있다. 그러나 그냥 Next를 선택한다. 9. Privileged Operating System Groups 데이터베이스의 관리자 그룹명과 운영그룹을 설정하는 부분이다. 이전작업에서 우리는 dba를 선택한적이 있다. 이곳에서도 역시 두 곳 모두 dba를 입력하여 준다. 10. Create Database 데이터베이스 생성에 대한 질문이다. Yes를 클릭한 후 Next를 선택한다. 11. Database Identification Global Database Name과 SID를 입력하는 부분이다. 작업환경에 맞게 입력하길 바란다. 본 문서에서는 ORA8로 입력하였다. 입력후 Next를 선택한다. 12. Database File Location Directory for Database Files의 저장위치를 설정한다. 여기에서는 /oracle/data로 설정하였다. 입력후 Next를 선택한다. 13. Summary 이제까지 수행한 작업에 대한 확인절차이다. 꼭 필히 확인해야할 부분은 Product Language를 확인하여 English와 Korean이 있는지 확인을 하기 바란다. 확인이 끝났다면 Install을 선택한다. 14. Install 이제부터 선택된 패키지와 설정된 내용으로 설치가 시작된다. 15. Setup Privileges Step8에서 /oracle/product/8.1.6/root.sh을 root 유저가 실행한다. 실행한 다음질문에 Yes 또는 default로 설정된 내용은 엔터를 입력하면서 수행한다. 완료가 되었다면 실행명령형 대화상자의 OK를 선택한다. 16. Net8 Configuration Assistant Perform typical configuration을 클릭한 후 Next를 선택한다. 17. Oracle Database Configuration Assistant 데이터베이스에 사용될 응용프로그램의 주요 유형 선택이다. - OLTP(온라인 트랜잭션 프로세싱) - 데이터 웨어하우징 - 다목적 여기서 우리는 다목적을 클릭하고 다음을 선택한다. 18. 동시 접속 사용자 동시에 접속할 수 있는 사용자(Process)의 대략적인 수를 입력한다. 입력후 다음을 선택한다. 19. 데이터베이스가 기본으로 실행될 모드 - 전용서버모드(dedicate) - 공유서버모드 전용서버모드를 클릭한 후 다음을 선택한다. 20. 데이터베이스용으로 구성할 옵션 SQL Plus Help를 선택하여 도움말을 설치한다. 다음을 선택한다. 21. 데이터베이스 정보변경 검토후 적절한 정보로 변경한다. 꼭 문자집합변경(charecterset)은 KO16KSC5601로 문자집합과 국가별 문자집합이 변경되었는지 확인하여야 한다. 초기화 파일명을 변경하고자 하면 관리가 가능한 적절한 디렉토리명으로 변경한다. 변경이 완료되었다면 다음을 선택한다. 22. 제어파일 매개변수 변경 제어파일에 대한 변경이다. 관리가 용이한 적절한 디렉토리명과 기타사항을 변경/수정한 후 다음을 선택한다. 그대로 진행하여도 무관하지만 디렉토리명이 길어지면 관리하기에 불편하다. 23. 시스템/도구/사용자/롤백/인덱스/임시 시스템 Size 200 도구 Size 8 사용자 Size 8 롤백 Size 256 Minimum 256 Initial 256 Net 256 인덱스 Size 54 임시 Size 128 정보를 확인후 적절하게 변경한다. 변경이 완료되었다면 다음을 선택한다. 24. Redo 로그 파일 매개변수 리두 로그파일 매개변수정보 변경사항이다. 변경후 다음을 선택한다. 25. 로그 매개변수 정보를 검토후 적절하게 변경한다. 아카이브로그사용은 사용하지 않는다. 변경후 다음을 선택한다. 26. SGA 매개변수 정보를 검토후 적절하게 변경한다. 변경후 다음을 선택한다. 27. 추적 파일 디렉토리 추적파일디렉토리에 대한 경로를 검토후 적절히 변경한다. 변경후 다음을 선택한다. 28. 데이터베이스 생성 - 지금 데이터베이스 생성 - 쉘 스크립트에 정보 저장 지금 데이터베이스생성을 클릭후 완료를 선택한다. 29. 데이터베이스 생성 작업 진행 다음의 작업이 순서대로 진행된다. - Oracle 인스턴스 생성과 시작 - 데이터베이스 파일 생성 - 데이터 딕셔너리 뷰 생성 - PL/SQL 지원 추가 - 데이터베이스 생성 완료 30. End of Installation 오라클 8i의 설치가 완료되었습니다. Exit를 선택하여 설치화면을 빠져 나오면 설치작업은 종료가 된다. * Pro C 설치하기 먼저 실행해야 할 작업은 처음에서와 같다. 여기서는 간단하게 설명을 하였다. 1. xhost + 2. setenv DISPLAY edms1:0.0 3. cd cdrom/cdrom0 :오라클 시디로 이동 4. ./runInstaller 5. Availcable Products - Oracle8i 8.1.6.0.0 오라클 8.1.6 DB 서버설치 - Oracle8i Client 8.1.6.0.0 오라클 8.1.6 DB 클라이언트 설치 - Oracle8i Management Infrastructure 8.1.6.0.0 오라클 8.1.6 기본 클라이언트와 서버관리툴 설치 Oracle8i Client 8.1.6.0.0을 클릭한 후 Next를 선택한다. 6.Installation Types 인스톨 유형을 선택하는 부분이다. - Typical(966MB) 가장 일반적인 인스톨 형태로 필요한 모든 툴을 설치한다. - Minimal(798MB) 최소한의 기본적인 툴만을 인스톨한다. - Custom 사용자가 직접 필요한 툴을 선택하여 인스톨을 결정한다. 우리는 여기서 Custom을 선택한다. Custom을 선택하여 Product Languages에서 Korean을 추가선택한다. Custom을 클릭한 후 Next를 선택한다. 7. Available Product Components Oracle8i의 패키지를 추가하거나 제외시킬 수가 있다. 여기에서 우리는 Pro C 만을 설치하면 된다. 다행히도 스크롤을 이용하여 아래로 내려가면 선택되어진 패키지가 하나 있다. Oracle Programmer 아래에 Pro C 가 있다. 이것만 선택하면 된다. 다음을 선택하면 간단하게 설치가 되면서 끝난다. 종료를 하고 나온다. 8. TEST % make -f Pro C Source Target FileName 에러 없이 컴파일이 된다면 이상없이 설치가 완료된 것이다. 만일 make파일을 못찾는다면 .cshrc파일의 path에 /usr/css/bin 경로를 확인한다. * 오라클 8.1.6 삭제하기 오라클은 꼭 아래와 같이 삭제하여 주기 바란다. # nsr_shutdown # pkgrm 설치된 패키지중에 아래의 패키지를 Ctrl + D를 누르고 번호를 입력하여 질문에 Yes 또는 default로 설정된 값에 엔터등을 입력하면 삭제가 된다. 삭제해야할 패키지 - ORCLclnt - ORCLdrvr - ORCLman - ORCLnode - ORCLserv # rm -R /oracle # rm /var/opt/oracle # sync;sync;sync;sync;sync # reboot 위와 같은 순서로 진행하고 마지막에 시스템을 재부팅하여 주면 오라클은 완전하게 삭제가 완료된다. * 오라클 설치후 Old파일 삭제 $Oracle_Home/bin/ file_name0 파일명 마지막에 0 의 파일명을 가진 모든 파일을 삭제한다. 불필요한 파일로 용량을 점유할 필요가 없기 때문에 삭제하기 바란다. * 오라클 리스너 설정 # cd $Oracle_Home # ./Root.sh 본 파일에 아래내용을 설정 set ORACLE_HOME = /oracle/product/8.1.6 set ORACLE_SID = ORA816 set path=(/bin /oracle/product/8.1.6/bin /usr/bin /usr/ucb /usr/css/bin /opt/SUNWspro/bin /etc .) * 솔라리스 Hostname IP 변경후 오라클 재설정 $Oracle_Home/network/admin/Listener.ora 파일내용에 HostName를 변경하면 된다. $Oracle_Home : .cshrc에 설정된 오라클 홈디렉토리를 말한다. * 오라클 DataBase 올리기 오라클 유저를 이용하여 작업을 수행한다. % svrmgrl 오라클 서버매니저 실행 svrmgrl> connect internal 일반적인 접속방법(권장) connect system/manager system 관리자로 접속하는 방법 connect scott/tiger scott 일반유저로 접속하는 방법(아이디/비밀번호) svrmgrl> startup 오라클 Database 시작 svrmgrl> exit 오라클 서버매니저 나오기 % lsnrctl start 리스너 시작하기(오라클 연결 데몬) * 오라클 DataBase 내리기 svrmgrl> connect internal svrmgrl> shutdown 모든 시스템 사항을 무시하고 Database가 내려짐 shutdown immediate Process가 모두 내려진 다음에 Database가 내려짐 (권장) shutdown abort Process는 남겨두고 Database가 내려짐 ctrl + D 모든 시스템 사항을 무시하고 Database가 내려짐 svrmgrl> exit 오라클 서버매니저 나오기 % lsnrctl stop 리스너 종료하기(오라클 연결 데몬) 참고 1. $ORACLE_HOME/.cshrc #@(#)cshrc 1.11 89/11/29 SMI umask 022 set path=(/bin /oracle/product/8.1.6/bin /usr/bin /usr/ucb /usr/css/bin /opt/SUNWspro/bin /etc .) if ( $?prompt ) then set history=32 endif alias h history alias ll "ls -al" setenv TERM vt100 setenv ORACLE_TERM vt100 setenv ORACLE_HOME /oracle/product/8.1.6 setenv ORACLE_SID ORA8 setenv ORACLE_OWNER oracle setenv LANG ko setenv NLS_LANG KOREAN_KOREA.KO16KSC5601 setenv EDITOR vi setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/opt/SUNWspro/lib: /usr/lib:/opt/SUNWspro/SC5.0/lib:/usr/ccs/lib set path=(/sbin /usr/bin /openwin/bin /opt/SUNWspro/SC5.0/bin $ORACLE_HOME/bin /usr/ccs/bin .) * 변경된 쉘 정보 반영하기 # source .cshrc # env 현재 적용된 환경정보 확인 참고 2. /etc/passwd root:x:0:1:Super-User:/:/bin/csh daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:Line Printer Admin:/usr/spool/lp: smtp:x:0:0:Mail Daemon User:/: uucp:x:5:5:uucp Admin:/usr/lib/uucp: nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico listen:x:37:4:Network Admin:/usr/net/nls: nobody:x:60001:60001:Nobody:/: noaccess:x:60002:60002:No Access User:/: nobody4:x:65534:65534:SunOS 4.x Nobody:/: oracle:x:1001:11::/oracle/product/8.1.6:/bin/csh 참고 3. /etc/group root::0:root,oracle other::1: bin::2:root,bin,daemon sys::3:root,bin,sys,adm adm::4:root,adm,daemon,oracle uucp::5:root,uucp mail::6:root tty::7:root,tty,adm lp::8:root,lp,adm nuucp::9:root,nuucp staff::10: dba::11:root,adm,daemon,oracle daemon::12:root,daemon sysadmin::14: nobody::60001: noaccess::60002: nogroup::65534: 참고 4. /etc/system forceload:sys/shmsys forceload:sys/semsys forceload:sys/msgsys // 오라클 Shared memory 설정 set shmsys:shminfo_shmmax=251658240 set shmsys:shminfo_shmmin=50 set shmsys:shminfo_shmmni=256 set shmsys:shminfo_shmseg=256 // 오라클 세마포어 설정 set semsys:seminfo_semume=128 set semsys:seminfo_semmap=128 set semsys:seminfo_semopm=64 set semsys:seminfo_semmni=2048 set semsys:seminfo_semmni=2048 set semsys:seminfo_semmns=2048 set semsys:seminfo_semmnu=2048 set semsys:seminfo_semmsl=400 // 세마포어 실수량(Process 수) // for/background 작업용 프로토콜 Msg 매개변수 설정 (IPC) set msgsys:msginfo_msgmap=512 set msgsys:msginfo_msgmax=8192 set msgsys:msginfo_msgmnb=65536 set msgsys:msginfo_msgmni=256 set msgsys:msginfo_msgssz=8 set msgsys:msginfo_msgtql=512 set msgsys:msginfo_msgseg=8192 set maxusers=1000 // 최대유저수 정의 set max_nprocs=10000 // ps -ef 명령시 프로세스 출력수 set rlim_fd_max=1500 // 한 개의 프로세스가 관장하는 파일수 set rlim_fd_cur=128 set pt_cnt = 128 // /dev/ptXXXXX 가상터미널 수(Telnet) 감사합니다.