ORACLE/INSTALL2006. 11. 23. 20:28
반응형

시스템 요구사항의 검증


시스템이 Oracle Database 10g 의 최소 요구사항을 만족하는지 확인하기 위해, root 계정으로 로그인하고 아래 명령을 수행합니다.


메모리와 swap 공간을 확인하기 위해서 아래와 같이 실행합니다:


grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo

Ex:
# grep MemTotal /proc/meminfo
MemTotal: 512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal: 1574360 kB


최소 메모리 요구사양은 512MB

swap 공간의 최소 요구사항은 1GB

 

swap 공간은

2GB 이하 메모리를 장착한 시스템의 경우 메모리 용량의 2배로,

2GB를 넘는 메모리를 장착한 시스템의 경우 메모리 용량의 1~2배 사이의 용량으로 설정


Oracle Database 10g 소프트웨어를 위해 2.5 GB의 공간 필요

별도로 데이타베이스를 위해 1.2 GB의 추가 공간이 필요

 

/tmp : 최소한 400 MB의 여유 공간 필요

 

 

 

그 외 ./runInstall 시에

 

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2005-04-13_12-28-19AM. Please wait ...Error in CreateOUIProcess(): 13
: Permission denied

와 같은 오류가 뜨면서 죽는다면

 

/tmp 의 권한문제이다.

 

설치문서의 권장은 /oratemp 를 만들어서

 

export TMP=/oratemp
export TEMP=/oratemp
export TMPDIR=/oratemp


로 세팅하고 실행해 보라고 한다.

나도 동일 문제가 발생했었는데 위와 같이 세팅하고 OK.

