[출처] 솔라리스10(x86)에 오라클10g 설치|작성자 슬라우쳐
이글은 제가 인터넷의 글들을 참조하면서 실제 설치해 보고 난 다음 쓰는 글이기 때문에
누구나 배포하실 수 있습니다만..
그래도 쓴 사람을 위해서 댓글이나 하나쯤은 달고 가져가시길..(가져가신 다음 원문 링크도...)
*실제 제목과는 다르게 오라클 설치에 관한 부분은 아주 적고,
오라클을 설치하기 위한 환경 설정에 더 초점을 맞추고 쓴 글입니다.
Solaris10 설치 후
Database 관리자 group 생성
#groupadd dba
oracle 계정 생성
#useradd -g dba -m -d /export/home/oracle oracle
password 생성
#passwd oracle (oracle/oracle)
oracle 설치 될 폴더 지정
#mkdir -p /ora10/product/10.2.0/db_1 (-p 옵션은 부모 폴더까지 한번에 생성)
#chown -R oracle:dba /ora10
Oracle 계정을 생성하면 자동으로 .profile등 환경 설정 파일들이 생성 됨.
추가된 계정 홈으로 가서 .profile 파일 이나 .bashrc 등에 다음 내용 기입.
$ vi .profile
#made by Sung-Hyun Jung 16/4/2009 umask 022 #PATH PATH=$PATH:/bin:/sbin:/ora10/product/10.2.0/db_1/bin PATH=$PATH:/ora10/product/10.2.0/db_1/jdk/bin:/usr/bin:/usr/sbin:./ #LD_LIBRARY_PATH LD_LIBRARY_PATH=/ora10/product/10.2.0/db_1/lib #NLS_LANG NLS_LANG=AMERICAN_AMERICA.UTF8 #ORA_NLS33 ORA_NLS33=/ora10/product/10.2.0/db_1/ocommon/nls/admin/data export PATH LD_LIBRARY_PATH NLS_LANG ORA_NLS33 #Prompt Color export PS1="[\033[0;31m\u \033[0;35m\w\033[0m][\#]# " #alias alias ll='ls -alF' alias rm='rm -i' alias h='history' #set history set history=500 #set Oracle Configuration commands ORACLE_BASE=/ora10 ORACLE_SID=SDE ORACLE_HOME=/$ORACLE_BASE/product/10.2.0/db_1 ORACLE_PATH=/$ORACLE_HOME/bin:. ORACLE_OWNER=oracle TNS_ADMIN=$ORACLE_HOME/network/admin export ORACLE_BASE ORACLE_SID ORACLE_HOME ORACLE_PATH export ORACLE_OWNER TNS_ADMIN # DISPLAY=192.168.77.30:0.0 사용 안함 # EDITOR=vi # export DISPLAY EDITOR |
*NLS_LANG 는 UTF8로 설정
*umask를 022로 설정하지 않으면 설치 후에 오라클 하위 폴더의 권한 때문에 문제 발생 가능.
<재부팅을 하든 로그아웃/로그인을 하든 변경사항 적용시킨다.>
<.bashrc에 설정하면 잊지 말고 bash 쉘을 사용 하도록 한다.>
오라클 설치파일 복사 주의 사항!!! (중요) 오라클을 윈도우에서 다운받은 후 압축을 풀어 CD나 외장하드에 넣은 후 그 파일들을 유닉스로 옮기면 문제가 발생한다. (runInstaller파일이름이 이상하게 변하거나, 실행을 해도 /tmp 폴더에 접근 가능한지 69M(?) 이상인지 확인하라고) 10202database...zip 압축파일 그대로 유닉스로 옮긴 후 유닉스에서 압축을 풀거나, 오라클 홈페이지에서 직접 다운 받은 후 압축 해제. |
SUNWi1cs, SUNWi15cs를 설치.
solaris10 설치 CD를 넣고 (컴패니언 CD가 아님) root 로 로그인 $su root # cd /cdrom/sol_10_1106_x86/Solaris_10/Product # cp -R SUNWi15cs /var/spool/pkg; cp -R SUNWi1cs /var/spool/pkg # pkgadd (all -> y -> y 기본적으로 pkgadd명령어를 실행하면 /var/spool/pkg를 찾는다.) # rm -r /var/spool/pkg/* |
세마포어 메모리 할당(중요)
#vi /etc/system 마지막에 추가 --->부팅 시 Oracle의 공유메모리(예약된 메모리)를 설정하는 것 set semsys:seminfo_semmni=100 set semsys:seminfo_semmns=1024 set semsys:seminfo_semmsl=256 set semsys:seminfo_semvmx=32767 set shmsys:shminfo_shmmax=4294967295 set shmsys:shminfo_shmmin=1 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10 |
권한 변경
#chown -R oracle:dba /export/home/oracle/
#mkdir /ora10 (여기에 설치할 것임.)
#chown -R oracle:dba /ora10/
<오라클 설치 시작> ./runInstaller 처음에 나오는 화면에서 고급설치를 선택하고 다음을 누른다. 인벤토리 지정해 주는 것은 변경 없이 기본으로 지정. 설치 유형 - 사용자 정의로 하고, 제일 밑에 isqlplus 설치에 체크한다. 실제 실행 디렉토리 설정에는 /export/home/oracle/oracle/product/10.2.1/db_1을 /ora10/product/10.2.0/db_1으로 변경한다. DB 인스턴스는 범용이 아니라 사용자 정의(Block Size는 16K, Character Set은 UTF8)로 설정 <오라클 설치 끝> |
리스너 스타트
#lsnrctl start
리스너를 시작하고 lsnrctl status나 lsnrctl stat로 상태를 확인한다. #lsnrctl status (상태보기) #lsnrctl stop (정지) #lsnrctl start (시작) |
URL
웹 서버를 따로 설치해 주지 않으면 다음 URL은 작동을 하지 않는다. (너무 당연한 얘기) Enterprise Manager Database Control URL http://unknown:1158/em iSQL*Plus URL http://unknown:5560/isqlplus iSQL*Plus DBA URL http://unknown:5560/isqlplus/dba |
Sqlplus 시작
$sqlplus 이 명령을 실행했을 때 오류가 발생한다면 문제는 둘 중 하나이다. 1. 권한 - 해결책 : chown –R oracle:dba /ora10, chown –R oracle:dba /export/home/oracle 2. ORACLE_???? 환경변수 설정 ( _BASE, _SID, _HOME, _PATH ) - 해결책 : .profile 파일이나 .bashrc 파일 등 환경설정 파일에서 올바르게 설정 됐는지 확인. * ORACLE_HOME 변수는 /ora10/product/10.2.0/db_1까지 설정 해 줘야 함. (/ora10이 아님) $sqlplus / as sysdba SQL>startup * ORA-01034: ORACLE not available 는 DB Startup 을 안 했을 때 발생. |
현재 데이타베이스내에 사용되는 언어셋을 확인하는 방법
SQL> select * from v$nls_parameters;
커널 파라미터 값에 대한 권장값 (오라클사 제공)
파라메터 |
권장값 |
설명 |
SUMMNI |
100 |
시스템 내 세마포어 셋의 최대 개수 동시에 사용될 수 있는 세마포어의 최대 개수 |
SEMMNS |
256 |
시스템 내 세마포어 전체 개수 |
SEMMSL |
100 |
한 개의 세마포어 셋에 존재할 수 있는 세마포어의 최대개수. 오라클 프로세스의 최대개수에 10개정도를 더한 값으로 설정한다. (오라클 initSID.ora 파일 내의 processes 파라미터) |
SEMOPM |
100 |
시스템 내 세마포어를 호출할 때마다 operation의 최대 개수 |
SEMVMX |
32767 |
세마포어의 최대값을 결정한다. |
SHMMAN |
2147483648 |
한 개의 공유 메모리 세그먼트의 최대 크기 (단위: Byte) |
SHMMIN |
1 |
한 개의 공유 메모리 세그먼트의 최소 크기 (단위: Byte) |
SHMMNI |
100 |
공유 메모리 세그먼트의 최대 개수 |
SHMSEG |
4096 |
한 개의 프로세스에 연결될 수 있는 공유 메모리 세그먼트의 최대값 |
오라클 환경 설정 항목
이름 |
설명 |
ORACLE_BASE |
오라클 설치 프로그램인 OUI를 저장하고 오라클 트레이스 파일 및 데이터 파일을 저장하는 디렉토리의 이름을 기록하는 오라클 환경변수 |
ORACLE_HOME |
현재 설치하고자 하는 오라클 데이터베이스 서버를 저장할 디렉토리명 |
ORACLE_OWNER |
오라클 제품을 컨트롤할 OS 시스템 레벨의 유저가 누구인가를 설정하는 오라클 환경변수 |
LD_LIBRARY_PATH |
오라클 제품을 사용할 때 사용되는 오라클 공유 라이브러리들의 경로를 나타낸다. 반드시 $ORACLE_HOME/lib를 포함하여 설정한다. |
ORACLE_SID |
오라클 서버 인스턴스의 이름인 Oracle System Identifier(SID) |
PATH |
$ORACLE_HOME/bin을 포함하여 설정 |
NLS_LANG |
오라클 데이터베이스의 문자 셋을 설정한다. 여러분이 생성하게 될 데이터베이스의 문자셋과 일치해야 한다. 한글 일 때 : KOREAN_KOREA.KO16MSWIN949 유니코드일 때 : AMERICAN_AMERICA.UTF8 |
TNS_ADMIN |
Oracle Network를 구성할 때 필요한 설정파일의 위치를 지정하는 것으로, insterner.ora, tnsnames.ora, sqlnet.ora 파일들이 위치하고 있다. |
ORA_NLS33 |
NLS_LANG 항목에 설정된 문자 셋대로 오라클 데이터베이스에서 각국의 언어 및 도량형을 제공하는 데 필요한 정보를 갖고 있는 파일들의 위치. |
TEMPDIR |
오라클 데이터베이스가 운영 중에 임시 파일들을 위치시킬 장소 |
EDITOR |
SQL *Plus 상에서 edit명령어를 사용했을 때 실행할 수 있는 OS 레벨의 에디터를 지칭하는 것으로, pico, vi 등 을 설정한다. |
LANG |
데이터베이스의 문자 셋을 결정하는 NLS_LANG과 달리, 현재 사용자의 세션에서의 문자 셋을 결정하는 시스템 환경변수 |
DISPLAY |
Oracle Universal Installer 등 오라클에서 제공하는 자바로 만들어진 여러 가지 툴이 구동하기 위한 X윈도우 환경을 설정하기 위한 것으로, 사용자의 서버 명이나 IP를 설정 |