ORACLE
HOME > DB > ORACLE
2018.05.26 / 01:35

ubuntu 에 oracle 11g Release2 설치 -2 출처: http://shinyul.tistory.com/9?category=541650 [시작...]

인사이드자바
추천 수 12

우분투 오라클11g R2 설치 -2.zip



해당 게시글은 http://ioriy2k.pe.kr/archives/815 에서 퍼왔습니다.

참고 했던 게시물중 가장 정확한 게시물 이였습니다. 문제시 삭제 하도록 하겠습니다.




1. Download Oracle 11g Release 2

Oracle Homepage에서 회원가입

Oracle Homepage에서 회원가입

Oracle 11g Release 2를 얻기 위해서는 Oracle Technology Network에 회원가입을 해야 합니다. 먼저 회원 가입을 위해서 Oracle Homepage로 들어갑니다. 그리고 상단에 있는 Sign in/Register for account를 Click합니다.

Oracle 회원가입 Form에서 OTN을 Check

Oracle 회원가입 Form에서 OTN을 Check

이후 Login Page에서 오라클 계정 만들기를 클릭하면 Oracle계정을 만들 수 있습니다. 이 후 진행되는 입력 양식 Form에서 위의 그림과 같이 OTN 가입을 Check하세요.

Oracle 11g Download

Oracle 11g Download

회원가입 후 로그인 다음, 상단의 Downloads의 Database 11g를 Click하면 위와 같은 Page가 표시됩니다. 위쪽의 License 동의를 위해 Accept를 Click하면 아래의 OS Architecture에 따른 설치파일을 Download할 수 있습니다.

2. 설치파일 압축해제

이제 Download한 설치파일을 Oracle 계정에 복사하고 압축을 해제합니다.

1
2
3
4
5
$ sudo mv linux.*_11gR2*.zip /home/oracle
$ sudo chown oracle:oinstall /home/oracle/linux.*_11gR2*.zip
$ su - oracle
$ unzip linux.*_11gR2_database_1of2.zip
$ unzip linux.*_11gR2_database_2of2.zip

3. Oracle Universal Installer(OUI) 실행

이제 설치파일도 다 받았으니 Oracle Universial Installer를 통해서 설치해 봅시다. 설치파일을 실행할 때 X Window Session의 소유자가 oracle 계정인지 Check하기 때문에 이미 다른 계정으로 X Window에 Login이 되어 있는 상태라면 다음과 같이 입력하여 OUI를 실행합니다.

1
2
3
4
$ xhost +
$ su - oracle
$ cd ~/database
$ ./runInstaller
Oracle Installer 한글 표시 Error

Oracle Installer 한글 표시 Error

실행하면 위의 그림과 같이 한글이 모두 Box로 표시됩니다. Ubuntu의 현재 Locale인 ko_KR.UTF-8을 설치 Program에서 제대로 인식하지 못하거나 또는 한글 글꼴이 없어서 생기는 문제 같네요. 설치 Program을 종료하고 Terminal에서 아래와 같이 입력합니다.

1
$ export LANG=C

강제로 현재 Terminal에 실행되고 있는 Shell의 Locale을 ASCII로 변환하는 명령입니다. 이제 다시 Installer를 실행하면 영문으로 설치를 계속 진행할 수 있습니다. 이제 각 Step별로 설명하도록 하겠습니다.

Step1. Configure Security Updates

Step1 - Configure Security Updates

Step1 - Configure Security Updates

이전의 Oracle Release에서는 보지 못했던 것인데 처음 Step에 추가되었군요. Security Alert와 같은 중요한 내용을 Mail로 보내주겠다는 것인데 필요하면 입력합니다. 그리고 아래의 I wish to receive security updates via My Oracle Support는 Oracle Support라는 Service와 연동을 시키는 부분인데 대부분 Oracle Support의 계정을 갖고 있지 않을테니 Check를 해제합니다. (Oracle Support는 Database를 실제로 License 비용을 지불하고 구입한 경우에만 사용할 수 있습니다.)