( http://www.oracle.com/technology/obe/obe10gdb/install/linuxpreinst/linuxpreinst.htm )

 

 

프로그램 설치 전 체크중 swap 파일 사이즈 부족시 긴급해결방안

 

- oracle 10g 는 설치시 약 4g 정도의 swap 사이즈를 필요로 한다.

파티션을 나누는 방식도 있겠지만 swap 파일을 임시로 만들어서 활용한다.

( 출처 : http://www.allblog.net/GoPage/904421.html?orignalUrl=http://www.hqunix.com/wp/?p=245 )

 

오라클을 설치하게 위해 부족한 swap 스페이스를 swap파일을 만들어 해결.

# dd if=/dev/zero of=/swap1 bs=1024 count=4096000
(4096000K, 약 4096M의 파일 생성. bs=1024이므로 count는 kbyte단위가 된다)
# mkswap /swap1 4096000 (생성된 파일에 swap을 만든다)
# sync
# sync
# swapon /swap1 (swap을 활성화한다)

활성화 된 swap을 해제하려면

# swapoff /swap1

명령을 내린다.

부팅시 생성된 스왑 파일을 swap 공간에 추가하려면 /etc/rc.d/rc.local 파일의 끝에 swapon /swap1을 추가한다.

반응형
Posted by [PineTree]
ORACLE/INSTALL2006. 6. 27. 03:04
반응형

1. oracle 다운로드 및 압축해제

 

zcat ship_lnx_920_disk1.cpio.gz | cpio idmv

zcat ship_lnx_920_disk2.cpio.gz | cpio -idmv

zcat ship_lnx_920_disk3.cpio.gz | cpio -idmv

disk1, disk2, disk3이 생기고 생긴 파일들은 폴더를 하나 생성해서 이동시킨다

여기서는 /home/oracle로 이동

 

2. oracle 유저생성 및 권한부여

 

groupadd dba

useradd oracle g dba

chown R oracle.dba /home/oracle

chmod 777 / home

chmod 777 /home/oracle

 

3. pre-install RPM

* Required OS Components

            - compat-db-4.1.25-9

            - compat-gcc-32-3.2.3-47.3

            - compat-gcc-32-c++-3.2.3-47.3

            - compat-oracle-rhel4-1.0-3

            - compat-libcwait-2.0-1

            - compat-libgcc-296-2.96-132.7.2

            - compat-libstdc++-296-2.96-132.7.2

            - compat-libstdc++-33-3.2.3-47.3

            - gcc-3.4.3-9.EL4

            - gcc-c++-3.4.3-9.EL4

            - gnome-libs-1.4.1.2.90-44

            - gnome-libs-devel-1.4.1.2.90-44

            - libaio-devel-0.3.102-1

            - libaio-0.3.102-1

            - make-3.80-5

            - openmotif21-2.1.30-11

            - xorg-x11-deprecated-libs-devel-6.8.1-23.EL

            - xorg-x11-deprecated-libs-6.8.1-23.EL

 

The compat-oracle-rhel4-1.0-3 and compat-libcwait-2.0-1 packages are available

from Oracle Metalink Patch 4198954.

While installing the patch you might receive the warning. It is a normal behaviour.

 

. 의존성이 있는 RPM들은 같이 설치하여야 합니다.

보통 풀패키지로 설치 했을 때 대부분의 패키지들이 깔리지만 오라클의 메타링크에서 제공하는 패키지는 다운을 받아서 설치해야 합니다.

 

레드햇 9에서는

xorg-x11-deprecated-libs-devel-6.8.1-23.EL

compat-libgcc-296-2.96-132.7.2

openmotif21-2.1.30-11
위 패키지를 설치 안해도 잘 깔린다고 합니다.

 

4. jdk설치

 

다운로드 : https://jsecom16.sun.com/ECom/EComActionServlet;jsessionid=809FCB97DF13018EB55AFF8187294C0B

, 오라클 계정이 있어야 합니다.

RPM in self-extracting file(j2sdk-1_4_2_08-linux-i586-rpm.bin, 33.64M)

chmod +x를 주고 설치

rpm Uvh로 설치

/usr/java/j2sdk-1_4_2_08에서 /usr/local/j2sdk-1_4_2_08로 이동후

$/usr/local/에서 ln s j2sdk-1_4_2_08 java

/etc/profile에서 다음 내용을 설정

# For java

export JAVA_HOME=/usr/local/java

export PATH=$JAVA_HOME/bin:.:$PATH

 

5. 공유메모리 및 세마포 설정

오라클사가 제공한 커널 파라미터 값에 대한 권고값

파라미터

권장값

설명

SEMMNI

100

시스템 내 세마포어 셋의 최대 개수, 동시에 사용될 수 있는 세마포어의 최대 개수를 결정한다.

SEMMNS

256

시스템 내 세마포어 전체 개수

SEMMSL

100

한 개의 세마포어 셋에 존재할 수 있는 세마포어의 최대개수.

오라클 프로세스의 최대개수에 10개정도를 더한 값으로 설정한다. (오라클 initSID.ora 파일 내의 processes 파라미터)

SEMOPM

100

시스템 내 semop를 호출할 때마다 operation의 최대 개수

SEMVMX

32767

세마포어의 최대값을 결정한다.

SHMMAX

2147483648

한 개의 공유 메모리 세그먼트의 최대 크기 (단위: 바이트)

SHMMIN

1

한 개의 공유 메모리 세그먼트의 최소 크기 (단위: 바이트)

SHMMNI

100

공유 메모리 세그먼트의 최대 개수

SHMSEG

4096

한 개의 프로세스에 연결될 수 있는 공유 메모리 세그먼트의 최대값

** 공유 메모리와 세마포어의 개수 알아보기**

원래 공유메모리와 세마포어를 변경한 값을 적용하여 커널을 재컴파일 해야하지만

여건이 되지 않는 경우 소프트웨어적으로 공유메모리와 세마포어를 변경할 수 있다.

[root@ora9 kernel]# vi /etc/sysctl.conf

가장 마지막에 다음을 추가합니다.

kernel.shmmax = 2147483648

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range=1024 65000

시스템 리소스를 제한하는 설정파일에 다음을 추가한다.

[root@ora9 kernel]# vi /etc/security/limits.conf

가장 마지막에 다음을 추가합니다.

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

이 후 재부팅을 권장합니다.

 

6. 오라클 사용자 초기화 파일구성

oracle$ vi .bash_profile

 

# for ORACLE

 

export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_OWNER=oracle

export ORACLE_SID=ORA92
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export LD_ASSUME_KERNEL=2.4.1

export THREADS_FLAG=native

export TEMPDIR=/tmp

export EDITOR=vi
export PATH=$PATH:$ORACLE_HOME/bin
umask 022

 

# for DBA/User

 

alias oh='cd $ORACLE_HOME'

alias ob='cd $ORACLE_BASE'

alias cls='clear'

alias ls=’ls -F’

alias rm=’rm –i’

umask 022

 

# for java

 

export JAVA_HOME="/usr/jdk"

CLASSPATH=".:$JAVA_HOME/lib/tools.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME jdbc/lib/nls_charset12.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME/rdbms/jlib/xsu12.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/xmlparserv2.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/classgen.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/oraclexsql.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/xmlplsql.jar"

CLASSPATH="$CLASSPATH:$ORACLE_HOME/lib/xschema.jar"

export CLASSPATH

 

오라클 환경 설정 항목과 그에 대한 설명

설정 이름

설정 설명

ORACLE_BASE

오라클 설치 프로그램인 OUI를 저장하고 오라클 트레이스 파일 및 데이터 파일을 저장하는 디렉토리의 이름을 기록하는 오라클 환경변수 명이다.

ORACLE_HOME

현재 설치하고자 하는 오라클 데이터베이스 서버를 저장할 디렉토리명을 기록한다.

ORACLE_OWNER

오라클 제품을 컨트롤할 OS 시스템 레벨의 유저가 누구인가를 설정하는 오라클 환경변수로, 앞 단락에서 생성한 oracle 사용자를 지정한다.

LD_LIBRARY_PATH

오라클 제품을 사용할 때 사용되는 오라클 공유 라이브러리들의 경로를 나타낸다. 반드시 $ORACLE_HOME/lib를 포함하여 설정한다./

ORACLE_SID

오라클 서버 인스턴스의 이름인 Oracle System Identifier(SID)를 설정한다. 하나의 하드웨어에 여러 개의 데이터베이스 인스턴스가 존재할 수 있지만, SID는 개별 인스턴스에 대해 유일한 이름으로 명명되어야 한다.

PATH

$ORACLE_HOME/bin을 포함하여 설정한다.

NLS_LANG

오라클 데이터베이스의 문자 셋을 설정한다. 여러분이 생성하게 될 데이터베이스의 문자셋과 일치해야 한다.

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과 달리, 현재 사용자의 세션에서의 문자 셋을 결정하는 시스템 환경변수이다. 필자와 같이 ko_KR.eucKR를 설정하면 한글화된 시스템 메시지를 볼 수 있으며, 오라클에서 제공하는 모든 자바 툴에서 한글화 메시지를 바로 볼 수 있다.

DISPLAY

Oracle Universal Installer 등 오라클에서 제공하는 자바로 만들어진 여러 가지 툴이 구동하기 위한 X윈도우 환경을 설정하기 위한 것으로, 사용자의 서버 명이나 IP를 설정한다.

LD_ASSUME_KERNEL

KERNEL 버전을 다른것으로 보이게 하기 위한 환경 변수다.

THREADS_FLAG

JAVA Thread 실행과 관련이 있는 값이다.

 

7. 오라클 셋업

x-windows oracle계정으로 로그인

oracle에서 ./runinstaller

언어가 깨지거나 실행이 안될 경우에는 다음명령을 실행

unset LANG

Unix Group Name-> oinstall 또는 dba

sid-> 일반적으로 ora9 혹은 ora92

Global Database Name -> ora9.도메인

문자셋은 [6] 사용자 초기화파일에서 설정한 것과 같아야 한다.

export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601

설치 중간에 orainstRoot.sh 팝업이 나올시

새창에서

su root

cd /tmp

./orainstRoot.sh실행

완료 후 진행

설치 진행 100% 후에

*/oracle/ora92/root.sh 실행 대화상자 팝업

$su root

#cd / oracle/ora92

#./root.sh

시스템 기본 디렉토리를 물으면

/usr/bin으로 설정

 

 

8. Database 시작과 종료

                    glibc 관련 rpm 패키지 원상복구하기

[root@ora9 /]# cd /usr/local/src/

[root@ora9 src]# rpm -Uvh --nodeps glibc-common-2.3.2-11.9.i386.rpm

[root@ora9 src]# rpm -Uvh --nodeps glibc-devel-2.3.2-11.9.i386.rpm

[root@ora9 src]# rpm -Uvh --nodeps glibc-2.3.2-11.9.i386.rpm

 

                    오라클 데이터베이스 시작하기

Database 의 시작과 종료는 반드시!! Oracle 계정으로 수행해야 합니다.

[root@ora9 src]# su oracle

[oracle@ora9 src]$ sqlplus /nolog

SQL> connect / as sysdba

SQL> startup

오라클 데이터베이스를 시작하고 종료하기 위해서는 OS에서의 인증과 암호 파일을 생성하는

툴인 orapwd를 통해야 한다. 그리고 sys 스키마의 권한인 sysdba 권한과 public 스키마

권한인 sysoper 권한의 특별한 시스템 권한을 소유한 사용자이어야 한다.

· sysdba : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,

MOUNT, BACKUP, CHANGE, CHARACHER SET 절의 명령어 실행

· sysoper : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,

MOUNT, BACKUP 절의 명령어 실행

SQL> SELECT * FROM v$version;

현재의 오라클 데이터베이스 인스턴스의 버전 확인하기

 

                    오라클 데이터베이스 종료하기

[oracle@ora9 src]$ sqlplus /nolog

SQL> connect / as sysdba

SQL> shutdown immediate

SQL> exit

 

                    oratab 파일 편집하기

오라클 데이터베이스를 /etc/rc.d/ini.d에 스크립트로 설정하여 자동으로 실행하게 하여봅시다.

[root@ora9 src]# vi /etc/oratab

다음 부분을 수정 ([SID], [ORACLE_HOME], [자동실행/종료 플래그]로 구성되어 있습니다.)

ora9:/opt/oracle/product/9.2.0.1.0:N è ora9:/opt/oracle/product/9.2.0.1.0:Y

 

                    Parameter 파일 링크

xxxxxxxxxxxx은 일정치 않은 숫자 입니다.

[root @ora9 /]# cp /opt/oracle/admin/ora9/pfile/initora9.ora.xxxxxxxxxxxx \

/opt/oracle/product/9.2.0.1.0/dbs/initora9.ora

 

                    s/etc/rc.d/init.d 에 등록하기

oracle9i 스크립트를 /etc/rc.d/init.d 에 복사합니다.

[root@ora9 src]# cp /usr/local/src/oracle-9.2.0.1.0 /etc/rc.d/init.d/oracle9i

oracle9i에 실행권한을 부여합니다.

[root@ora9 src]# chmod 755 /etc/rc.d/init.d/oracle9i

시스템에 oarcle9i 데몬을 등록한다.

[root@ora9 src]# chkconfig --add oracle9i

[root@ora9 src]# chkconfig --level 2345 oracle9i on

Oracle Database를 재시작 시켜본 후, LISTENER 데몬이 띄워져 잇는지 확인합니다.

[root@ora9 src]# /etc/rc.d/init.d/oracle9i start

[root@ora9 src]# ps ax | grep LISTENER

 

 

설치 로그보기

tail f $ORA_HOME/app/oracle/product/orainventory/logs/installactions.log

 

Oracle 삭제

$ORACLE_HOME 디렉토리에 있는 설치파일들 전부삭제

/etc 밑에 orainst.loc, oratab 삭제

/usr/local/bin/oraenv 파일 삭제

/tmp 디렉토리에서 관련파일 삭제

# rm /etc/oratab /etc/emtab

이후 다시 재설치 하시면 됩니다.

 

 

이 문서는 RHEL4기준으로 작성 된 것이며

redhat 9.0버전과는 크게 틀리지 않을 것입니다.

 

 

반응형
Posted by [PineTree]
ORACLE/INSTALL2006. 6. 7. 05:46
반응형

    1. 기존 데이터베이스 백업 받기

우선 export 툴인 exp 이용하여 전체 database 백업 받습니다.
$ exp system/manager file=fullbackup.dmp full=y
 
그리고 기존의 데이터중 그대로 사용할 데이터 또는 만약 재설치에 실패했을 때를 대비해서
기존의 데이터를 모두 백업을 받고, 현재의 설정도 백업받아야 겠지요.
 
SQL>spool bakdata.txt
SQL>select * from v$dba_users; - 유저들의 디폴트 테이블스페이스, temp테이블스페이스
SQL>select * from v$datafile; -- 각각의 데이터파일의 위치와 크기
SQL>select * from dba_tablespaces -- 테이블 스페이스 정보
SQL>select * from dba_data_files; -- 테이블 스페이스와 파일의 구성정보
SQL>select * from dba_rollback_segs; -- 롤백 세그먼트 정보
SQL>select * from v$log; -- redo log 정보
SQL>select * from v$logfile; -- redo log file 정보
SQL>spool off
 
그리고 파라미터 파일인 init<SID>.ora, (ifile 이라는 파라미터로 설정되어있는)config*.ora 백업.
 
한가지 있습니다.
바로 control file 입니다. 이것은 복구 중요한 파일입니다.
control 파일은 2 파일이므로, 생성해주는 sql 스크립트 파일을 가지고 있으면 여러 가지로 편리합니다.
 
SQL>alter database backup controlfile to trace ;
 
이렇게 하고 init .ora 파일에(또는 config .ora) 설정된 user_dump_dest 디렉토리로 가서
가장 최근의 *.trc 파일을 열어보면 control 파일을 만드는 스크립트가 포함되어 있습니다.
이것을 편집해 놓으면 바로 controlfile 만들수 있습니다.
 
 
 
ORACLE_SID (= DB name) 을 변경했을 경우
 
- UNIX의 경우
ORACLE_SID, DB_NAME 파라미터가 들어가는 모든 파일을 찾아서 수정해야 한다.
 
1. 홈디렉토리에서 환경변수 설정파일인 .profile(또는 .cshrc)의
ORACLE_SID=<new_SID> 부분을 편집하고
$. .profile (.cshrc 의 경우 $ source .cshrc로 실행)
로 실행시켜 준다. 아니면,
$export ORACLE_SID=ORATEST
수행시켜 준다.
2. /opt/var/oracle/oratab 파일을 열어 SID:ORACLE_HOME path:Y/N를 수정
3. init*.ora 또는 config*.ora 파일의 db_name을 수정
4. 아래에 나올 crdb*.sql 파일을 수정
 
- NT 경우
regedit 실행시켜 local_machine > software > oracle > home0 (oracle 8)
이동하여 ORACLE_SID 수정합니다. 그리고 init*.ora 또는 config*.ora 파일을 수정.
 
 

2. database 생성 스크립트 crdb*.sql , crdb2*.sql 편집

 
oracle 7.3 이상의 경우
$ORACLE_HOME=/home1/oracle/app/oracle/product/7.3.3
이라면 crdb*.sql 파일들
/home1/oracle/app/oracle/admin/ORA7/create
위치합니다.
위치로 이동하여 새로운 이름으로 copy하고서, 필요한 내용을 수정합니다.
이때 init *.ora 파라미터 파일과 연동되는 부분과 각종 데이터 파일의
위치와 크기를 수정할 때는 주의를 기울여야 합니다.
 
NT 인경우 스크립트가 없습니다. sample 스크립트 파일을 참조하세요.
 

 

3. Create Database

 
$svrmgr <-------------------------- 서버메니져를 실행 (NT의 경우 svrmgrl.exe)
SVRMGR>connect internal <----- 로그인
SVRMGR>@crdboracle.sql
반드시 에러를 확인하고 다음으로 넘어 가야 합니다.
SVRMGR>@crdb2oracle.sql
확인 해야죠. 시간이 대략 1시간 정도.걸립니다.
 
이 과정이 끝나면 데이터 파일들은 제대로 생성되었는지 꼼꼼히 확인하고 다음으로 넘어가야 합니다.
보통 아래과정에서 에러가 생기기 마련입니다.
 

4. system table/view 생성

 
우선 ORACLE_HOME/rdbms/admin 디렉토리로 이동하여
catalog.sql, catproc.sql, catexp.sql 3가지 스크립트 파일이 존재하는지 확인하십시오.
 
SVRMGR>connect internal
SVRMGR>@$ORACLE_HOME/rdbms/admin /catalog
-- 20 소요
SVRMGR>@$ORACLE_HOME/rdbms/admin /catproc
-- 1시간 소요
SVRMGR>@$ORACLE_HOME/rdbms/admin /catexp
-- 30 소요
만일 위의 스크립트를 돌리다 에러다 싶으면 데이터베이스 생성할 뭔가 잘못된 것입니다.
확인하고 다시 실행 해야겠죠..

 

5. 도움말과 sample table / view 생성

 
sqlplus를 실행하고 system/manager login 합니다.
 
$ cd $ORACLE_HOME/sqlplus/admin/help
$ SYSTEM_PASS=system/manager;export SYSTEM_PASS
$ helpins
이렇게 해서 sqlplus 의 도움말을 설치하고 (NT 에서는 이런 과정이 필요 없습니다.)
다음에 scott/tiger 샘플 테이블을 설치합니다.
 
$ cd $ORACLE_HOME/sqlplus/admin
$ sqlplus system/manager
SQL> create user scott identified by tiger
default tablespace users temporary tablespace temp
quota unlimited on users
quota unlimited on temp;
SQL> grant connect,resource to scott;
SQL>@ $ORACLE_HOME/sqlplus/admin/pupbld.sql
SQL> connect scott/tiger;
SQL> @$ORACLE_HOME/sqlplus/demo /demobld.sql
 
이로서 DB의 재설치 끝~

 

6. 백업 데이터 복원

exp 백업받은 데이터를 복원할 때는 imp 사용하여 선별적으로 또는 full 복원니다.
그러나 임포트 하기 전에 임포트할 userid, tablespace 존재하고 있어야 합니다.
이들은 백업받은 메타데이터 정보를 이용해서 다시 살려 놓습니다.
 
SQL> create tablespace [name] datafile ‘/data2/oracle/oradata ….’ [Size 10M] [reuse]
 Default storage( initial 1024 next 1024 …. );
 
일단 테이블 스페이스를 만들고 유저를 생성.
 
SQL> create user [id] indentified by [passwd]
 default tablespace [tablespace name] temporary tablespace [temp] …;
 grant connect, resource to [id];
 
Export받은 File에서 Index 제외한 나머지만 Import 하려면 indexes=n 옵션을 주고,
 
$ imp system/manager file=fullbackup.dmp fromuser=scott touser=scott indexes=n commit=y
 
Indexfile Option 이용하여 Index Script 만든다.
 
$ imp system/manager fromuser=scott touser=scott file=scott.dmp indexfile=index.sql
 
위와 같이 명령을 실행하면 index.sql이라는 File 만들어지고,
파일을 열어서 확인해 보면 create table 문장과 create index문장이 있고 Create Table 문장은 REM으로 막혀 있어서 결과적으로 Create Index문만 실행할 있도록 되어 있습니다.
 
파일에서 Create Index문의 Tablespace 바꾸어서 다음과 같이 SQL*Plus에서 실행.
$ sqlplus scott/tiger
SQL> @index
 
이런 식으로 차례로 복구 하면 깨끗한 마음으로 복구 ~
반응형
Posted by [PineTree]
ORACLE/INSTALL2006. 1. 26. 18:33
반응형
 

 

 

 

 

Sun Solaris8 (intel 플랫폼) 에서 Oracle 8i 설치 (II)


  

1. 설치를 위한 기본 환경

   - 메모리 권장 : 128 MB 이상
   - HDD : 1 GB
정도의 빈 공간.
   - CPU :  Celeron 366
혹은 펜티엄 II 350 이상 .

    위의 사양은 말 그대로 설치를 위한 최소사양이다.   위 내용중 메모리는 256MB를 장착하면 쾌적하게 오라클을 설치하여 사용할 수 있다.    128MB 256MB의 차이점은 오라클 설치에 필요한 소요시간에서도 명확히 나타난다.       

2.  ROOT 권한하에서 할 일.

     .  ORACLE 계정 등록

     - 오라클 설치 및 운영을 위한 USER 계정을 새로 만든다.   (admintool을 이용하는 것이 편하다)   아래와 같이 설정해주면 된다.   

        
* 사용자명 :  oracle (임의로 설정가능)
        * Primary Group : oinstall
        * Secondary Group :  dba
        *
홈 디렉토리 :  /ora
(임의로 설정 가능.   단 오라클 홈 디렉토리와는 절대로 일치시키지 말 것.  과거 리눅스용은 오라클 홈 디렉토리로 사용자 홈 디렉토리를 설정하였으나 솔라리스용은 다르다)
        *
Login Shell :  Bourne shell (/bin/sh)

    . 솔라리스 커널 Parameter 설정

          /etc/system 파일 맨 밑부분에 아래 내용을 삽입한다.

         set shmsys:shminfo_shmmax=4294967295
         set shmsys:shminfo_shmmin=1         
         set shmsys:shminfo_shmmni=100
         set shmsys:shminfo_shmseg=10
         set semsys:seminfo_semmni=100
         set semsys:seminfo_semmsl=100
         set semsys:seminfo_semmns=200
         set semsys:seminfo_semopm=100
         set semsys:seminfo_semvmx=32767

  ** 상기 사항을 입력할 때 주의하세요.  오타가 나면 부팅시 에러메시지가 나타납니다.

       .  환경변수 설정

     - oracle user의 환경변수를 설정해준다.  oracle user의 홈 디렉토리안에 있는  .profile을 수정해주면 된다.  
    
    * DISPLAY=deskpia(자신의 워크스테이션 이름):0.0
        * ORACLE_HOME=/export/home/OraHome1  
        * PATH=/usr/bin:/usr/ccs/bin:/usr/ucb:/etc:$ORACLE_HOME/bin:/bin:/opt/bin
        * TMDIR=/var/tmp
        * umask=022
        * ORACLE_OWNER=oracle

     ** 주의사항 :   oracle 계정은 위에 언급한 대로 Bourne shell을 사용한다.  C shell과는 달리 Bourne shell이나 Korn shell에서는 환경변수를 지정한후에는  반드시 export 명령을 주어야만이 변수가 적용된다.   

        예를 들어 위에서 설정한 ORACLE_HOME=/export/home/OraHome1 의 경우에도 밑줄에 export ORACLE_HOME 을 추가로 설정해 주어야 된다.    

    여기까지는 oracle을 인스톨하기 전에 만들어준다.

       .  oracle 홈디렉토리의 사용권한 설정

     - oracle user가 새로이 생성될 오라클 홈디렉토리에 쓰기권한을 가질 수 있도록 해주는 것이다. 만일 오라클 홈디렉토리가 위에 지정한 것처럼 /export/home/OraHome1이라면..

       # chown oracle:oinstall /export/home

       이렇게 지정해주면 된다.  
   

     
3. oracle 사용자로서 할 일

    root 권한하에서 할 일을 마쳤으면 이제  새로 생성한 oracle user로 다시 login하여 다음 작업을 수행해주자.    

     .  umask 값 확인

          - umask라고 쉘에서 입력했을 때 0022값이 나오면 된다.  다른값이 나왔다면 .profile에서 umask 설정을 잘못해준 것이다.

4. oracle 데이터베이스 설치

    아래 내용은 모두 oracle 사용자로 로긴하여 수행해야 하는 일이다.  절대 root login하지 말기 바란다.  

     .  로긴시 언어설정

           가장 애를 먹은 부분이다.  이제껏 기본적으로 한글 (Korean) 환경에서 솔라리스를 수행하여 왔을 것이다.  그러나 Oracle database를 설치할 때 만큼은 영어환경에서 설치를 해주도록 하자.   그 이유는....    한글환경에서 설치를 해보면 안다.  Oracle Database Configuration Assistant를 수행할 때 나오는 원인모를 에러.. 그리고 멈춤.    이것 때문에 며칠을 허송세월하였다.   결국 오라클 사용자모임의 게시판에서 해답을 얻을 수 있었다.

      .  Oracle 8i CD 삽입

          다 아는 내용이겠지만 솔라리스는 CD를 삽입함과 동시에 자동으로 CD를 마운트해준다.  오라클 CD를 넣으면 CD의 루트 디렉토리에 있는 파일들이 파일관리자 화면에 보일 것이다.   여기서 아래에 흰색으로 표시된 runInstaller 파일을 수행시키면 된다.      마우스로 더블클릭해보자.  JAVA를 기반으로 한 멋진 GUI환경의 Universal Installer Program이 실행된다.

                   
오라클 CD를 넣었을 때 나타나는 파일매니저 


   
                

      .  Oracle 8i 설치

         설치 프로그램 화면을 따라가면서 설치를 수행하자.  

         설치도중 tmp/OraInstall/orainstRoot.sh 스크립트 파일을 root 권한으로 수행하라고 나온다.  (물론 새로 root로 로긴하라는 것이 아니고 잠시 su를 이용 root권한을 가지고 하면 된다)   

        File location 지정화면은 특별한 이유가 없는 이상 시스템에서 기본적으로 지정하는 위치에 설치하면 된다.   

        설치하는 유형을 선택하는 메뉴는 다음 3가지로 나뉜다.

        1) Oracle Enterprise Edition 8.1.5  :  Oracle db server와 관련된 모든 프로그램

        2) Oracle 8i Client 8.1.5 :  client용 프로그램

        3) Oracle Programmer 8.1.5 :  기본적인 클라이언트 프로그램 (Net8, SQL*Pluse) 및 프리 컴파일러, 도움말등.

        위에서 자신에게 알맞는 사항을 선택후 Next 버튼을 누르면 설치유형 선택화면이 나온다.   여기서 Custom을 선택하여야만 프로그램 및 데이터베이스에서 사용할 언어를 선택할 수 있다.

      다음 화면은 설치가 가능한 각 프로덕트가 박스안에 나열된다.  상단의 'Product Language'를 클릭하면 설치할 언어를 선택할 수 있다.   기본적으로는 'English'로 되어있겠지만 이것을 'Korean'으로 변경한다.  

         Java Runtime Applicaiton의 경로설정 및 보안인증방법 (Authentification Methods) 설정부분은 그냥 Next 버튼을 누르면 기본값으로 설정된다.

        Oracle Home Directory는 기본적으로 export/home/OraHome1으로 되어있을 것이다.  설정된 기본값 그대로 하면 된다.

         오라클 소프트웨어를 갱신할 수 있는 UNIX 그룹을 지정하라고 나오면 oinstall을 입력한다.

      설치에 필요한파일이 복사되는 과정이 진행된다.  

       .  Net8 Configuration

             맨 아래 참조.

           

     **  설치중 정해주어야 할 값.

         Oracle SID:  4-5자정도의 짧은 알파벳 이름을 지어준다.   이값은 추후 .profile에도 설정해주어야 하므로 잊지 않도록 한다.  (Default :  ORCL)

         DB :  역시 자기마음에 드는 이름을 지어준다

 



