Oracle History #8

966 views

Published on

Linux Install for Oracle10g

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
966
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Oracle History #8

  1. 1. http://www.ggola.com 장 경 상1. Linux & Oracle10g.................................................................................................................3 1. Oracle Enterprise Edition 10g Product and Certify...................................................4 2. Linux 설치.......................................................................................................................5 2.1.1. Linux Install......................................................................................................5 2.1.1.1. Install 시작..............................................................................................5 2.1.1.2. Telnet, Ftp...............................................................................................5 2.1.2. Oracle10g를 위한 H/W resource...................................................................6 2.1.2.1. H/W 요구사항........................................................................................6 2.1.2.2. H/W 확인...............................................................................................6 3. Oracle10g Install을 위한 OS 설정................................................................................9 3.1.1. 계정 과 그룹 (account & group).....................................................................9 3.1.1.1. oracle, dba, oinstall................................................................................9 3.1.1.2. group 및 oracle base directory의 설정................................................9 3.1.1.3. profile 설정.............................................................................................9 3.1.2. Package............................................................................................................11 3.1.2.1. 필요 Package........................................................................................11 3.1.3. Kernel...............................................................................................................13 3.1.3.1. linux kernel parameter의 recommend 값과 확인............................13 3.1.3.2. linux kernel 값의 변경과 확인............................................................14 3.1.4. Shell Limit.......................................................................................................15 3.1.4.1. limits.conf file.......................................................................................15 3.1.4.2. login file.................................................................................................15 3.1.4.3. profile file..............................................................................................16 4. Oracle10g Installation..................................................................................................18 4.1.1. 시스템 환경.....................................................................................................18 4.1.2. Mount...............................................................................................................18 4.1.3. run Installer.....................................................................................................18 5. Management After Installation..................................................................................38 5.1.1. URL..................................................................................................................38 5.1.2. Other Oracle Process......................................................................................38 5.1.2.1. Process OCSSD.....................................................................................38 5.1.2.2. Manual Process 조정............................................................................38 5.1.2.3. ASM Instance와 OCSSD.....................................................................39 5.1.3. em & iSQL*Plus..............................................................................................41 5.1.3.1. em 사용하기..........................................................................................41 5.1.3.2. iSQL*Plus..............................................................................................42 JKSPARK@HANAFOS.COM 1
  2. 2. http://www.ggola.com 장 경 상 5.1.3.3. Explorer에서 Language(언어) 문제...................................................425.1.4. Policy Framework..........................................................................................43 JKSPARK@HANAFOS.COM 2
  3. 3. http://www.ggola.com 장 경 상1. Linux & Oracle10gRedHat Linux Advanced Server 3 (for Linux x86)를 Pentium III 512MB 메모리 컴퓨터에 설치하고 이 platform을 기반으로 oracle10g를 install하여 기본 테스트를 진행할 것이다. 따라서 기본이 되는 linux platform의 설정에 아무런 이상이 없어야만 우리가 목적으로 하는 oracle10g에 대한 features 테스트가 원활이 진행됨으로 다음의 절차를 잘참고하여 여러분의 pc 혹은 server에 반영하도록 한다.CF. 여러분이 이미 oracle10g database를 가지고 있다면 platform과 상관없이 이chapter는 굳이 읽을 필요는 없다. 또한 여러분이 완전한 Linux Advanced Server 2 또는 3이나 Suse8등과 같은 platform 준비가 이미 되어 있고 oracle10g database를 이미가지고 있다면 이 chapter를 넘어가도 좋다.CF. 추후 언급이 되겠지만 linux platform의 경우 oracle10g가 지원하는 것은 advancedserver 뿐이다. 만일, 독자 중 일부가 현재 필자의 테스트 환경처럼 꼭 linux platform을필요로 하는 사람임에도 불구하고 linux advanced server를 구할 수 없다면 레드햇 코리아 “http://www.kr.redhat.com“을 통해서 평가판을 download하여 사용하시기 바란다. JKSPARK@HANAFOS.COM 3
  4. 4. http://www.ggola.com 장 경 상 1. Oracle Enterprise Edition 10g Product and Certify 다음 과정을 진행하기 전에 참고로 oracle10g enterprise edition이 install 가능한 linux x86 matrix를 한번 살펴보자. 적어도 다음의 linux 버전이 oracle10g를 위해 필요하다. 표 1-1 Linux x86 server certifications SuSE SLES9지원가능 SuSE SLES8 Linux Red Hat Enterprise Linux AS/ES 3 Red Hat Enterprise Linux AS/ES 2.1 Red Flag DC Server 4.0 (China Only) Miracle Linux Standard Edition 2.1 (Japan only) Asianux 1.0 CF. 이런 종류의 설치 작업을 비롯한 다양하고 훌륭한 정보들은 oracle의 홈페이지 기 술문서를 통해서도 얻을 수 있다. 꼭 참고하시기 바란다. “http://www.oracle.com/technology/pub/articles/index.html” CF. Linux x86기반의 oracle10g를 구하는 방법은 여러 형태가 있을 수 있겠지만 oracle 의 공식 홈페이지를 통해서도 download가 가능하다. “http://www.oracle.com/technology/software/products/database/oracle10g/index. html” JKSPARK@HANAFOS.COM 4
  5. 5. http://www.ggola.com 장 경 상2. Linux 설치2.1.1. Linux Install2.1.1.1. Install 시작먼저 Linux CD를 확인 한 후 CD#1을 통해 작업을 시작한다. 여기서 예를 들고 있는Linux Advanced Server 3의 경우 총 4장의 CD로 구성되어 있다. 1번 CD를 넣고booting을 하면 prompt를 통해 어떤 install을 진행 할 것인가를 물어보게 되는데 통상그냥 enter를 치고 바로 쉽게 install을 진행할 수 있다. 언어, 키보드, 마우스 설정,installation type 등을 진행하게 되는데 대부분 default로 해도 무방하다. 그리고 diskpartition을 진행해야 하는데 이 경우 linux를 잘 알면 수동으로 하면 되지만 사실 이런테스트 환경에서 그렇게 할 필요까지는 없을 것 같다. 자동선택을 통해 쉽게 진행할 수있으며 이것으로도 충분히 작업이 가능하다. 즉, 거의 대부분 default로 작업을 진행해도 무방하다는 말이 되겠다.CF. 단, install을 진행하는 동안 부득이하게 firewall 설정이 필요한 경우가 아니라면 그냥 firewall을 설정하지 말고 진행하자.CF. install과정 중에 root 이외의 user를 생성하는 메뉴가 있을 것이다. 여기서는 oracle계정을 만들어 진행하도록 한다. 물론, 시스템 구성 후 나중에 해도 상관은 없다. 여기서는 install과정 중에 oracle 계정을 만들었다고 가정한다.CF. install과정 중에 host명을 입력하게 될 것이다. 여기서 여러분이 원하는 이름을 설정하도록 한다. 이 문서에서는 “Liracle”이라는 이름으로 설정하였고 예제에 나오는prompt의 “Liracle”이라는 것은 바로 이 host명이다.2.1.1.2. Telnet, Ftp여러분이 사용하는 컴퓨터가 개인이 혼자 사용하는 것이라면 별 문제가 되지 않지만oracle10g를 위한 전용 컴퓨터라면 telnet과 ftp설정은 꼭 필요할 것이다. 다음은 이를위한 설정으로 root user로 login하여 본인이 작업한 경우를 그대로 적어본다.CF. 이런 설정은 매우 다양하게 진행될 수 있고 linux를 잘 아는 사람은 다른 방법으로다른 종류의 telnet이나 ftp를 설정할 수도 있을 것이다. 따라서 여기서 기술되는 것은기본적인 사항일 뿐이지 필수요소는 아니다. JKSPARK@HANAFOS.COM 5
  6. 6. http://www.ggola.com 장 경 상 (1) telnet 설정 root로 login한 후 다음 file의 disable항목을 보고 그 값을 수정한다. vi /etc/xinetd.d/krb5-telnet 여기서 disable 항목의 값이 yes이면 이를 no로 수정하고 저장. (2) ftp 설정 이전 linux에서는 /etc/xinetd.d/wu-ftpd를 사용했으나 Advanced Server에서 는 /etc/vsftpd를 사용한다. 즉, xinetd daemon이 아니라 따로 daemon을 사용 하게 되었다. 별다른 설정은 필요치 않다. (3) Service restart root로 login한 후 ntsysv를 통해 krb5-telnet, vsftpd, xinetd가 check되어있는지 확인하고 혹시 gssftp가 check되어 있으면 이를 해제한다. xwindow에서는 “기 본메뉴 시스템설정 서버설정 서비스”를 선택한 후 위 해당항목의 check여부를 확인한다. 확인이 되면 vsftpd를 선택한 후 “재시작”menu를 수행 하고 역시 같은 방법으로 xinetd를 재 시작한다. (깔끔하게 시스템을 reboot하는 것도 좋겠다) 2.1.2. Oracle10g를 위한 H/W resource 2.1.2.1. H/W 요구사항 먼저 안정적인 oracle10g를 운영하기 위한 H/W의 기본 요구사항을 살펴보자.표 1-2 항목 최소 요구량 기준 Physical Memory 256MB / 512 MB DB control 미 사용 / 사용지원가능 Swap 1G 또는 RAM 2배 RAM의 용량에 따라 1G 혹은 RAMH/W 수 의 2배를 설정 준 tmp 400 MB 임시 작업공간 설정 S/W 2.5 GB Oracle Product Database 1.2 GB 기본 Database (option) Flash recovery area 2.4 GB Flash recovery destination (option) 2.1.2.2. H/W 확인 이제 system명령어를 통해 기본 요구사항이 만족하는가를 확인해 보자. 계정 root로 login한 후 다음 사항을 확인한다. [root@LIRACLE root]# grep MemTotal /proc/meminfo MemTotal: 513488 kB [root@LIRACLE root]# grep SwapTotal /proc/meminfo SwapTotal: 1044216 kB [root@LIRACLE root]# df -k /tmp Filesystem 1K-blocks Used Available Use% Mounted on JKSPARK@HANAFOS.COM 6
  7. 7. http://www.ggola.com 장 경 상/dev/hda2 28296744 12788956 14070376 48% /[root@LIRACLE root]# df -hFilesystem Size Used Avail Use% Mounted on/dev/hda2 27G 13G 14G 48% //dev/hda1 99M 9.0M 85M 10% /bootnone 251M 0 251M 0% /dev/shm JKSPARK@HANAFOS.COM 7
  8. 8. http://www.ggola.com 장 경 상OCP point===============================================================1. oracle10g를 위한 H/W 요구사항 JKSPARK@HANAFOS.COM 8
  9. 9. http://www.ggola.com 장 경 상3. Oracle10g Install 을 위한 OS 설정Oracle 계정과 이에 따른 profile, alias등을 설정하고 oracle install을 위한 package,kernel, shell limit등의 환경을 구성한다.3.1.1. 계정 과 그룹 (account & group)3.1.1.1. oracle, dba, oinstall최초 install과정 중에 oracle 계정을 만들었다면 group부터 만들어 진행하면 되고 만일만들지 않았다면 “# useradd oracle”명령을 통해 oracle user를 만든다.이제 group을 만들 것이다. 만일, 여러분이 oracle이외의 user로도(계정으로도) oracledatabase를 관리한다면 다시 말해, 여러 user가 여러 oracle instance를 관리하려는 목적이 있다면 dba group외에도 oinstall group을 만들어 사용한다. 여기서는 그럴 필요가없기 때문에 dba group만을 사용할 것이다.CF. 만일 oinstall group도 필요하다면 아래 dba group을 만드는 과정과 동일하게oinstall group을 만들고 다음의 명령을 통해 oinstall을 primary group으로 dba group을 secondary group으로 만들도록 한다.EX. # usermod –g oinstall –G dba oracle3.1.1.2. group 및 oracle base directory의 설정기본 group과 이에 대한 oracle 계정 설정 root user로 login하여 진행한다.[root@LIRACLE root]# cd /[root@LIRACLE /]# mkdir -p /app/oracle[root@LIRACLE /]# cd /app[root@LIRACLE root]# groupadd dba[root@LIRACLE root]# usermod -g dba -d /app/oracle oracle[root@LIRACLE app]# chown -R oracle.dba oracle3.1.1.3. profile 설정이제 oracle 계정으로 login하여 profile 설정을 진행한다. 다음의 예처럼 editor vi를 통해 profile을 열어서 직접 코딩 한다. 아래의 예에서는 oracle instance 이름으로“NEWSVC”라 명명하였다. 이는 각자 원하는 oracle instance 이름을 설정한다.아래의 예에서 사용되는 directory 구조가 없는 경우에는 명령어 “mkdir”을 통해 만들도록 한다. (차후에 해도 상관은 없음으로 oracle을 install하기 전 까지만 작업을 진행하 JKSPARK@HANAFOS.COM 9
  10. 10. http://www.ggola.com 장 경 상면 될 것이다)[root@LIRACLE root]# su – oracle$ mkdir –p /app/oracle/tmp$ mkdir -p /app/oracle/product/10.1.0$ vi .bash_profile# oracle os homeORACLE_BASE=/app/oracle; export ORACLE_BASE# oracle product homeORACLE_HOME=/app/oracle/product/10.1.0; export ORACLE_HOME# specify terminal and temp spaceORACLE_TERM=vt100; export ORACLE_TERMTMPDIR=$ORACLE_BASE/tmp; export TMPDIRTEMP=$ORACLE_BASE/tmp; export TEMP# default character setNLS_LANG=American_America.KO16KSC5601; export NLS_LANG# general pathPATH=$PATH:.:$ORACLE_HOME/bin# oracle을 install하는 pc의 ip설정 (서버에서 직접 설치할 경우엔 필요 없음)export DISPLAY=21.111.21.189:0.0# instance configurationORACLE_SID=NEWSVC; export ORACLE_SID# promptPS1=[${ORACLE_SID}]`hostname`:$PWD> umask 022set -o vi~~~:wq$ su – oraclePassword:[NEWSVC]LIRACLE:/app/oracle>CF. 위의 예는 Red Hat Linux의 bash shell설정이다. United Linux의 Bourne shell, Bashshell이나 Korn shell의 경우 ‘.profile’을 사용하고 C shell의 경우 ‘.login’을 사용한다. JKSPARK@HANAFOS.COM 10
  11. 11. http://www.ggola.com 장 경 상3.1.2. Package다음은 oracle10g를 위해 요구되는 시스템 package들이 제대로 설정이 되었는가를 확인하고 이를 마무리할 것이다.3.1.2.1. 필요 Package기본적인 package들은 최초 linux install과정에서 이루어 졌을 것이다. 그러나 우리가원하는 것들이 모두 설치 되었는지는 알 수가 없다. 이제 이를 확인해 보자. 다음은RedHat Linux Advanced Server 3에서 필요한 부분들이다.다음의 package 값들은 모두 최소값임으로 적어도 이들 값과 같거나 큰 버전이 설치되어 있어야 한다.(1) Gnu gcc : gcc-3.2.3-2(2) general package : make-3.79 binutils-2.11 openmotif-2.2.2-16 setarch-1.3-1(3) compat package : compat-db-4.0.14.5 compat-gcc-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122확인을 하면 알겠지만 위 package들 중에서 (1), (3)은 install과정 중에서 선택한package group에 의존적 이기 때문에 없는 경우가 많다. 물론, 다시 설치가 가능하니 걱정할 건 없다. 본인의 경우 대부분 installation과정 중에서 default로 package group도꼭 필요하다 싶은 것이 아니면 설치를 하지 않았기 때문에 위 (1), (3) package는 설치되지 않았었다.다음은 root로 login하여 이를 확인하고 필요한 package를 재 설치 하는 과정이다.[root@LIRACLE root]# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-develpackage gcc is not installedmake-3.79.1-17binutils-2.14.90.0.4-35openmotif-2.2.2-16setarch-1.3-1package compat-db is not installedpackage compat-gcc is not installedpackage compat-gcc-c++ is not installed JKSPARK@HANAFOS.COM 11
  12. 12. http://www.ggola.com 장 경 상package compat-libstdc++ is not installedpackage compat-libstdc++-devel is not installed위의 경우는 앞서 이야기 한 (1), (3)이 linux install시 선택하지 않은 package group으로 인핸 설치되지 않은 경우이다. 이 경우는 아래와 같이 재 설치를 진행할 수 있다.xwindows상에서 “기본메뉴 시스템설정 응용 프로그램 추가/삭제”를 선택한다.그리고 해당 화면에서 “개발용 도구”와 “레거시 소프트웨어 개발”을 check한다. 위 (1)의 gcc는 “개발용 도구”에 (3)은 “레거시 소프트웨어 개발”에 해당한다. 그리고 나서update를 진행하면 “Disk #2, #3”를 통해 해당 package를 설치할 수 있게 된다.그러나 주의할 것은 이렇게 하더라도 위 package중 compat-db는 설치되지 않는다는것이다. 이는 package group으로 묶여 있지 않고 단독으로 설치를 해야 한다. 이 경우엔아래의 예처럼 따로 설치를 진행한다.EX. (1) 먼저 설치 disk3을 mount시킨다. # mount /mnt/cdrom (2) package가 있는 directory를 대상으로 해당 package를 install한다. # rpm –ivh /mnt/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm이렇게 설치가 완료되면 다음과 같이 다시 package를 확인할 수 있다.[root@LIRACLE root]# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-develgcc-3.2.3-34make-3.79.1-17binutils-2.14.90.0.4-35openmotif-2.2.2-16setarch-1.3-1compat-db-4.0.14-5compat-gcc-7.3-2.96.128compat-gcc-c++-7.3-2.96.128compat-libstdc++-7.3-2.96.128compat-libstdc++-devel-7.3-2.96.128이제 package 설치가 완료되었음이 확인 되었다.CF. 만일 현재 여러분이 사용하고 있는 linux 시스템이 “RedHat Linux AdvancedServer 2”라면 다음 사항을 확인한다. 다음의 예시되는 값보다 같거나 큰 값으로 설치되어 있어야 한다. 하위 버전이라면 최신 버전을 download하여 설치한다.(1) kernel : # uname –r JKSPARK@HANAFOS.COM 12
  13. 13. http://www.ggola.com 장 경 상 2.4.9-e.25 (2) glibc package : # rpm –q glibc glibc-2.2.4-31 (3) 그외 package : # rpm -q gcc make binutils openmotif gcc-2.96.108.1 make-3.79 binutils-2.11 openmotif-2.1.30 3.1.3. Kernel 이제 oracle10g를 install하기 위하여 linux의 kernel을 설정해 보자. 다음에 제시되는 값 들은 모두 최소 값으로서 현재의 설정 값들이 이 값과 같거나 큰 부분들이 있다면 이는 수정을 하지 않아도 된다. 3.1.3.1. linux kernel parameter의 recommend 값과 확인표 1-3 위치 recommend 값 /proc/sys/kernel/sem 250 32000 100 128Linux /proc/sys/kernel/shmall 2097152Kernel /proc/sys/kernel/shmmax Physical Memory * 0.5 (실 메모리의 반)Value ~ 2147483648 (2G) /proc/sys/kernel/shmmni 4096 /proc/sys/fs/file-max 65536 /proc/sys/net/ipv4/ip_local_port_range 1024 65000 다음은 현재 구동인 시스템에서 직접 확인하는 방법과 결과 dump이다. 작업의 편이성 을 위해 root user로 oracle과 관련한 작업을 특정 directory를 만들어 진행하였다. [root@LIRACLE root]# mkdir -p /tmp/chk/oracle [root@LIRACLE root]# cd /tmp/chk/oracle [root@LIRACLE oracle]# cat /proc/sys/kernel/sem 250 32000 32 128 [root@LIRACLE oracle]# cat /proc/sys/kernel/shmall 2097152 [root@LIRACLE oracle]# cat /proc/sys/kernel/shmmax 33554432 [root@LIRACLE oracle]# cat /proc/sys/kernel/shmmni JKSPARK@HANAFOS.COM 13
  14. 14. http://www.ggola.com 장 경 상4096[root@LIRACLE oracle]# cat /proc/sys/fs/file-max52422[root@LIRACLE oracle]# cat /proc/sys/net/ipv4/ip_local_port_range32768 61000위의 결과를 보면 kernel.sem, kernel.shmmax, fs.file-max, net.ipv4.ip_local_port_range의 값이 최소값보다 작은 것으로 나타나고 있다. 위 4개의 parameters를 변경할 것인데kernel.shmmax의 경우 현재 512MB 메모리를 기준으로 하지 않고 향후 확장을 고려하여 2G(2147483648)로 설정할 것이며 net.ipv4.ip_local_port_range의 경우 첫번째 value는 그대로 두고 두 번째 value를 변경하도록 설정할 것이다.3.1.3.2. linux kernel 값의 변경과 확인먼저 editor를 통해 “/etc/sysctl.conf”를 열어서 수정하고자 하는 값들을 설정하고“/sbin/sysctl –p” command를 통해 이를 확인하는 절차이다. 반영 후 변경된 값을 위의 순서에 따라 다시 한번 확인해 보자. 여기서는 vi를 통해 설정하였다.[root@LIRACLE oracle]# vi /etc/sysctl.conf…..kernel.sem = 250 32000 100 128kernel.shmmax = 2147483648fs.file-max = 65536net.ipv4.ip_local_port_range = 32768 65000~~~~~:wq[root@LIRACLE oracle]# /sbin/sysctl -pkernel.sem = 250 32000 100 128kernel.shmmax = 2147483648fs.file-max = 65536net.ipv4.ip_local_port_range = 32768 65000[root@LIRACLE oracle]# cat /proc/sys/kernel/sem250 32000 100 128[root@LIRACLE oracle]# cat /proc/sys/kernel/shmall2097152[root@LIRACLE oracle]# cat /proc/sys/kernel/shmmax JKSPARK@HANAFOS.COM 14
  15. 15. http://www.ggola.com 장 경 상2147483648[root@LIRACLE oracle]# cat /proc/sys/kernel/shmmni4096[root@LIRACLE oracle]# cat /proc/sys/fs/file-max65536[root@LIRACLE oracle]# cat /proc/sys/net/ipv4/ip_local_port_range32768 65000Kernel 설정이 완료 되었음을 확인하였다.3.1.4. Shell Limit다음은 보다 낳은 성능향상을 위해 shell의 limit을 재설정 하는 과정이다. 제시되는 수치들이 이미 설정이 되어있다면 무시하되 그렇지 않다면 이를 참고로 수정하도록 한다.3.1.4.1. limits.conf fileopen file descriptors의 최대 값인 nofile(max number of open files)을 “65536”으로single user에 대한 최대 활용가능 한 process의 수인 nproc(max number of processes)를 “16384”로 수정한다. 다음은 editor vi를 통해 “/etc/security/limits.conf”를 확인하고 수정한 과정이다.[root@LIRACLE root]# vi /etc/security/limits.conf….….oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 0124oracle hard nofile 65536# End of file~~~:wq[root@LIRACLE root]#3.1.4.2. login file다음은 editor vi를 통해 /etc/pam.d/login를 확인하고 수정한 과정이다.[root@LIRACLE root]# vi /etc/pam.d/login….….# for oraclesession required /lib/security/pam_limits.so JKSPARK@HANAFOS.COM 15
  16. 16. http://www.ggola.com 장 경 상~~~:wq[root@LIRACLE root]#3.1.4.3. profile file다음은 editor vi를 통해 /etc/profile을 확인하고 수정한 과정이다. 이는 사용중인oracle user의 default shell이 무엇인가에 따라 다르다. 현재 이 테스트 과정에서는oracle user의 계정으로 기본 shell인 bash shell을 사용 중 이다. 기본적으로“/etc/profile or /etc/csh.login”을 수정하며 linux의 종류에 따라 “/etc/profile.local or/etc/csh.login.local”을 수정할 수도 있다. Bourne, Bash, Korn shell을 사용하는 경우[root@LIRACLE root]# vi /etc/profile….….if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi~~~:wq C or tcsh shell을 사용하는 경우[root@LIRACLE root]# vi/etc/csh.login….….if [ $USER == "oracle" ]; then limit maxproc 16384 limit descriptors 65536fi~~~:wqCF. 설정이 완료되면 system을 restart하여 상쾌한 기분으로 다음 step을 진행해 보자. JKSPARK@HANAFOS.COM 16
  17. 17. http://www.ggola.com 장 경 상[root@LIRACLE root]# shutdown -fr nowBroadcast message from root (pts/0) (Mon Nov 1 16:07:55 2004):The system is going down for reboot NOW! JKSPARK@HANAFOS.COM 17
  18. 18. http://www.ggola.com 장 경 상4. Oracle10g Installation4.1.1. 시스템 환경oracle10g database는 기본 CD가 1장이다. Oracle9i와 비교하면 그야말로 큰 변화이다.그 변화가 기능적인 면에는 어떤 영향을 나타낼지는 별개로 하더라도 말이다. 먼저 해당 CD를 mount한 후 작업을 진행 해보자.CF. oracle10g부터는 모든 것을 담고 있는 DVD가 1장 있어 이를 사용해도 된다. 나중에설명되지만 CD install시 기본 CD1장외에 추가적인 product을 설치할 수 있는companion CD가 1장 더 있다.4.1.2. Mount아래의 예를 따라 진행 해보자. 먼저 root로 login하여 cdrom을 mount한다.[root@LIRACLE root]# more /etc/fstabLABEL=/ / ext3 defaults 11LABEL=/boot /boot ext3 defaults 12none /dev/pts devpts gid=5,mode=620 0 0none /proc proc defaults 00none /dev/shm tmpfs defaults 00/dev/hda3 swap swap defaults 00/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0[root@LIRACLE root]# mount /mnt/cdrom[root@LIRACLE root]# df -kFilesystem 1K-blocks Used Available Use% Mounted on/dev/hda2 28296744 13212528 13646804 50% //dev/hda1 101089 9181 86689 10% /bootnone 386012 0 386012 0% /dev/shm/dev/cdrom 627024 627024 0 100% /mnt/cdrom4.1.3. run Installer다음은 다른 창에서 xmanager를 구동하여 install하는 절차를 보여준다.[NEWSVC]LIRACLE:/app/oracle> /mnt/cdrom/runInstallerStarting Oracle Universal Installer... JKSPARK@HANAFOS.COM 18
  19. 19. http://www.ggola.com 장 경 상 Checking installer requirements... ….. 최초 install 시작 화면이 다음과 같이 나타난다.그림 1-1OracleInstall “Next”를 통해 다음화면으로 이동하여 다음과 같이 기본정보를 입력하거나 확인한다. JKSPARK@HANAFOS.COM 19
  20. 20. http://www.ggola.com 장 경 상그림 1-2OracleInstall “Next”를 누른 후 다음 화면에서 지시사항을 읽고 그에 따라 root user로 login하여 지 시사항을 수행한 후 “Continue”를 선택한다. 먼저 아래 그림 말고 다음 창의 작업내역 을 확인하라. JKSPARK@HANAFOS.COM 20
  21. 21. http://www.ggola.com 장 경 상그림 1-3OracleInstall 아래는 다른 창에서 작업할 내용이다. [NEWSVC]LIRACLE:/app/oracle> su - root Password: [root@LIRACLE root]# cd /app/oracle [root@LIRACLE oracle]# cd oraInventory [root@LIRACLE oraInventory]# ls -l orainstRoot.sh -rwx------ 1 oracle dba 680 6월 13 13:02 orainstRoot.sh [root@LIRACLE oraInventory]# ./orainstRoot.sh Creating the Oracle inventory pointer file (/etc/oraInst.loc) Changing groupname of /app/oracle/oraInventory to dba. 이제 “Continue”를 누르고 다음 창에서 install source와 ORACLE_HOME destination 을 확인하거나 직접 입력한 후 “Next”를 선택한다. JKSPARK@HANAFOS.COM 21
  22. 22. http://www.ggola.com 장 경 상그림 1-4OracleInstall 다음과 같은 화면에서 Install Type을 선택한 후 “Next”를 진행한다. JKSPARK@HANAFOS.COM 22
  23. 23. http://www.ggola.com 장 경 상그림 1-5OracleInstall 이제 다음과 같이 system환경 설정을 check하는 창에서 현재의 설정들이 모두 제대로 되었는지 확인할 수 있다. 다음 창에서 “Status”를 확인하고 “Next”를 진행한다. JKSPARK@HANAFOS.COM 23
  24. 24. http://www.ggola.com 장 경 상그림 1-6OracleInstall 만일, 현재의 서버에서 이전 버전의 오라클 database가 존재하면 이를 upgrade하는 화 면이 나올 수 있다. 현재는 순수하게 install만을 진행한다고 가정하며 이 경우 다음과 같은 화면에서 install 작업이 진행된다. 물론, 여기서 보여주는 다음의 화면에서는 database creation까지 나타나게 되는데 이것은 설명을 위해 일부러 구현한 것이다. CF. 사실 필자는 이 작업을 자동으로 하지 않고 script로 받아서 나중에 다시 진행하였 다. 그 이유는 여러분이 GUI환경에 당연히 익숙해져야 하는 것과는 별도로 필자는 항 상 그 세부적인 script도 따로 볼 필요가 있다고 생각해왔기 때문이다. 여러분도 script 를 확인하는 습관을 가지도록 권장하고 싶다. “Next”를 누르면 다음과 같은 화면이 나온다. 현재는 일반적인 목적의 database 생성 option을 선택한 상태이다. JKSPARK@HANAFOS.COM 24
  25. 25. http://www.ggola.com 장 경 상그림 1-7OracleInstall 차후에 database를 따로 생성할 것이기 때문에 여기서는 “Do not create a starter database”를 선택하면 되지만 굳이 여기서 만들겠다면 위에서 적절한 type의 database 를 선택한 후 다음 과정을 진행하면 된다. “Next”를 누른다. CF. Database를 만들겠다면 다음 화면에서 database 기본정보를 선택 또는 입력한 후 하단의 sample schema 생성 여부를 여러분의 취향에 맞도록 설정하라. 아래는 생성을 선택한 화면이다. CF. 언제든 GUI 환경에서 database를 생성할 수 있으며 “$ORACLE_HOME/bin/dbca”를 수행하면 원하는 작업을 나중에 따로 할 수 있다. dbca를 구동하면 보다 자세하고 세부적인 선택도 가능하다. JKSPARK@HANAFOS.COM 25
  26. 26. http://www.ggola.com 장 경 상그림 1-8OracleInstall 다음은 현재 생성하는 Database에 대하여 Oracle Enterprise Manager 10g를 통해 grid or locally control을 하려는 경우 선택하는 화면이다. 우리는 순수하게 database 기능을 확인하려는 작업임으로 다음과 같이 확인한 후 “Next”를 진행한다. JKSPARK@HANAFOS.COM 26
  27. 27. http://www.ggola.com 장 경 상그림 1-9OracleInstall 다음은 storage option을 선택하는 창이다. 그림처럼 file system외에 10g의 특징인 “Automatic Storage Management” or “Raw Devices” mapping을 선택하는 화면이 있 다. 현재 PC에서의 작업환경은 file system이 적절함으로 이를 선택한다. “ASM”은 chapter 9에서 따로 다룰 것이다. JKSPARK@HANAFOS.COM 27
  28. 28. http://www.ggola.com 장 경 상그림 1-10OracleInstall 다음은 backup and recovery options을 선택하는 화면이다. 이 부분은 나중에 확인할 것임으로 선택하지 않고 “Next”를 누른다. JKSPARK@HANAFOS.COM 28
  29. 29. http://www.ggola.com 장 경 상그림 1-11OracleInstall 다음은 기본 schema의 password를 설정하는 화면이다. password설정 후 “Next”를 진 행한다. JKSPARK@HANAFOS.COM 29
  30. 30. http://www.ggola.com 장 경 상그림 1-12OracleInstall 이제 “Next”를 누르고 다음화면에서 install을 진행한다. JKSPARK@HANAFOS.COM 30
  31. 31. http://www.ggola.com 장 경 상그림 1-13OracleInstall “Install”을 선택하면 다음과 같이 install화면에서 작업이 계속 진행되고 있는 것을 볼 수 있다. JKSPARK@HANAFOS.COM 31
  32. 32. http://www.ggola.com 장 경 상그림 1-14OracleInstall Install중 sample database 생성이 완료되면 다음과 같은 창을 통하여 password에 대한 정보를 보여준다. 여기서 “Password Management…”버튼을 통해 locked user의 password를 unlock할 수 있다. 작업이 완료되면 “OK”를 선택하여 다음 작업을 진행한 다. JKSPARK@HANAFOS.COM 32
  33. 33. http://www.ggola.com 장 경 상그림 1-15OracleInstall 이제 다음 화면에서 지시에 따라 root user로 login하여 후속 작업을 진행한 후 “OK”를 선택한다. 다음 그림아래의 작업창을 먼저 확인하라.그림 1-16OracleInstall JKSPARK@HANAFOS.COM 33
  34. 34. http://www.ggola.com 장 경 상다음과 같이 다른 창에서 위 지시사항을 먼저 수행한다. 작업 중 ‘local bin directory’를물어보기 위해 prompt가 입력을 기다리는 경우가 있는데 대부분은 그냥 enter를 치면되지만 혹시 default ‘local bin directory’가 다르다면 직접 입력을 해준다.[NEWSVC]LIRACLE:/app/oracle> su - rootPassword:[root@LIRACLE root]# cd /app/oracle/product/10.1.0[root@LIRACLE 10.1.0]# ls -l root.sh-rwxr-xr-x 1 oracle dba 18448 6월 13 14:10 root.sh[root@LIRACLE 10.1.0]# ./root.shRunning Oracle10 root.sh script...nThe following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /app/oracle/product/10.1.0Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ...Adding entry to /etc/oratab file...Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root.sh script.Now product-specific root actions will be performed./etc/oracle does not exist. Creating it now.Successfully accumulated necessary OCR keys.Creating OCR keys for user root, privgrp root..Operation successful.Oracle Cluster Registry for cluster has been initializedAdding to inittabChecking the status of Oracle init process...Expecting the CRS daemons to be up within 600 seconds.CSS is active on these nodes. liracle JKSPARK@HANAFOS.COM 34
  35. 35. http://www.ggola.com 장 경 상 CSS is active on all nodes. Oracle CSS service is installed and running under init(1M) [root@LIRACLE 10.1.0]# 이제 “OK”를 눌러서 다음과 같은 종료 화면을 볼 수 있다. 여기서는 현재 install이 되 어 있는 product중 URL정보들도 함께 보여준다.그림 1-17OracleInstall 예를 들어 위 정보 중 iSQL*Plus를 다음 창과 같이 수행할 수도 있으며 위 그림의 맨 아 래의 URL을 통해 Enterprise Manager화면을 띄울 수도 있다. JKSPARK@HANAFOS.COM 35
  36. 36. http://www.ggola.com 장 경 상그림 1-18iSQL*Plus 실행창 어찌되었든 작업이 종료 되었고 “Exit”을 통해 install작업을 완료할 수 있다. CF. 위 그림을 보면 버튼의 한글이 보이지 않는다. 이는 다음 장의 “Management After Installation”을 확인하라. CF. 작업이 완료된 후 여러분이 이 버전의 최신 patchset을 download했다면 동일한 방 식으로 patchset을 적용하도록 하자. 여기서는 보여주지 않았지만 차후 “dbua”를 설명 하는 과정에서 “10.1.0.4” patchset을 적용한 내용을 설명할 것이다. CF. 보다 완전한 product를 install하기 위해 “Companion CD”를 통해 위와 똑 같은 방 법으로 추가적으로 oracle product install을 완료할 수 있다. 이 CD는 “Database Examples”, “compiled Java libraries for Oracle JVM”, Oracle interMedia”, Oracle Text”, “Legato Single Server Version(LSSV)”등을 제공하는데 이 부분들은 현재의 설명 범위가 아님으로 원한다면 이 CD를 통해 install작업 추가적으로 완료하기 바란다. 다 음은 cdrom을 제거하는 부분이다. [NEWSVC]LIRACLE:/app/oracle> su - root JKSPARK@HANAFOS.COM 36
  37. 37. http://www.ggola.com 장 경 상Password:[root@LIRACLE root]# eject /mnt/cdrom[root@LIRACLE root]# df -kFilesystem 1K-blocks Used Available Use% Mounted on/dev/hda2 28296744 15338180 11521152 58% //dev/hda1 101089 9181 86689 10% /bootnone 386012 0 386012 0% /dev/shm JKSPARK@HANAFOS.COM 37
  38. 38. http://www.ggola.com 장 경 상5. Management After Installation5.1.1. URL위에서 보았듯 install후 나타난 4개의 URL(정확히는 3개. ultrasearch, isqlplus, em)은각자 explorer를 통해 접속을 해보면 된다. 그러나 ultrasearch관련 URL은 제대로 실행되지 않을 것이다. 이는 optional한 기능으로 과거의 oracle intermedia text의 확장이라고 한다. 여기서 다룰 범위가 아니다 보다 자세한 정보를 원하는 사람은 다음 URL을 참조하시기 바란다. http://download-west.oracle.com/docs/cd/B14117_01/ultra.101/b10731.pdf5.1.2. Other Oracle Process5.1.2.1. Process OCSSDinstall 완료 후 oracle processes를 확인해보면 ocssd.bin라 명명된 processes가 running중 인 것을 볼 수 있다. (‘ps –ef | grep ora’ 명령으로 확인해 보라) 이는 RAC관련process임으로 여기서는 필요가 없다. 그러나 RAC를 설치하지 않는 경우(현재와 같이)ocssd의 역할은 oracle10g의 새로운 기능인 ASM(Automatic Storage Management)과의통신을 위해서도 필요한 것이다. 차후 ASM을 사용하지 않을 때에는 다음과 같이 확인하여 없애도 되지만 이 processes는 resource점유율이 무시해도 좋은 수준이니 그냥 두어도 큰 문제가 되지는 않을 것이다.[NEWSVC]LIRACLE:/app/oracle> su - rootPassword:[root@LIRACLE root]# cat /etc/inittab | grep cssdh1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null[root@LIRACLE root]# exit[NEWSVC]LIRACLE:/app/oracle>5.1.2.2. Manual Process 조정그렇다면 이 process를 system의 reboot과 상관없이 stop & start를 할 수는 없을까. 물론, 가능하지만 그렇게 하기 위해선 여러분은 oracle10g install 후 10.1.0.4 patchset을 적용해야 한다. 만일 patchset을 적용했다면 다음과 같이 할 수 있다.[NEWSVC]LIRACLE:/app/oracle> su - rootPassword:[root@LIRACLE root]# /etc/init.d/init.cssd stop JKSPARK@HANAFOS.COM 38
  39. 39. http://www.ggola.com 장 경 상Shutting down CRS daemon.Shutting down EVM daemon.Shutting down CSS daemon.Shutdown request successfully issued.Shutdown has begun. The daemons should exit soon.[root@LIRACLE root]# /etc/init.d/init.cssd startStartup will be queued to init within 30 seconds.[root@LIRACLE root]# ps -ef | grep oraoracle 18828 18827 0 10:08 pts/0 00:00:00 -bashroot 19906 1 0 10:48 ? 00:00:00 /bin/su -l oracle -c exec /app/oracle/product/10.1.0/bin/ocssdoracle 19939 19938 0 10:48 pts/1 00:00:00 -bashoracle 20023 19906 0 10:50 ? 00:00:00 /app/oracle/product/10.1.0/bin/ocssd.binroot 20067 19844 0 10:50 pts/0 00:00:00 grep ora[root@LIRACLE root]# exit[NEWSVC]LIRACLE:/app/oracle>5.1.2.3. ASM Instance와 OCSSD아래의 내역은 ASM과 OCSSD와의 관계를 보여준다. 여러분은 아직 chapter 9를 읽지못했기 때문에 아래 내용을 이해할 수는 없지만 이 process와 ASM과의 관계를 확인해볼 수는 있다. ASM은 향후 chapter 9에서 배우도록 하고 아래 내용을 보면서 이process가 미치는 영향만을 확인하도록 하자.예를 들어 ASM을 설정하였으나 위 process를 down시켜 놓았다면 ASMinstance(chapter 9에서 설명함)를 start할 때 다음과 같은 현상이 나타날 것이다.[+ASM]LIRACLE:/app/oracle/admin/+ASM/pfile> sqlplus / as sysdbaSQL*Plus: Release 10.1.0.4.0 - Production on Fri Oct 21 13:43:07 2005Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to an idle instance.SYS> startup JKSPARK@HANAFOS.COM 39
  40. 40. http://www.ggola.com 장 경 상ORA-29701: unable to connect to Cluster ManagerSYS> select instance_name from v$instance_name;select instance_name from v$instance_name*ERROR at line 1:ORA-01034: ORACLE not availableSYS> exitDisconnected[+ASM]LIRACLE:/app/oracle/admin/+ASM/pfile>그러나 이 process를 start하면 다음과 같이 정상적으로 ASM instance를 start할 수 있다.[+ASM]LIRACLE:/app/oracle/admin/+ASM/pfile> su - rootPassword:[root@LIRACLE root]# /etc/init.d/init.cssd startStartup will be queued to init within 30 seconds.[root@LIRACLE root]# ps -ef | grep oraoracle 19219 19218 0 13:28 pts/0 00:00:00 -bashroot 19917 1 0 13:34 ? 00:00:00 /bin/su -l oracle -c exec /app/oracle/product/10.1.0/bin/ocssdoracle 20240 20239 0 13:42 pts/1 00:00:00 -bashoracle 20532 19917 0 13:48 ? 00:00:00 /app/oracle/product/10.1.0/bin/ocssd.binroot 20576 20425 0 13:48 pts/1 00:00:00 grep ora[root@LIRACLE root]# exit[+ASM]LIRACLE:/app/oracle/admin/+ASM/pfile> sqlplus / as sysdbaSQL*Plus: Release 10.1.0.4.0 - Production on Fri Oct 21 13:53:57 2005Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to an idle instance. JKSPARK@HANAFOS.COM 40
  41. 41. http://www.ggola.com 장 경 상SYS> startupASM instance startedTotal System Global Area 75497472 bytesFixed Size 777852 bytesVariable Size 74719620 bytesDatabase Buffers 0 bytesRedo Buffers 0 bytesASM diskgroups mountedSYS> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 -ProductionWith the Partitioning, OLAP and Data Mining options5.1.3. em & iSQL*PlusInstall 완료 후에 나오는 URL중 em(Enterprise Manager)과 isqlplus의 관리는 다음과같이 start and stop을 통해 할 수 있다.5.1.3.1. em 사용하기Oracle Enterprise Manager를 사용하기 위한 process관리는 다음과 같다.[NEWSVC]LIRACLE:/app/oracle> emctl start dbconsoleTZ set to ROKOracle Enterprise Manager 10g Database Control Release 10.1.0.2.0Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.http://LIRACLE:5500/em/console/aboutApplicationStarting Oracle Enterprise Manager 10g Database Control ..................... started.------------------------------------------------------------------Logs are generated in directory/app/oracle/product/10.1.0/LIRACLE_NEWSVC/sysman/log URL 접속 : ip_address(or hostname):5500/em/[NEWSVC]LIRACLE:/app/oracle> emctl stop dbconsole JKSPARK@HANAFOS.COM 41
  42. 42. http://www.ggola.com 장 경 상TZ set to ROKOracle Enterprise Manager 10g Database Control Release 10.1.0.2.0Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.http://LIRACLE:5500/em/console/aboutApplicationStopping Oracle Enterprise Manager 10g Database Control ...... Stopped.CF. em의 port확인 및 repository의 생성과 관련된 내용들은 다음에 설명하는 “Chapter2”에서 “em 설정 및 확인” 부분을 참조하기 바란다.5.1.3.2. iSQL*PlusOracle client없이 database와 연결하여 SQL을 사용할 수 있는 isqlplus는 다음과 같이process관리를 할 수 있다.[NEWSVC]LIRACLE:/app/oracle> isqlplusctl startiSQL*Plus 10.1.0.2.0Copyright (c) 2004 Oracle. All rights reserved.Starting iSQL*Plus ...iSQL*Plus started. URL 접속 : ip_address(or hostname):5560/isqlplus/[NEWSVC]LIRACLE:/app/oracle> isqlplusctl stopiSQL*Plus 10.1.0.2.0Copyright (c) 2004 Oracle. All rights reserved.Stopping iSQL*Plus ...iSQL*Plus stopped.5.1.3.3. Explorer에서 Language(언어 ) 문제만일, em이나 isqlplus를 사용하는데 버튼이나 tab에 있는 한글들이 모두 깨져 알아볼수가 없다면 이는 Oracle BUG ‘3244117’임으로 다음과 같이 해결을 해야 한다.(1) 먼저, 오라클 메타링크 에서 patch number ‘3244117’를 찾아 해당 file을 download한다.(2) download된 file을 extraction한 후 한글 font file인 ‘ALBANWTK.TTF’를 찾는다. JKSPARK@HANAFOS.COM 42
  43. 43. http://www.ggola.com 장 경 상 (3) ftp로 해당 file을 oracle server에 ‘binary’ mode로 전송한다. (4) 전송된 file을 다음의 위치 ‘$ORACLE_HOME/jdk/jre/lib/fonts’에 copy를 한다. (5) isqlplus와 em을 다시 start한다. Oracle 문서들도 그렇지만 em의 화면도 한글이 아닌 영어를 원하는 사람이 있을 것이 다. 무리한 한글 해석이 착각을 일으킬 수도 있기 때문이다. 만일 여러분이 em의 화면 을 영어로 보고 싶다면 explorer의 메뉴에서 “도구 인터넷 옵션 언어 버튼 click  영어를 선택한 후 맨 위로 이동(영어가 없다면 추가를 선택하여 영어를 추가한 후 맨 위로 이동)”을 하면 된다. 5.1.4. Policy Framework Oracle은 우리가 흔하게 이야기하는 database를 생성할 때 controlfile을 2 copies이상 가질 것과 이들을 분리된 disk에 저장할 것 등과 같은 기본 정책을 권고하고 있다. 이를 policy-based database configuration framework이라고 부른다. 이번 oracle10g는 이러 한 기본 정책들이 제대로 유지되고 있는지를 감시하고 확인할 수 있는 기능을 제공하 고 있다. 이런 정보는 크게 database, host, listener의 세 가지 유형을 말한다. 다음은 em database control의 초기 화면이다. 우측 하단의 “All Policy Violations”항목 을 확인하자.그림 1-19em 초기화면 JKSPARK@HANAFOS.COM 43
  44. 44. http://www.ggola.com 장 경 상 이 항목에 나타난 값(위에서는 170)을 click하면 다음과 같은 화면에서 violation항목을 확인할 수 있다.그림 1-20정책오류진단화면 JKSPARK@HANAFOS.COM 44
  45. 45. http://www.ggola.com 장 경 상OCP point===============================================================1. policy framework을 통해 제공하는 기본 정보의 유형 세 가지 JKSPARK@HANAFOS.COM 45

×