Step1 - Security Issue Dialog

Step1 - Security Issue Dialog

e-mail주소를 입력하지 않을 경우 Security Issue Dialog가 표시됩니다. 그냥 Yes를 Click합니다.

Step2. Installation Option

Step2 - Installation Option

Step2 - Installation Option

처음 설치하는 것이므로 Create and configure a database를 Check하고 Next를 Click합니다.

Step3. System Class

Step3 - System Class

Step3 - System Class

실제 Oracle Database Server로 DB를 운용할 것이기 때문에 Server Class를 Check합니다.

Step4. Grid Options

Step4 - Grid Options

Step4 - Grid Options

Test나 Study 목적으로 Server를 운용할 경우는 Single instance database installation을 Check하시고 그 외의 Cluster 단위의 대용한 DB Server를 운용할 것이라면 Real Application Cluster database installation을 Check합니다. 여기서는 Single instance database installation으로 진행하겠습니다.

Step5. Install Type

Step5 - Install Type

Step5 - Install Type

일반적인 설치는 Typical Install을 선택하고 세부설정을 하려면 Advanced Install을 선택합니다. 여기서는Advanced Install을 Check하고 진행합니다.

Step6. Product Languages

Step6 - Product Languages

Step6 - Product Languages

설치될 DB Program에서 사용할 언어를 설정합니다. 여기서는 English만 사용합니다. Korean도 항목에 있기는 하지만 나중에 설치된 후, Terminal에서 sqlplus를 실행해보면 Output이 모두 한글로 표시되기는 하는데 Encoding이 맞지 않아서 다 깨져서 나옵니다. 그냥 영문으로만 설치하는 편이 훨씬 낫습니다.

Step7. Database Edition

Step7 - Database Edition

Step7 - Database Edition

Oracle Database의 Edition을 설정할 수 있습니다. 각 Edition마다 차이가 있는것 같은데 여기서는Enterprise Edition으로 설치해보겠습니다.

Step8. Installation Location

Step8 - Installation Location

Step8 - Installation Location

Oracle Database가 설치될 경로를 설정합니다. 이미 환경변수에 해당 값을 설정해 두었기 때문에 이미 아래와 같이 올바른 값으로 설정되어 있을 것입니다. (이전 Post의 8,9번 참조)

1
2
Oracle Base : /opt/oracle
Software Location : /opt/oracle/product/11.2.0/db_1

Step9. Create Inventory

Step9 - Create Inventory

Step9 - Create Inventory

설치파일에 대한 정보를 기록하는 Inventory Directory를 생성합니다. 이전 Post에서 이미 Directory를 생성해 놓았으니 아래와 같이 제대로 설정되어 있을 것입니다. (이전 Post의 3, 8번 참조)

1
2
Inventory Directory : /opt/oraInventory
oraInventory Group Name : oinstall

Step10. Configuration Type

Step10 - Configuration Type

Step10 - Configuration Type

생성할 Database의 Type을 설정합니다. General Purpose / Transaction Processing를 Check합니다.

Step11. Database Identifiers

Step11 - Database Identifiers

Step11 - Database Identifiers

Global Database Name과 Oracle Service Identifier(ORACLE_SID)를 설정합니다. 이미 이전에 환경변수로 설정한 orcl11을 입력합니다. (이전 Post의 9번 참조)

1
2
Global database name: orcl11
Oracle Service Identifier(SID): orcl11

Step12. Configuration Options

Step12 - Configuration Options

Step12 - Configuration Options

Database를 생성할 때 사용할 나머지 Option을 설정합니다. 특별히 변경시켜야할 것은 없고, 다만 DB에 한글과 같은 Multibyte Code가 들어갈 수 있기 때문에 Character sets Tab에서 Use Unicode (AL32UTF8)를 Check합니다.

Step13. Management Options

Step13 - Management Options

Step13 - Management Options