.

      

       .  데이터베이스 생성

         설치 후반부로 가면 자동으로 수행에 필요한 데이터베이스 생성으로 들어간다.  (Oracle Database Configuration Assistant)   데이터베이스 생성 옵션으로서는  설치 CD에 있는 데이터베이스 파일  복사를 선택하면 된다.    데이터베이스 생성작업에 소요되는 시간은 시스템 메모리 크기에 따라 차이가 있을 것이다.  (메모리가 클수록 소요시간은 짧아진다)

 



  

       .  root.sh 실행

           필요한 파일 설치가 끝나고 링크작업이 완료되면 Oracle Home 디렉토리에 있는 root.sh root권한으로 실행하라는 메시지가 나온다.   이것을 실행시켜도 실행이 되지 않을 경우에는 chmod  명령을 사용하여 root.sh의 속성을 실행가능 파일로 바꿔준다.

          실행후 ORACLE_OWNER, ORACLE_HOME, ORACLE_SID의 설정값이 나오면 이것을 확인해둔다.      local bin 디렉토리의 full path명은 자신의 시스템에 설정된 값으로 고쳐준다.  (. /usr/bin)

          모든 설치가 끝나게 되면 아래와 같은 엔딩 화면을 보게된다.  이걸 보기위하여 얼마나 많은 노력을 하였는가.... 라고 생각하면 안된다.   아직 확인해야 할 일이 많다.

   

 

 

