/********************************************************************************************
-- Title : [ORA10g] Oracle 10g 설치 on CentOS 5.3 - ver.2
-- Reference : blog.naver.com/xgandam, OTN,
-- Key word : oracle 오라클 설치 installation 리눅스 lunux CentOS 오라클설치
********************************************************************************************/
1. 오라클 프로그램 다운로드
주소 : http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linuxsoft.html
파일 : 10201_database_linux32.zip (668,734,007 bytes)
2. 필수 패키지 설치 (root 계정)
- 확인 : # rpm -qa | grep <package_name>
- 설치 : # rpm -Uvh <package_name>
- 제거 : # rpm -e <package_name>
# rpm -e -nodeps <package_name> (의존성 패키지 제거)
필수 패키지를 설치한다.(x86)
[root@localhost ~]# yum -y install compat-db.i386 compat-gcc-34.i386 compat-gcc-34-c++.i386 libXp.i386 libXp-devel.i386
만약에 설치 오류가 난다면 다음의 패키지도 설치한다.(x86)
[root@localhost ~]# yum -y install setarch make glibc libaio compat-libstdc++-33 compat-gcc-34 gcc libXp openmotif compat-db glibc-devel libstdc++-devel xscreensaver
** JAVA 설치(root 계정, 9i 이전만 적용)
설치시 오류가 안 난다면 설치할 필요 없음.
- /usr/java 폴더 확인(없으면 생성)
# mkdir /usr/java
- 자바 사이트에서 JDK 다운로드
http://www.java.com/ko/download/manual.jsp에서 Linux RPM 다운로드
파일명 : jre-6u21-linux-i586-rpm.bin (을 /usr/java 폴더로 다운로드)
- 파일 권한 설정
# chmod a+x jre-6u21-linux-i586-rpm.bin
- 파일 실행(이후 jre-6u21-linux-i586.rpm 파일 생성)
# ./jre-6u21-linux-i586-rpm.bin
- 패키지 설치('이미 설치되어 있습니다.'라는 메시지 출력)
# rpm -iv jre-6u21-linux-i586.rpm
3. 사용자 및 그룹생성 (root 계정)
아래의 명령으로 사용자 및 그룹을 생성한다.
[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd –g oinstall –G dba –d /home/oracle oracle
[root@localhost ~]# passwd oracle
Changing password for user oracle.
…
Passwd : all authentication tokens updated successfully.
4. 커널 파라미터, 환경변수 설정
- 변경대상 LIST
- /etc/sysctl.conf 수정
# /sbin/sysctl -p // 에러 메시지가 없고 설정파일만 보이면 성공
- /etc/security/limits.conf 수정 (root 계정)
- /etc/profile 수정 (root 계정)
- /etc/pam.d/login 수정 (root 계정)
- /home/oracle/.bash_profile 수정 (su – oracle : oracle 계정에서 수행, 띄어쓰기 조심!!)
# Oracle 10g Setting
export ORACLE_BASE=/home/oracle
export ORACLE_SID=INFRAORC
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_OWNER=oracle
export LANG=C
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
수정내용 적용하기 명령
[root@localhost ~]# source /home/oracle/.bash_profile
5. 압축 풀기 (root 계정)
Unzip 명령어를 입력하여 설치파일의 압축을 푼다.
[root@localhost ~]# unzip 10201_database_linux32.zip
압축이 다 풀렸으면 database폴더를 “oracle”계정의 home폴더 (/home/oracle)로 이동합니다. 그리고 chown 명령으로 /home/oracle 아래의 모든 것에 대해 “oracle” 사용자와 “oinstall”그룹에 소유로 소유권을 변경한다.
[root@localhost ~]# mv database /home/oracle
[root@localhost ~]# chown –R oracle.oinstall /home/oracle
6. 화면 권한 부여 및 오라클 설치하기
화면 권한 부여 (root 계정)
[root@localhost ~]# xhost + localhost
계정 변경 후 설치하기 (oracle 계정)
[root@localhost ~]# su – oracle (계정 oracle로 변경)
[oracle@localhost ~]# /home/oracle/database/runInstaller
오라클 설치 전 작업이 제대로 됐다면 팝업으로 오라클 설치 화면이 나올 것이다.
만약 글씨가 깨진다면
[oracle@localhost ~]# export LANG=C
만약에 오라클, OS 호환관련 에러가 난다면
오라클 10g는 자체적으로 테스트된 몇 가지의 OS만 설치되도록 체크하는 부분이 있다.
이를 위해 /etc/redhat-release 파일을 생성 후 레드햇 3 버전으로 만든다.
# echo "redhat-4" > /etc/redhat-release
7. 오라클 설치시작
** Advanced Installation선택 (Basic Installation을 선택해도 무방하다)
** Enterprise Edition 선택
** 오라클 10g에서 사용할 언어이다. 한국어를 추가해도 되고, 영문으로만 써도 된다.
** path 기본값으로 넘어간다.
** 오라클 10g 설치하기 적합한 환경인가 검사한다. 심각한 오류는 수정 후 설치 진행해야 한다.
** install database software only 체크하면 데이터베이스 생성 안하고 소프트웨어만 설치한다.
** General Purpse 일반 목적 선택 후 다음으로 넘어간다.
** Character set은 “AL32UTF8” 다국어 지원 가능하다. 샘플 데이터베이스 생성에도 체킹한다.
** 기본 값으로 설정하고 넘어간다.
** 기본값으로 설정하고 넘어간다.
** 백업 계획이 있다면 설정하고, 그렇지 않은 경우 넘어간다.
** 모든 계정에 동일한 패스워드 설정이 가능하다. 개별로 주고 싶다면 다르게 줄 수 있다.
** 이제까지 선택한 사항에 대한 개요를 확인할 수 있다. 확인 후 Install 클릭한다.
** 오라클 설치 시작화면이다.
** Database Create
** Password Management.. 버튼을 클릭하면 scott계정의 lock을 풀 수 있다.
** 아래의 창이 뜬다면 root 계정에서 아래의 명령어를 수행한다.
** root계정인지 oracle계정인지 확인해야 한다. 꼭!! root계정 확인 필요~
** 설치 완료!!!
<설치 확인>
서버 컴퓨터의 오라클 리스너가 활성화 되어 있는지 확인한다.
[oracle@localhost ~]# cd $ORACLE_HOME/bin
[oracle@localhost bin]# ./lsnrctl start (리스너 올리기)
./lsnrctl stop (리스너 내리기)
./lsnrctl status (리스너 상태보기)
서버 컴퓨터의 오라클 startup 시켜준다.
SQL> conn sys as sysdba (system은 startup, shutdown 권한이 없다.)
SQL> select status from v$instance; (서버 컴퓨터의 DB가 open상태인지 확인한다.)
SQL> startup (데이터베이스가 열렸습니다. open되었다는 결과가 나오면 성공!! shutdown : DB내리기)
에러코드 : ORA-01078:Failure in processing system parameters. 오류발생시
에러사유 : init[SID].ora 파일을 찾을 수가 없어서 나는 오류이다.
해결방안 : init[SID].ora 파일을 생성해주면 문제는 해결된다.
spfile 확인
SQL> SHOW PARAMETER SPFILE
NAME TYPE VALUE
---------- ---------- -----------------------------------------------
spfile string /home/oracle/product/10.2.0/db_1/dbs/spfileINFRAORC.ora
DB_NAME 확인
SQL> SHOW PARAMETER DB_NAME;
NAME TYPE VALUE
---------- ---------- -----------------------------------------------
db_name string INFRAORC
CONTROLFILE 확인
SQL> SELECT NAME FROM V$CONTROLFILE;
NAME
--------------------------------------------------------------------
/home/oracle/oradata/INFRAORC/control01.ctl
/home/oracle/oradata/INFRAORC/control02.ctl
/home/oracle/oradata/INFRAORC/control03.ctl
DATAFILE 확인
SQL> SELECT NAME FROM V$DATAFILE;
NAME
--------------------------------------------------------------------
/home/oracle/oradata/INFRAORC/system01.dbf
/home/oracle/oradata/INFRAORC/undotbs01.dbf
/home/oracle/oradata/INFRAORC/sysaux01.dbf
/home/oracle/oradata/INFRAORC/users01.dbf
/home/oracle/oradata/INFRAORC/example01.dbf
LOGFILE 확인
SQL> SELECT MEMBER FROM V$LOGFILE;
MEMBER
--------------------------------------------------------------------
/home/oracle/oradata/INFRAORC/redo03.log
/home/oracle/oradata/INFRAORC/redo02.log
/home/oracle/oradata/INFRAORC/redo01.log
< 원격으로 접속 Tip >
클라이언트 컴퓨터의 tnsnames.ora 설정해 준다.
C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora (디폴트 설치인 경우)
priorartmaster =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =10.0.0.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = INFRAORC)
)
)
클라이언트 컴퓨터에서 접속시 명령어
두 방법 중 어느 것을 해도 무방하다. 접속 성공 후 쿼리를 날려보면 확인 끝!!!
간혹 네트워크 에러가 나는 경우가 있다. 이 경우에는 리눅스의 방화벽을 비활성화 시켜준다.
C:\> sqlplus /nolog
SQL> conn system@priorartmaster/infra
conn [계정명]@원격접속별칭/[패스워드]
SQL> conn system/infra@infra
conn [계정명]/[패스워드]@원격접속별칭
** 리눅스 ip변경 (root계정에서 실행)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.10 변경
Network를 재실행시켜야 변경사항이 반영된다. 둘 중에 어느 명령어를 쳐도 무방함
# /etc/rc.d/init.d/network restart
# service network restart