Database를 Management할 때 Grid로 관리할 경우에는 Use an existing Grid Control for database management를, 그 외의 경우에는 Use Database Control for database management를 선택합니다. 여기서는 Use Database Control for database management를 선택해서 진행합니다.

Step14. Database Storage

Step14 - Database Storage

Step14 - Database Storage

Database Storage Option을 설정합니다. Database Storage를 위해 File System을 사용하거나 또는 Automatic Storage Management(ASM)를 사용할 수 있습니다. 여기서는 File System을 선택하여 진행합니다. 그리고 Database File이 위치할 경로는 아래와 같이 입력합니다.

1
Specify database file location : /opt/oracle/oradata

Step15. Backup and Recovery

Step15 - Backup And Recovery

Step15 - Backup And Recovery

Database를 실제로 사용하기 위해서는 Backup의 중요성은 여러번 강조하지 않아도 될 만한 것이지만, 여기서는 Test 및 Study를 목적으로 하기 때문에 Do not enable automated backups를 선택하여 진행합니다. 자동 백업이 필요한 경우에는 Enable automated backups를 선택한 후, Filesystem을 Check하고 아래의 자동 백업을 실행할 계정의 ID와 Password를 입력합니다.

Step16. Schema Passwords

Step16 - Schema Passwords

Step16 - Schema Passwords

DB접속시 보통의 경우 각 관리자 마다 다른 Password를 설정해야 할 경우는 드물기 때문에 Use the same password for all accounts 선택하고 Password를 입력합니다. Oracle은 Alphabet 대문자, 소문자, 숫자가 모두 들어간 Password를 권고하는 군요.

Step17. Operating System Groups

Step17 - Operating System Groups

Step17 - Operating System Groups

Database의 Administrator Group과 Operater Group을 아래와 같이 설정합니다.

1
2
Database Administrator(OSDBA) Group : dba
Database Operator(OSOPER) Group : oinstall

Step18. Prerequisite Checks

Step18 - Prerequisite Checks

Step18 - Prerequisite Checks

Database 실행을 위한 필수 Package가 설치되어 있는지 확인합니다. 대부분 설치 및 설정이 되어있지만, Ubuntu의 package system을 인식하지 못하므로 대부분 Error로 표시될 것입니다. List 우측 상단에Ignore All을 Check한 후 Next를 Click합니다.

Step19. Summary

Step19 - Summary

Step19 - Summary

현재까지 설정된 모든 사항들을 요약해서 보여줍니다. Finish를 Click합니다.

Step20. Install Product

Step20 - Install Product

Step20 - Install Product

설치가 진행되는 모습입니다. 여담이지만 예전 9i, 10g 보다는 설치하기 많이 쉬워지고 OUI가 많이 예뻐졌네요. Sun을 인수한 효과일지도 모르겠군요.ㅎㅎ

Step20 - Database Configuration Assistant

Step20 - Database Configuration Assistant

설치 도중에 위와 같은 그림이 뜨는데 이것은 OUI가 사용자가 입력한 설정대로 DB를 생성하기 위해서 Database Configuration Assistant(DBCA)를 실행하면서 생기는 창입니다. 신경쓰지 마시고 그냥 기다리시면 됩니다.

Step20 - Database Configuration Assistant Message

Step20 - Database Configuration Assistant Message

DB가 생성이 완료되면 위와 같은 알림창이 표시됩니다. OK를 Click합니다.

Step20 - Execute Configuration Scripts

Step20 - Execute Configuration Scripts

그 다음 Execute Configuration Scripts Dialog가 표시됩니다. 설치를 최종으로 완료하기 위해서 Root 게정으로 실행해야할 Script 목록을 보여줍니다. 기본적으로 Ubuntu에서는 Admin Group외의 User는 Root권한을 가질 수 없습니다. 이를 위해서 sudo 명령이 허락된 User로 로그인 하는 것이 필요합니다. Terminal을 새로 띄운 후 아래와 같이 실행합니다.