5. 설치후 해야할 일

     .  환경변수 추가 설정

     - oracle user의 환경변수를 추가로 설정해준다.  설치하기 전과 마찬가지로 oracle user의 홈 디렉토리안에 있는  .profile을 수정해주면 된다.  

        * ORACLE_SID= 아까 설정한 값을 넣어준다. ( : ORCL)  
        * CLASSPATH=/export/home/jre/1.1.7/bin:$ORACLE_HOME/jlib
        * LD_LIBRARY_PATH=$ORACLE_HOME/lib

** 참고로 필자의 oracle 계정에 설정한 .profile값을 공개한다.  여기서 DISPLAY 변수에 나오는 서버명(deskpia)은 여러분의 시스템에 맞게 수정해야 한다.   나머지 사항은 대체로 동일하게 설정해도 되는 사항들이다.

tty istrip
DISPLAY=deskpia:0.0
export DISPLAY
ORACLE_HOME=/export/home/OraHome1
export ORACLE_HOME
PATH=/usr/bin:/usr/ccs/bin:/usr/ucb:/etc:$ORACLE_HOME/bin:/bin:/opt/bin
export PATH
TMDIR=/var/tmp
export TMDIR
umaks=022
export umask
ORACLE_OWNER=oracle
export ORACLE_OWNER
ORACLE_SID=ORCL
export ORACLE_SID
CLASSPATH=/export/home/jre/1.1.7/bin:$ORACLE_HOME/jlib
LD_LIBRARY_PATH=/usr/java/lib:$ORACLE_HOME/lib

        이제 시스템을 rebooting oracle user로 새로이 login한다.

    


