"Oracle92 For Gentoo"의 두 판 사이의 차이
Onionmixer (토론 | 기여) (Oracle 9.2 For Gentoo 문서 추가) |
Gentookorea (토론 | 기여) (→기 타) |
||
512번째 줄: | 512번째 줄: | ||
− | [[Category: | + | [[Category:GentooKRDoc]] |
2013년 3월 20일 (수) 18:10 기준 최신판
- Oracle 9.2 For Gentoo
Oracle Installation(Gentoo + Oracle9.2)
목차
Creating Oracle User Accounts
# groupadd dba # group of users to be granted with SYSDBA system privilege # groupadd oinstall # group owner of Oracle files # useradd -g oinstall -G dba -d /usr/oracle oracle # passwd oracle
Downgrade binutils
# emerge -pv binutils These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] sys-devel/binutils-2.14.90.0.8-r1 [2.14.90.0.7-r4] -bootstrap -build +nls 10,777 kB Total size of downloads: 10,777 kB # emerge /usr/portage/sys-devel/binutils/binutils-2.13.90.0.18-r1.ebuild # INSTALL 후에 원래대로 upgrade 한다(# emerge -u binutils)
커널 파라미터 설정
# cat /proc/sys/kernel/shmmax =>33554432 # echo `expr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax # cat /proc/sys/kernel/shmmax # vi /etc/sysctl.conf (영구적으로 설정) kernel.shmmax=1073741824
다운 받은 파일 압축 풀기
# gunzip lnx_920_disk1.cpio.gz # cpio -idmv < lnx_920_disk1.cpio # disk2,3 도 동일하게 작업한다.
Tomcat의 Port No 변경하기
Tomcat이 설치가 되어 있고 Port No를 8080으로 사용하고 있다면 Port No 를 변경해 주어야 된다.
# vi /opt/tomcat/conf/server.xml <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> <!-- change port number for oracle http server 8080->8088 by santana --> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8088" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000"
My .bash_profile For Oracle User
export ORACLE_SID=ARIRANG export ORACLE_BASE=/usr/oracle/db export ORACLE_HOME=/usr/oracle/db export ORACLE_TERM=xterm export TNS_ADMIN=/usr/oracle/db/network/admin export NLS_LANG=American_America.KO16KSC5601 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export ORACLE_OWNER=oracle export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/ucblib:/usr/X11/lib:/usr/local/lib export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:/usr/X11/bin:/usr/local/bin:/usr/X11R6/bin:$ORACLE_HOME/dba #export DISPLAY=:0.0 export LANG=C export EDITOR=vi export TMPDIR=/tmp export TMP=/tmp export TEMP=/tmp #export JAVA_HOME=/usr/java/jdk1.3.1_02 export JAVA_HOME=/opt/blackdown-jdk-1.4.1 export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib alias ll='ls -la' alias lx='ls -alxF' alias oh='cd $ORACLE_HOME' set -o vi #PS1='($ORAPRD):/\W $ ' PS1='\[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]' cd db/
설치 시작
0. 설치전 디스크의 공간
oracle@arirang oracle $ df -h Filesystem Size Used Avail Use% Mounted on /dev/hda2 28G 2.2G 24G 9% / /dev/hda1 99M 9.4M 85M 10% /boot /dev/hda5 19G 159M 18G 1% /var /dev/hda6 64G 4.8G 56G 8% /data
1. runInstaller 를 실행한다.
$ /data/Disk1/runInstaller & $ Initializing Java Virtual Machine from /tmp/OraInstall2004-04-11_10-10-22PM/jre/bin/java. Please wait... /tmp/OraInstall2004-04-11_10-10-22PM/jre/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory [1]+ Done ./runInstaller
- 상기와 같은 에러 발생시 아래의 패키지를 설치해야 한다.
# emerge -pv lib-compat These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] sys-libs/lib-compat-1.3 3,076 kB Total size of downloads: 3,076 kB # emerge lib-compat
2. 다시 한 번 runInstaller 를 실행한다.
$ Initializing Java Virtual Machine from /tmp/OraInstall2004-04-11_10-20-11PM/jre/bin/java. Please wait... Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] [1]+ Done ./runInstaller
- 상기와 같은 에러가 나면서 화면의 폰트가 깨어져 보인다면 아래와 같이 한다.
/data/ftp_data/comp/Linux/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib 에 있는 font.properties 를 수정한다.(또는 font.properties.ko 파일을 만들어 준다)
가장 확실한 방법은 그냥 영문으로 인스톨하는 것이다.
$ unset LANG $ unset LC_ALL
3. Next 버튼을 누른다.
4. OK 버튼을 누른다.
5. Unix Group Name에 oinstall 입력 후 Next 버튼을 누른다.
6. root 로 /tmp/orainstRoot.sh 를 실행한 후 Contiune 버튼을 누른다.
# /tmp/orainstRoot.sh Creating Oracle Inventory pointer file (/etc/oraInst.loc) Changing groupname of /usr/oracle/db/oraInventory to oinstall
7. Next 버튼을 누른다.
8. Product Languages 버튼을 누른다.
9. Korean 을 추가한 후 OK 버튼을 누른다.
10. Oracle9i Database 9.2.0.1.0을 선택 후 Next 버튼을 누른다.
11. Enterprise Edition (1.74GB)을 선택 후 Next 버튼을 누른다.
12. General Purposef 를 선택 후 Next 버튼을 누른다.
13. Global Database Name과 SID를 입력 후 Next 버튼을 누른다.
14. Database Performace를 위해 Database File의 위치는 다른 Disk로 하는 것이 좋다. 그러나 다른 Disk가 없다면 Next 버튼을 누른다.
15. Next 버튼을 누른다.
16. Install 버튼을 누른다.
17. 설치가 시작된다.
18. 설치중 아래와 같은 에러가 나면 다음과 같이 처리한 후 Retry 버튼을 누른다.
$ vi $ORACLE_HOME/ctx/lib/env_ctx.mk를 열어서 1365라인정도에 있는 INSO_LINK에 $(LDLIBFLAG)dl 를 추가합니다. INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)sc_ca $(LDLIBFLAG)dl $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
19. 아래와 같은 메시지가 나오면 root로 /usr/oracle/db/root.sh를 실행한 후 OK버튼을 누른다 .
# /usr/oracle/db/root.sh Running Oracle9 root.sh script... \nThe following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /usr/oracle/db Enter 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 ... \nCreating /etc/oratab file... Adding entry to /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed.
실행후에는 /usr/local/bin에 coraenv,dbhome,oraenv 3개의 파일이 생성된다.
20. Oracle Database Configuration Assistant 설치에 실패하였다. (일단 SKIP)
$ vi $ORACLE_HOME/bin/dbca 마지막 부분을 아래와 같이 수정한다. #if [ -f /etc/rac_on ]; then # Run DBCA $JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS #else # Run DBCA #$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS #fi
21. 설치가 끝났다. Exit 버튼을 누른다.
22. 20번에서 그냥 스킵했을 경우에는 $ORACLE_HOME/bin/dbca dbca를 실행한다.
$ dbca &
23. Next 버튼을 누른다.
24. Create a database를 선택 후 Next 버튼을 누른다.
25. General Purpose를 선택 후 Next 버튼을 누른다.
26. Global Database Name과 SID를 입력 후 Next 버튼을 누른다.
27. Dedicated Server Mode를 선택 후 Next 버튼을 누른다.
28. Archive탭에서 Archive Log Mode로 선택하고 Archive가 저장될 장소를 지정하고 이 외에 메모리나 캐릭터셋이나 DB Sizing을 적당히 조정한 후 Next 버튼을 누른다.
29. Next 버튼을 누른다.
30. Create Database를 선택 후 Finish 버튼을 누른다.
31. Summary 를 보여준다. OK 버튼을 누른다.
32. database 생성을 시작한다.
33. SYS와 SYSTEM 유저의 패스워들를 입력 후 Exit 버튼을 누른다.
34. 설치가 완료되었다. sqlplus로 접속하여 확인하여 보자.
접속전 반드시 뒷부분의 tnsnames.ora 와 listener.ora 파일을 참조하여 2개의 파일의 설정을 확인한다.
$ sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on Sun Apr 18 16:30:44 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect / as sysdba Connected. SQL> SQL> SQL> SQL> startup ORA-01081: cannot start already-running ORACLE - shut it down first SQL> select sysdate from dual; SYSDATE --------- 18-APR-04
35. 가장 많은 예제로 쓰이는 EMP, DEPT 테이블 예제를 만들어 본다.
$ cd $ORALCE_HOME/sqlplus/demo $ sqlplus /nolog SQL> @demobld.sql Building demonstration tables. Please wait. Demonstration table build is complete. SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- -------------------- ------------------ ---------- --------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 12-JAN-83 1100 20 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- -------------------- ------------------ ---------- --------- ---------- ---------- ---------- 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 14 rows selected.
36. 설치 후 디스크 공간
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/hda2 28G 7.2G 19G 28% / /dev/hda1 99M 9.4M 85M 10% /boot /dev/hda5 19G 187M 18G 2% /var /dev/hda6 64G 4.8G 56G 8% /data
My tnsnames.ora
# TNSNAMES.ORA Network Configuration File: /usr/oracle/db/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ARIRANG = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ARIRANG) ) ) INST1_HTTP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = MODOSE) (PRESENTATION = http://HRService) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
My listener.ora
# LISTENER.ORA Network Configuration File: /usr/oracle/db/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /usr/oracle/db) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = ARIRANG) (ORACLE_HOME = /usr/oracle/db) (SID_NAME = ARIRANG) ) )
참조 문서
문서 작성자들
- 최초 작성자: 2004/05/01 조시현
- 옮긴이: 2013/03/19 GentooKR 작업자
기 타
- Gentoo에서 오라클 사용하시는 분들의 많은 도움 부탁드립니다. -- 조시현