Ubuntu¿¡ Oracle 11gR2 Enterprise|Standard ¼³Ä¡Çϱâ
Oracle Document¿¡ µû¸£¸é 11gR2 ¼³Ä¡¸¦ Áö¿øÇÏ´Â ¸®´ª½º´Â ¾Æ·¡¿Í °°½À´Ï´Ù.(https://docs.oracle.com/cd/E11882_01/install.112/e24324/toc.htm#CHDGGFJH)
durecat@:~$ uname -a Linux durecat-Satellite-L510 3.16.0-71-generic #92~14.04.1-Ubuntu SMP Thu May 12 23:34:38 UTC 2016 i686 i686 i686 GNU/Linux
Áö¿øµÇÁö ¾Ê´Â ¸®´ª½º À̱⠶§¹®¿¡ ¼³Ä¡ °úÁ¤ÀÌ ½±Áö´Â ¾Ê½À´Ï´Ù¸¸, XE ¹öÀü º¸´Ù´Â Standard³ª Enterprise¸¦ »ç¿ëÇÏ°í ½Í¾ú±â ¶§¹®¿¡ ±¸±Û¸µÀ» ÅëÇØ ¼³Ä¡¸¦ ÇÏ¿´½À´Ï´Ù.
±âº»ÀûÀ¸·Î ¼³Ä¡ÇØ¾ß ÇÏ´Â ÆÐÅ°Áö¿Í ȯ°æ ¼¼ÆÃÀº ¾Æ·¡ ¸µÅ©¸¦ ÂüÁ¶ ÇÏ¿´½À´Ï´Ù.
À§ ÆäÀÌÁöÀÇ instruction ÀÌÈÄ ÇØ°áÇÑ ¿¡·¯µé¿¡ ´ëÇØ Á¤¸®ÇØ º¸·Á ÇÕ´Ï´Ù.
# Running runInstaller
GUI Installation ȸéÀ» ¶Ù¿ì±â À§ÇØ xhost + ¼³Á¤ ÈÄ runInstaller¸¦ ½ÇÇà ÇÕ´Ï´Ù.
--root °èÁ¤À¸·Î ·Î±×ÀÎÇÕ´Ï´Ù. durecat@:~$ sudo -i [sudo] password for durecat: root@:~# xhost + access control disabled, clients can connect from any host --oracle °èÁ¤À¸·Î ·Î±×ÀÎÇÕ´Ï´Ù. root@:~# su - oracle --DISPLAY ¼³Á¤ ÈÄ runInstaller¸¦ ±âµ¿ÇÕ´Ï´Ù. oracle@:~$ export DISPLAY=:0.0 oracle@:~$ cd database/ oracle@:~/database$ ls doc install response rpm runInstaller sshsetup stage welcome.html oracle@:~/database$ ./runInstaller Starting Oracle Universal Installer...
ÀÌÁ¦ GUI ȸéÀÌ ³ªÅ¸³³´Ï´Ù.
Àú´Â ¸Å´º¾óÇÏ°Ô µðºñ »ý¼ºÇϱâ À§ÇØ ¿£Áø ¼³Ä¡¸¸ ¼±ÅÃÇß½À´Ï´Ù.
Grid Options -> Single Instance Database Installation
Product Language -> English, Korean
Database Edition -> Standard (Enterprise ÇÏ·Á ÇÏ´Ù Àß ¸ø ¼±ÅÃÇ߳׿ä ;)
Âü°í·Î Enterprise ·Î ¼³Ä¡ ½Ã ¼±ÅÃÇÒ ¼ö ÀÖ´Â Components ÀÔ´Ï´Ù.
Installation Location, Oracle Inventory, Operating System Groups ¼³Á¤ ÈÄ ÀÌÁ¦ ´ë¸ÁÀÇ Prerequisite Checks ÀÔ´Ï´Ù.
¶óÀ̺귯¸® °ü·Ã ¿¡·¯°¡ ¸¹ÀÌ ¶å´Ï´Ù. ¿¡·¯¿¡ ³Ê¹« ´çȲÇÑ ³ª¸ÓÁö ½ºÅ©¸° ¼¦ÀÌ ¾ø³×¿ä ¤».
Àú´Â Ignore all À» ¿ì¼± ¼±ÅÃÇÏ¿© ÁøÇàÇÏ¿´½À´Ï´Ù. ¼³Ä¡ Áß¿¡ ¿¡·¯ ³ª¸é ó¸®Çϱâ·Î Çϱ¸¿ä..
¶óÀ̺귯¸® °ü·Ã ¿¡·¯°¡ ¿ª½Ã ¹ß»ýÇÕ´Ï´Ù.
ó¸® ¹æ¹ýÀº »ý°¢º¸´Ù °£´ÜÇÕ´Ï´Ù. ÀÌ¹Ì À§¿¡¼ °ü·ÃÀÖ´Â ÆÐÅ°ÁöµéÀ» ¸¹ÀÌ ¼³Ä¡ÇÏ¿´±â ¶§¹®¿¡ ¶óÀ̺귯¸®´Â Á¸Àç Çϴµ¥ OracleÀÌ Ã£´Â À§Ä¡¿¡ ¾ø´Â °æ¿ì°¡ ´ëºÎºÐÀÔ´Ï´Ù.
locate ¸í·É¾î¸¦ ÅëÇØ OracleÀÌ ¿ä±¸ÇÏ´Â ¶óÀ̺귯¸®ÀÇ À§Ä¡¸¦ ÆÄ¾Ç ÈÄ Çϵ帵ũ¸¦ OracleÀÌ ¿ä±¸ÇÏ´Â À§Ä¡¿¡ ¸¸µé¾î ÁÝ´Ï´Ù. (¾Æ·¡ ¸µÅ© ÂüÁ¶)
# Error 1
¿ì¼± ¼³Ä¡ ·Î±× ÆÄÀÏÀ» È®ÀÎÇÏ¿© ¾î¶² ¶óÀ̺귯¸®¸¦ ¸ø ã´ÂÁö È®ÀÎÇÕ´Ï´Ù.
INFO: /opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin/genclntsh INFO: / INFO: usr/bin/ld: cannot find /usr/lib/libpthread_nonshared.a INFO: collect2: error: ld returned 1 exit status INFO: genclntsh: Failed to link libclntsh.so.11.1 INFO: make: *** [client_sharedlib] Error 1 INFO: End output from spawned process.
locate¿Í ln ¸í·É¾î¸¦ ÀÌ¿ëÇØ Çϵ帵ũ¸¦ »ý¼ºÇØ ÁÝ´Ï´Ù.
root@:/opt/oracle/app/oraInventory/logs# locate libpthread_nonshared /usr/lib/i386-linux-gnu/libpthread_nonshared.a # ln -s /usr/lib /usr/lib/lib64 root@:/opt/oracle/app/oraInventory/logs# ln /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/libpthread_nonshared.a
#Error 2
¿ª½Ã À¯»çÇÑ ¶óÀ̺귯¸® ¿¡·¯°¡ ³³´Ï´Ù. °°Àº ¹æ¹ýÀ¸·Î ó¸®ÇÕ´Ï´Ù.
INFO: /opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin/genclntsh INFO: /usr/bin/ld: cannot find /usr/lib/libc_nonshared.a INFO: collect2: error: ld returned 1 exit status INFO: genclntsh: Failed to link libclntsh.so.11.1 INFO: make: *** [client_sharedlib] Error 1 INFO: End output from spawned process.
root@:/opt/oracle/app/oraInventory/logs# locate libc_nonshared.a /usr/lib/i386-linux-gnu/libc_nonshared.a root@d:/opt/oracle/app/oraInventory/logs# ln /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/libc_nonshared.a
#Error 3
À̹ø¿¡´Â emdctl °ü·ÃÇÏ¿© ¿¡·¯°¡ ³³´Ï´Ù. ORACLE_HOME ȯ°æº¯¼ö¸¦ Á¦´ë·Î ¼³Á¤ÇÏÁö ¾Ê°í ¼³Ä¡¸¦ Çؼ ¹ß»ýÇÑ µíÇÕ´Ï´Ù.
(Âü°í ¸µÅ©: https://community.oracle.com/thread/2461988?tstart=0)
INFO: collect2: error: ld returned 1 exit status INFO: make[1]: Leaving directory `/opt/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib' INFO: make[1]: *** [/opt/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/emdctl] Error 1 INFO: make: *** [emdctl] Error 2 INFO: End output from spawned process.
oracle@:~/app/oracle/product/11.2.0/dbhome_1$ export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1 oracle@:~/app/oracle/product/11.2.0/dbhome_1$ echo $ORACLE_HOME /opt/oracle/app/oracle/product/11.2.0/dbhome_1 oracle@:~/app/oracle/product/11.2.0/dbhome_1$ sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk oracle@:~/app/oracle/product/11.2.0/dbhome_1$ sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh oracle@:~/app/oracle/product/11.2.0/dbhome_1$ sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk oracle@:~/app/oracle/product/11.2.0/dbhome_1$ sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk oracle@:~/app/oracle/product/11.2.0/dbhome_1$ sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
#Error 4
¶óÀ̺귯¸® °ü·Ã ¸¶Áö¸· ¿¡·¯ ÀÔ´Ï´Ù.
Çϵ帵ũ »ý¼º½Ã ÁÖÀÇÇÏ¼Å¾ß ÇÒ Á¡Àº locate·Î ÆÄÀÏ °Ë»ö ½Ã ¿©·¯°³ÀÇ ÆÄÀÏÀÌ °Ë»ö µÇ¾ú´Ù¸é, °á°ú Áß ÀÌ¹Ì ¸µÅ©·Î »ç¿ëµÇ°í ÀÖ´Â ÆÄÀÏ·Î ´Ù½Ã ¸µÅ©¸¦ ¸¸µé¸é ¾ÈµÈ´Ù´Â °ÍÀÔ´Ï´Ù.
ÀúÀÇ °æ¿ì óÀ½¿¡ À̸§ÀÌ µ¿ÀÏÇÑ libstdc++.so.6¸¦ ÀÌ¿ëÇØ Çϵ帵ũ¸¦ »ý¼ºÇÏ¿´À¸³ª Áö¼ÓÀûÀ¸·Î ¿¡·¯°¡ ¹ß»ýÇÏ¿© ÆÄÀϵîÀ» »ìÆì º¸´Ï libstdc++.so.6 ¿ª½Ã ¸µÅ© ¿´°í
¿øº»Àº libstdc++.so.6.0.19 ÀÌ¾î¼ ÀÌ ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ¸µÅ©¸¦ »ý¼ºÇØ ÁÖ´Ï ¿¡·¯°¡ ÇØ°áµÇ¾ú½À´Ï´Ù.
INFO: Creating /opt/oracle/app/oracle/product/11.2.0/dbhome_1/lib/liborasdkbase.so.11.1 INFO: gcc: error: /lib/libgcc_s.so.1: No such file or directory gcc: error: /usr/lib/libstdc++.so.6: No such file or directory INFO: /opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin/genorasdksh: Failed to link liborasdkbase.so.11.1 INFO: make: *** [liborasdkbase] Error 1 INFO: End output from spawned process.
root@durecat-Satellite-L510:/opt/oracle/app/oraInventory/logs# locate libgcc_s.so.1 /lib/i386-linux-gnu/libgcc_s.so.1 root@durecat-Satellite-L510:/opt/oracle/app/oraInventory/logs# ln /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so.1 root@durecat-Satellite-L510:/opt/oracle/app/oraInventory/logs# locate libstdc++.so.6 /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19 /usr/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.19-gdb.py -- /usr/lib/i386-linux-gnu/libstdc++.so.6 ¿ª½Ã ¸µÅ© À̹ǷΠ/usr/lib/i386-linux-gnu/libstdc++.so.6.0.19 Çϵ帵ũ »ý¼ºÇØ¾ß ÇÔ root@durecat-Satellite-L510:/opt/oracle/app/oraInventory/logs# ln /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19 /usr/lib/libstdc++.so.6
¸¶Áö¸·À¸·Î µÎ°³ÀÇ sh ÆÄÀÏÀ» root·Î ½ÇÇàÇÏ°í ³ª¸é, µåµð¾î ¼º°øÀûÀ¸·Î ¼³Ä¡°¡ ¿Ï·áµÇ¾ú´Ù´Â ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù.
³¡À¸·Î ,profile¿¡ ȯ°æº¯¼ö ¼¼°³¸¦ ¼³Á¤ÇÏ°í sqlplus¸¦ ½ÇÇàÇØ º¾´Ï´Ù.
export ORACLE_HOME="/opt/oracle/app/oracle/product/11.2.0/dbhome_1" export ORACLE_BASE="/opt/oracle" export PATH=$PATH:/opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin $. ./.profile oracle@:~$ sqlplus SQL*Plus: Release 11.2.0.1.0 Production on Sun Jul 10 22:54:07 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. Enter user-name: ^C
sqlplus°¡ Àß ½ÇÇàÀÌ µÇ´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ubuntu°¡ Oracle¿¡¼ Áö¿øÇÏ´Â ¸®´ª½º°¡ ¾Æ´Ï±â ¶§¹®¿¡ Ä¿³Î°ªµîÀÇ È£È¯¼º ¹®Á¦·Î µðºñ »ý¼º ¹× ±âµ¿¿¡ ¹®Á¦°¡ ÀÖÀ» ¼ö ÀÖÀ» °Í °°Àºµ¥¿ä..
µðºñ »ý¼º Áß È¤½Ã ¿¡·¯¸¦ ¶Ç ¸¸³ª°Ô µÇ¸é °øÀ¯ÇÏ°Ú½À´Ï´Ù.