6. 오라클 구동 확인

    . 이미 path가 지정되어 있으므로 곧바로 아래와 같이 쉘에서 입력해보자.

     $ svrmgrl

     아래와 같이 화면이 나타나면 1차 성공이다.  

Oracle Server Manager Release 3.1.5.0.0 - Production

(c) Copyright 1997.  Oracle Coprporation.   All Rights Reserved.

Oracle8i Enterprise Edition Release 8.1.5.0.0 - Production
with the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production

SVRMGR>

     . 이제 데이터베이스에 연결해본다.

SVRMGR> connect internal

    Connected 라고 나오면 된다.   여기서 Connected라는 메시지와 함께 어떤 error 메시지가 나온다면 오라클 db가 정상적으로 설치되지 못한 것이다.  

     .  다음으로는 데이터베이스를 구동시킨다.

      SVRMGR> startup

잠시후 아래와 같이 메시지가 나오면 성공적으로 데이터베이스가 구동되고 있는 것이다.

                                              ** 아래 수치는 시스템에 따라 다를 수 있음 **

Oracle instance started
Total System Global Area                      35028368 bytes
Fixed Size                                                   64912 bytes
Variable Size                                          18014208 bytes     
Database Buffers                                    16777216 bytes
Redo Buffers                                               172032 bytes
Database mounted.
Database Opened.                         

     .  내친김에 데이터베이스에 있는 테이블들을 살펴보자.

      SVRMGR> select * from tab;

     수많은 테이블들이 주욱 나오면서 마지막에 다음 메시지가 나올 것이다.

      1433 rows selected.

      이제 오라클 데이터베이스 설치라는 기나긴 여정이 끝났다.   남은 일은 dba로서 해야 할 일이다.   항상 끝마칠 때 shutdown을 잊지 않으면 아무런 문제없이 oracle DB를 사용할 수 있을 것이다.   

      