1
2
$ sudo /opt/oraInventory/orainstRoot.sh
$ sudo /opt/oracle/product/11.2.0/db_1/root.sh

root.sh를 실행하면 /usr/local/bin directory의 위치를 물어보는데 그냥 Enter를 누르면 됩니다. 실행이 모두 완료되면 위의 Dialog에서 OK를 Click합니다.

Step20.1. Natty Narwhal 11.04에서 Error 해결방법

Ubuntu Natty Narwhal 11.04에서 설치 시에 다음과 같은 Error가 발생한다면

1
Error in invoking target 'client_sharedlib' of makefile '/opt/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk'.

새로운 Terminal을 띄운 다음, 다음과 같이 입력한 후 Error 창에서 Retry를 누릅니다.

  • 64bit일 경우 :
    1
    2
    3
    4
    $ sudo ln -sf /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/
    $ sudo ln -sf /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/
  • 32bit일 경우 :
    1
    2
    3
    4
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
    $ sudo ln -sf /lib/i386-linux-gnu/libgcc_s.so.1 /lib/
Step20.2. Oneiric Ocelot 11.10에서 Error 해결방법

Ubuntu Oneiric Ocelot 11.10에서는 설치 시에 다음과 같은 Error가 발생할 수 있습니다.

1
Error in invoking target 'agent nmhs' of makefile '/opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'.
1
Error in invoking target 'client_sharedlib' of makefile '/opt/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk'.

이 경우에는 새로운 Terminal을 띄운 후, Library Path를 맞춰주기 위해서 다음과 같이 입력합니다.

  • 64bit일 경우 :
    1
    2
    3
    4
    5
    6
    $ sudo ln -sf /usr/lib /usr/lib64
    $ sudo ln -sf /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/
    $ sudo ln -sf /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
    $ sudo ldconfig
  • 32bit일 경우 :
    1
    2
    3
    4
    5
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
    $ sudo ln -sf /lib/i386-linux-gnu/libgcc_s.so.1 /lib/
    $ sudo ldconfig

그리고 Library Path 문제와 더불어서 발생하는 Build Script Error에 대해서는 Step20.4를 참고하기 바랍니다.

Step20.3. Precise Pangolin 12.04이상에서 Error 해결방법

Precise Pangolin 12.04, Quantal Quetzal 12.10, Raring Ringtail 13.04의 경우, 다음과 같은 Error가 설치 시에 발생할 수 있습니다.

1
Error in invoking target 'client_sharedlib' of makefile '/opt/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk'.
1
Error in invoking target 'agent nmhs' of makefile '/opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'.

Build 시 Library Path에 관한 문제로, 수정을 위해서는 새로 Terminal을 띄워서 다음과 같이 입력하면 됩니다.

  • 64bit일 경우 :
    1
    2
    3
    $ sudo ln -sf /usr/lib/x86_64-linux-gnu /usr/lib64
    $ sudo ln -sf /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
    $ sudo ldconfig
  • 32bit일 경우 :
    1
    2
    3
    4
    5
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/
    $ sudo ln -sf /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
    $ sudo ln -sf /lib/i386-linux-gnu/libgcc_s.so.1 /lib/
    $ sudo ldconfig

그리고 Library Path 문제와 더불어서 발생하는 Build Script Error에 대해서는 Step20.4를 참고하기 바랍니다.

Step20.4. Oracle Library Build Script Error 해결방법

Build Script Error는 Oneiric Ocelot 11.10, Precise Pangolin 12.04, Quantal Quetzal 12.10, Raring Ringtail 13.04에서 발생하며 Error 창에 표시되는 내용은 아래와 같습니다.

1
Error in invoking target 'agent nmhs' of makefile '/opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'.
1
Error in invoking target 'all_no_orcl' of makefile '/opt/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk'.

Error를 고치기 위해서는 Script를 수정해야 합니다. Terminal에서 oracle 계정으로 Login한 다음, 아래의 File을 수정한 후 Error 창의 Retry를 누르면 설치를 계속 수행할 수 있습니다.