p.s.  http://technet.oracle.com으로 가면 오라클 데이터베이스에 관한 아주 많은 자료들이 체계적으로 정리되어 있다.  이것을 이용하려면 회원으로 가입하면 된다.  회비는 무료이다. 물론 모든 자료는 영어로 되어 있다.

 

    Oracle 8i 설치를 위한 네트웍 설정


      

         Database 설치에 웬 네트웍 ? 하실지도 모르겠다.   오라클은 클라이언트/서버 환경에서 수많은 고객을 만족시켜온 데이터베이스이다.  (지금도 많이 쓰이고 있지만).

         서버에 설치된 하나의 오라클 엔터프라이즈 에디션만 있으면 클라이언트는 아주 경량화된 클라이언트 component만을 자신의 PC에 설치해서 오라클을 기반으로 한 응용 프로그램을 실행시킬 수 있다.    이때 서버와 클라이언트간의 연결은 네트웍을 통하여 이루어지게 된다.  

         이러한 Client/Server간의 통신을 위하여 설정해주어야 하는 부분이 바로 네트웍 설정이다.

         본격적인 설정에 앞서서 네트웍 설정에 나오는 용어 몇가지를 정리하도록 해보자.

    1)  listener.ora : 클라이언트가 db에 접속하려 한다고 서버에게 말하면 서버는 그 요청을 들어야 한다.   이 요청을 놓치지 말고 귀담아 듣도록 서버와 클라이언트간 통신 환경을 설정해주는 파일이라고 생각하면 쉬울 것이다.   당연히 서버에 있어야 하겠고.

     client측이 오라클 서버로 접속할 수 있도록 필요한 프로토콜 및 포트번호(주로 1521) 를 설정해 주는 파일로서 서버에 위치한다.   protocol로서는 주로 tcp/ip가 사용될 것이다.

    2) tnsnames.ora : client측에서 오라클 서버로 접속할때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스등을 설정해주는 파일로서 클라이언트에 위치한다.

    ** linstener.ora와 tnsnames.ora는 둘다 Net8 configuration 작업을 해주면 자동으로 설정된 값에 의거하여 만들어지는 파일들이다.   위에서 명시한바와 같이 둘의 이름은 다를지언정 추구하는 목적은 똑같다. (listener는 서버용, tns는 클라이언트용)

     만일 A라는 서버가 B라는 서버에 접속하려 한다면 어떻게 해야할까 ?  이때 A라는 서버는 비록 이름은 서버지만 접속하려는 순간에는 B의 클라이언트가 된다.  그러므로 역시 접속하기 전에 tnsnames.ora를 만들어주어야 한다.

        이제 오라클 DB 설치도중 나오는 Net8 Configuration 설정과정을 예로 들면서 하나씩 알아보도록 한다.   오라클을 설치하다보면 Configuration tools라는 그래픽 박스가 나타나면서
    이 과정이 수행된다.

     가.  Net8 Configuration

           제일 먼저 화면에는 Listener configuration과 Naming Method configuration을 시작하고자 한다는 정중한 메시지가 나온다.    말 그대로 Listner와 Naming Method를 설정하는 부분이다.   Next 버튼을 클릭하면 Listener의 이름을 지어달라고 부탁하는 화면이 나올 것이다.  여기서 Listener의 이름 작명에 머리아파하지 말자.  기본값으로 LISTNER라고 나올 것이다. 이걸 그대로 사용하면 된다.  (물론 사용자가 자기 이름으로 변경해도 된다.)  

          다음으로는 리스너 프로세서가 사용할 통신 프로토콜을 설정하자.  이부분은 자신의 시스템이 사용하는 프로토콜을 선택하면 된다.  (일반적으로 TCP/IP라 생각되는데...)

                TCP/IP Client Type 화면에서는 선택된 프로토콜이 어떤 클라이언트 유형에 적용될지를 선택할 수 있다.  일번적인 C/S환경에서는 'Net8 Client'를 선택한다.    인터넷과 관련된 클라이언트 유형이라면 IIOP Clients를 선택할 수 도 있다.  

                 다음 화면에서는 사용할 TCP/IP Port number를 지정하게 된다.   기본값은 1521이 된다.   여기서 한가지 주의사항이 있다.   지정된 포트를 제대로 사용하려면 솔라리스의 etc/services 파일에 'listener 1521/tcp'라는 값이 설정되어 있어야 한다.   물론 여러분이 처음 오라클을 설치하였다면 설정이 되어있을리 만무하다.   오라클 설치를 모두 마친후에,  파일을 열어서 꼭 설정해주도록 하자.  (설정후에는 시스템을 리부팅해주어야 한다)

                만일 여러분이 설치한 오라클 서버에 수많은 사용자들이 동시에 접속해야 한다면 리스너 프로세서 하나만으로는 모자라는 경우가 생길 수 있다.  이 경우에는 리스너를 하나이상 설치해 주어야 한다.  'More Listner ?' 화면에서는 이러할 때를 대비하여 복수 리스너를 설치할 수 있도록 해준다.    그러나 일반적으로는 하나의 Listner로도 충분하므로 'No'를 선택하자.

               리스너 설치가 완료되면 다음으로는 Naming Method 설치메뉴가 나온다.  여러분이 속해있는 네트워크에 여러개의 데이터베이스가 설치되어 운영중이라면 Named Server를 설치하여 오라클 데이터베이스에 접속할때의 환경을 만들어 주어야 한다.    그렇지 않고 오라클 데이터베이스만을 사용한다면 이것 역시 'No'를 선택하고 넘어가면 된다.

               이것을 마치면 Net8 Configuration Assistance 설치가 모두 완료되었다는 화면이 나온다.

     나.  리스너 동작상태 확인

           ** 주의 :  아래 사항은 오라클 데이터베이스 설치를 모두 마친후 오라클 사용자로 로그인하여 확인해야 한다.   설치도중에 시도하면서 안된다고 고민하지 말것..  

                
    이제껏 설치한 서버의 리스너가 잘 동작하는지 동작상태를 확인해보자.

    $ lsnrctl status 라는 명령을 주면 된다.

    만약 protocal adapter error니 no listener니 하는 에러메시지가 잔뜩 나오면서 작동을 하지 않고 있으면 ...  실망하지 말고 아래 명령어를 실행해보자.

    $ lsnrctl start listener

    작동을 멋지게 시작할 것이다.

     그래도 작동을 하지 않는다면...  위에서 언급한 etc/services 파일에 'listener 1521/tcp'라는 값이 설정되어 있는지를 확인해보자.    대부분 이것이 제대로 설정되어 있지 않아 일어나는 불상사이다.


     

반응형
Posted by [PineTree]
ORACLE/INSTALL2005. 5. 25. 22:05
반응형

Redhat 9.0 기반에서 오라클 9.2.0 설치하기

 

INSTALL oracle9i On redhat 9.0

1. 참조문서
http://linux.oreillynet.com/lpt/a/4141
http://otn.oracle.co.kr/Starter/database/install/9ir2_install_viewlet_swf.html (강력추천)

2. 설치전 필요한 페키지
X-Window 필수
gcc-3.2.2-5
cpp-3.2.2-5
glibc-devel-2.3.2-11.9
binutils-2.13.90.0.18-9
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
pdksh-5.2.14-21
libncursers

3. 다운로드 소스
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.html
적당한곳에 3개의 파일을 받아 압축을 푼다.
# zcat lnx_920_disk1.cpio.gz | cpio -idmv <-- http로 받지 않았을 때
# cpio -idmv < lnx_920_disk1.cpio.gz.cpio.gz <-- http로 받았을 때

4. 계정 및 그룹생성 시스템 설정
# groupadd dba
# adduser -g dba oracle

# vi /etc/sysctl.conf
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

# vi /etc/security/limits.conf
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

만약 리붓팅하지 않을려면 다음과 같이한다.
# echo 250 32000 100 128 > /proc/sys/kernel/sem
# echo 536870912 > /proc/sys/kernel/shmmax
# echo 4096 > /proc/sys/kernel/shmmni
# echo 2097152 > /proc/sys/kernel/shmall
# echo 65536 > /proc/sys/fs/file-max
# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

오라클은 최소 512MB의 메모리와 400MB의 스왑 공간을 필요로 한다. 따라서 부족하다면
임시적으로 스왑공간을 아래와 같이 만들어준다.

# dd if=/dev/zero of=tmp_swap bs=1k count=900000
# chmod 600 tmp_swap
# mkswap tmp_swap
# swapon tmp_swap

스왑해제
# swapoff tmp_swp
# rm tmp_swap


5. 환경변수 설정(여기서 부터 oracle 계정으로 바꾼다.)
$ vi .bash_profile
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0.1
export ORACLE_OWNER=oracle
export ORACLE_SID=oraccle
export ORACLE_TERM=xterm
#export TMPDIR=$ORACLE_BASE/tmp
#export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG='AMERICAN_AMERICA.KO16KSC5601'
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORAClE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib
export LANG=C
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/oracm/bin

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

$ /Where/Disk1/runInstaller <- 오라클 소스압축푼 디렉터리

6. 5번의 과정이 성공적으로 끝났다면 설치창이 뜬다.
언어설정에 korean을 추가하고 설치는 custem으로하여 +sqlplus를 체크하고 넘어간다.

설치 중 두번의 에러메세지가 나온다.
Error in invoking target install of makefile
/usr/ora9/product/9.2/network/lib/ins_oemagent.mk

위의 경우 무시하고 지나간다.

Error in invoking target install of makefile
/usr/ora9/product/9.2/ctx/lib/ins_ctx.mk

위의 경우는 X terminel을 하나 더 띄우고 oracle 계정으로 아래순서대로 실행한다.
$ cd $ORACLE_HOME/install
$ tail make.log
gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/
-L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9

긁어 붙인다음 -ldl 을 추가한 후 엔터한다.

100% 설치후 루트권한으로 아래 명령을 실행시키라는 메세지가 뜬다.
/home/oracle/product/9.2.0.1/root.sh

모든 과정이 다 끝났다.
이후의 설정이나 가지고 노는것(?)에 대해서는 잘 모르겠다....
처음깔아보는거라.. ^^;
9.0 으로 설치했지만 7.3에서도 적용됨.


오라클코리아 기술지원팀과 통화를 통해 알게되었는데 물론 오라클 홈페이지에도 언급이
된 내용이지만 레드핫 스탠다드 버젼에서는 7.2 기반에서 제작되었기 때문에 다른 버젼에서는
문제가 될수있다고한다. 물론 9.0에 설치했을때도 다운되는 문제가 생겼다. 설치시 다운된
시점의 로그를 살펴본다면 어떤문제인지 자세히 알수있을것이다.(기록하는 습관이 들지 않아 기록해
놓지 않았따.^^;) 오라클측에서는레드핫 엔터프라이즈버젼을 사용할것을 권고하고 있습니다.

저의 경험으로는 스탠다드 7.3 버젼에서도 무리없이 설치되고 구동되는것을 확인했습니다

---------------------------------------------------------------

 

출처: http://blog.naver.com/deepinheart/20000824719

반응형
Posted by [PineTree]
ORACLE/INSTALL2005. 5. 25. 22:04
반응형

http://www.vader.co.kr
http://www.vader.co.kr/bbs/view.php?id=Linux&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=18


설치환경
Pentium 4 CPU 2.6GHz
RAM 2GB
Microsoft Windows XP Professional Version 2002 Service Pack2

VMware Workstation 4.5.2 build-8848
Redhat Linux 9 (2.4.20) HDD 20GB, RAM 1740MB