NOTE 1: Error가 발생하는 원인에 대해서는 제가 작성한 Comment를 참고하기 바랍니다.

NOTE 2: Code를 수정할 때, 대소문자에 주의하기 바랍니다. 특히 -Wl의 경우 W가 대문자라는 것을 유의하시길. :)

  • /opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk:
    1
    2
    $(SYSMANBIN)emdctl:
    $(MK_EMAGENT_NMECTL)

    을 아래와 같이 변경합니다.

    1
    2
    $(SYSMANBIN)emdctl:
    $(MK_EMAGENT_NMECTL) -lnnz11
  • /opt/oracle/product/11.2.0/db_1/rdbms/lib/env_rdbms.mk:
    1
    KFED_LINKLINE=$(LINK) $(S0MAIN) $(SSKFEDED) $(SKFEDPT) \

    을 아래와 같이 변경합니다.

    1
    KFED_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFEDED) $(SKFEDPT) \

    1
    KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) \

    을 아래와 같이 변경합니다.

    1
    KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFODED) $(SKFODPT) \

    1
    KFNDG_LINKLINE=$(LINK) $(S0MAIN) $(SSKFNDGED)

    을 아래와 같이 변경합니다.

    1
    KFNDG_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFNDGED)

    1
    AMDU_LINKLINE=$(LINK) $(S0MAIN) $(SSKFMUED) $(SKFMUPT) \

    을 아래와 같이 변경합니다.

    1
    AMDU_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFMUED) $(SKFMUPT) \

    1
    2
    ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
    $(SPOBJS) $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \

    을 아래와 같이 변경합니다.

    1
    2
    ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
    $(SPOBJS) -Wl,--no-as-needed $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \
  • /opt/oracle/product/11.2.0/db_1/bin/genorasdksh:
    1
    $LD $LD_RUNTIME $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \

    을 아래와 같이 변경합니다.

    1
    $LD $LD_RUNTIME -Wl,--no-as-needed $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \
  • /opt/oracle/product/11.2.0/db_1/srvm/lib/ins_srvm.mk:
    1
    GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) \

    을 아래와 같이 변경합니다.

    1
    GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) -Wl,--no-as-needed \
  • /opt/oracle/product/11.2.0/db_1/network/lib/env_network.mk:
    1
    TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) $(LINKTTLIBS) $(LLIBONS) \

    을 아래와 같이 변경합니다.

    1
    TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed $(LINKTTLIBS) $(LLIBONS) \

만약 Error 창에서 Continue를 눌러 그냥 설치한 경우라면 Terminal에서 아래와 같이 입력하면 Library를 다시 Build할 수 있습니다.

1
2
3
4
$ su - oracle
$ relink all

(Error가 발생했는지 확인하려면 $ORACLE_HOME/install/relink.log를 열어볼 것)

Step21. Finish

Step21 - Finish

Step21 - Finish

설치를 무사히 마치면 위와 같은 그림이 표시됩니다. Finish를 Click하면 설치가 모두 종료됩니다.

Finish Step에서 표시된 URL(https://localhost:1158/em)을 Web Browser로 접속하면 아래와 같은Oracle Enterprise Management Webpage가 표시됩니다. Flash를 사용한 Chart등으로 Database의 전반적인 상태를 Web에서 확인할 수 있습니다.

Oracle Database를 Web에서 관리할 수 있는 Enterprise Manager 접속 화면

Oracle Database를 Web에서 관리할 수 있는 Enterprise Manager 접속 화면

4. 마치면서..

이상으로 Oracle 11g Release 2를 Download하고 설치하는 방법에 대해서 알아보았습니다. 이제 설치가 되었으니 관리하기 편리하도록 차후 설정을 해주면 다루기 편리해 질 것입니다. 제가 사용하는 몇가지 Tip을 다음 Post에 적어보도록 하겠습니다.



출처: http://shinyul.tistory.com/9?category=541650 [시작...]