계정 생성
[root@localhost root]# groupadd dba
[root@localhost root]# groupadd oinstall
[root@localhost root]# useradd -g oinstall -G dba oracle
[root@localhost root]# passwd oracle




디렉토리 생성
[root@localhost root]# mkdir -p /opt/ora9/product/9.2
[root@localhost root]# mkdir /var/opt/oracle
[root@localhost root]# chown oracle.dba /var/opt/oracle
[root@localhost root]# chown -R oracle.dba /opt/ora9




필수 RPM 파일 확인 및 설치
gcc-3.2.2-5
cpp-3.2.2-5
glibc-devel-2.3.2-11.9
binutils-2.13.90.0.18-9
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm

설치되어 있지 않다면 http://rpmfind.net 에서 해당 rpm을 다운 받아 설치한다.
rpm -Uvh (package_name)




Maximum Share Memory Size의 증가
/etc/sysctl.conf 를 vi로 열고 다음을 추가한다.

kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000


/etc/security/limits.conf 에는 다음을 추가한다.

oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384


저장하고 재부팅.




.bashrc 수정
다음을 추가한다.

#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601;





Oracle 설치 파일 다운로드
다운로드 : http://www.oracle.com/technology/software/products/oracle9i/htdocs/linuxsoft.html

다운 받은 파일의 압축을 풀어준다.
[oracle@localhost oracle]$ zcat ship_9204_linux_disk1.cpio.gz  | cpio -idmv
[oracle@localhost oracle]$ zcat ship_9204_linux_disk2.cpio.gz  | cpio -idmv
[oracle@localhost oracle]$ zcat ship_9204_linux_disk3.cpio.gz  | cpio -idmv




Oracle 설치
※ 만약 Redhat Linux9의 기본 언어가 한글로 설정되어 있다면 아래와 같이 한글이 깨진다. 이럴 경우 ./runInstaller를 실행하기 전에 한글을 패치한다.



Oracle 한글 패치
/home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/fonts 에 다음 파일을 업로드 한다.(클릭하면 다운 받을 수 있음)

batang.ttc
gulim.ttc
mingliu.ttc
fonts.dir


/home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib 에 다음 파일을 업로드 한다.(클릭하면 다운 받을 수 있음)

font.properties.ko

[oracle@localhost oracle]$ chmod 755 -R /home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib

[oracle@localhost oracle]$ chmod 755 -R /home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/fonts


oracle 계정으로 X window 에서 설치한다. 터미널 창을 열고 다음과 같이 실행.

[oracle@localhost oracle]$ cd Disk1
[oracle@localhost Disk1]$ ./runInstaller


『다음』을 클릭



인벤토리 위치를 지정하고(수정할 필요 없음) 『확인』을 클릭한다.



dba를 입력하고>『다음』을 클릭



위와 같은 창이 뜨게되면
터미널 창을 열고 루트 권한으로 다음과 같이 실행하고 『계속』을 클릭.

[root@localhost root]# /tmp/orainstRoot.sh
Oracle 인벤토리 포인터 파일 생성 중 (/etc/oraInst.loc)
그룹 이름 변경 중 /opt/ora9/oraInventory 대상 dba.



『다음』을 클릭.









데이터베이스는 생성하지않고 프로그램만 설치한다.







위와 같은 창이 뜨면 터미널에서 루트 권한으로 /opt/ora9/product/9.2/root.sh 를 실행하고 『확인』을 클릭한다.






Database 생성
[oracle@localhost oracle]$ cd $ORACLE_HOME/bin
[oracle@localhost bin]$ ./dbca






『New Database』선택


















『데이터 딕셔너리 뷰 생성』단계에서 『ORA-29807 : specified operator does not exist』오류가 발생함.
이것은 알려진 문제로(Bug: 2686156) 무시해도 됨. 『무시』를 클릭하고 계속 진행


『Oracle Spatial 추가』 단계에서 『ORA-01430』에러가 발생하는데 이것 또한 알려진 문제로 무시해도 상관없음. 『무시』를 클릭하고 계속 진행


설치 마지막 부분에서 패스워드를 설정하고 『종료』를 클릭하면 아무런 반응이 없었음.
데이터 베이스 생성은 완료 된것 같아 X윈도우를 강제 종료하였음.(버그인 듯)



테이블 스페이스와 사용자의 생성, 권한설정
[oracle@localhost ora9]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Thu May 12 16:55:30 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> connect /as sysdba
Connected.
SQL> create tablespace vader
  2  datafile '/opt/ora9/oradata/ora9/vader.dbf' size 500M;

Tablespace created.

==> 500MB 의 크기로 vader라는 테이블스페이스를 생성함.

SQL> create user vader identified by passwd
  2  default tablespace vader
  3  temporary tablespace temp;
User created.

==> 패스워드가 "passwd"인 vader라는 사용자를 생성.

SQL> grant create session to vader with admin option;
Grant succeeded.

SQL> grant create table to vader with admin option;
Grant succeeded.

SQL> grant create view to vader;
Grant succeeded.

SQL> alter user vader quota unlimited on vader;
User altered.

==>vader 사용자에게 데이터베이스 접속, 테이블, 뷰 생성 권한을 부여한다.



Listener 설정
[oracle@localhost oracle]$ cd $ORACLE_HOME/newwork/admin
[oracle@localhost admin]$ vi listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.32.130)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ora9)
      (ORACLE_HOME = /opt/ora9/product/9.2)
      (SID_NAME = ora9)
    )
  )
※ 서버 IP를 입력


[oracle@localhost admin]$ vi tnsnames.ora
ORA9 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.32.130)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora9)
    )
  )
※ 서버 IP를 입력




TEST
[oracle@localhost admin]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Thu May 12 18:34:15 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> connect /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area  236000356 bytes
Fixed Size                   451684 bytes
Variable Size             201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
[oracle@localhost admin]$ lsnrctl start

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 12-MAY-2005 18:35:03
Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

Starting /opt/ora9/product/9.2/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 9.2.0.4.0 - Production
System parameter file is /opt/ora9/product/9.2/network/admin/listener.ora
Log messages written to /opt/ora9/product/9.2/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.32.130)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 9.2.0.4.0 - Production
Start Date                12-MAY-2005 18:35:03
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  OFF
SNMP                      OFF
Listener Parameter File   /opt/ora9/product/9.2/network/admin/listener.ora
Listener Log File         /opt/ora9/product/9.2/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.32.130)(PORT=1521)))
Services Summary...
Service "ora9" has 1 instance(s).
  Instance "ora9", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@localhost admin]$ sqlplus vader/passwd@ora9

SQL*Plus: Release 9.2.0.4.0 - Production on Thu May 12 18:35:20 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production

SQL>


※참고 : http://www.puschitz.com/InstallingOracle9i.shtml
※참고 : http://linux.oreillynet.com/lpt/a/4141

반응형
Posted by [PineTree]