分享

Ubuntu 14.04 X64成功安装Oracle 12C 64|Oracle

 昵称10087950 2015-06-17
.环境:
   Oracle数据库服务器是Ubuntu 14.0.4 X64位服务器版
   客户端是ubuntu 14.0.4 桌面版


    由于Oracle数据库服务器是Ubuntu的服务器版,所以没有桌面环境, 这时安装界面就要在 客户端来显示, 所以必须对客户端进行相应的设置

.Client客户端设置192.168.0.100
1) vim /etc/ssh/ssh_config 去掉下面行前的#
     ForwardAgent yes
     ForwardX11 yes
     ForwardX11Trusted yes

2) 设置DISPLAY (即允许任意服务器使用Client的图形服务)
     xhost +

.服务器环境设置
1)安装一些必须 软件
     sudo  apt-get install -y zlib1g-dev
     sudo  apt-get install -y elfutils
     sudo  apt-get install -y libaio1
     sudo  apt-get install -y libaio-dev
     sudo  apt-get install -y libstdc++6-4.4-dev
     sudo  apt-get install -y numactl
     sudo  apt-get install -y pdksh
     sudo  apt-get install -y sysstat
     sudo  apt-get install -y unixODBC-dev
     sudo  apt-get install -y unixODBC
     sudo  apt-get install -y build-essential
     sudo  apt-get install -y libaio1
     sudo  apt-get install -y gawk
     sudo  apt-get install -y libmotif3
     sudo  apt-get install -y alien
     sudo  apt-get install -y libtool
     sudo apt-get install x11-utils

2)limits.conf
    a) edit /etc/pam.d/common-session and add
           session required pam_limits.so

    b) edit /etc/security/limits.conf add
          oracle soft nproc  2048
          oracle hard nproc  16384
          oracle soft nofile 4096
          oracle hard nofile 65536

3) sysctrl.conf (官方推荐配置)
   a) vim /etc/sysctrl.conf
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmni=4096
kernel.sem=250 32000 100 128
net.ipv4.ip_local_port_range=9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
kernel.shmmax=1073741824

  b) sysctl -p

4)设置/lib64与/usr/lib64

   sudo ln -s /lib/x86_64-linux-gnu /lib64   sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

.添加oracle用户
  sudo useradd -G sudo,dba,oinstall -s /bin/bash -d /home/oracle oracle


  sudo mkdir /home/oracle
  sudo chown -R oracle:oracle /home/oracle

  sudo mkdir -p /data/oracle
  sudo chown -R oracle:oinstall /data

.设置Oracle环境变量

export ORACLE_BASE=/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=orcl

export NLS_LANG="Simplified chinese_china.al32utf8"

export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH:$ORACLE_HOME/lib/


.下载Oracle  1)下载Oracle
         到Oracle官网下载Oracle Enterprise企业版         linuxamd64_12c_database_1of2.zip          linuxamd64_12c_database_2of2.zip

    2) 解压安装包
         unzip linuxamd64_12c_database_1of2.zip
         unzip linuxamd64_12c_database_2of2.zip

.安装Oracle
   cd database
   ./runInstaller.sh

.错误处理
.[Error001]
   in invoking target 'links proc gen_pcscfg procob' of makefile '/xxx/ins_precomp.mk'

   /xxx/installActions2014-05-30_03-26-18PM.log
    /xxx/libnls12.a(lxhlang.o): undefined reference to symbol '__tls_get_addr@@GLIBC_2.3'
    /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2: error adding symbols: DSO missing from command line

   解决:
      cd $ORACLE_HOME/lib
      mv stubs stubs.old


.[ERROR002]
    Error in invoking target 'all_no_orcl' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'.
      /xxx/installActions2014-05-30_03-26-18PM.log:
         /usr/bin/ld: /xxx/dbhome_1/lib//libclntsh.so: undefined reference to symbol 'ztucxtb' /xxx/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command line

    解决:
        vim $ORACLE_HOME/rdbms/lib/ins_rdbms.mk
        $(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)
             $(SILENT)$(ECHO)
             $(SILENT)$(ECHO) " - Linking password utility (orapwd)"
             $(RMF) $@
             $(ORAPWD_LINKLINE)
     修改为:

        $(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)             $(SILENT)$(ECHO)
             $(SILENT)$(ECHO) " - Linking password utility (orapwd)"             $(RMF) $@
             $(ORAPWD_LINKLINE) -lnnz12

.[ERROR003]
     Error in invoking target 'all_no_orcl' of makefile '/xxx/ins_rdbms.mk'.
     INFO: /usr/bin/ld: /xxx/libagtsh.so: undefined reference to symbol 'ssMemRealloc'
     /data/oracle/product/12.1.0/dbhome_1/lib//libclntshcore.so: error adding symbols: DSO missing from command line

     ldd /data/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so
        linux-vdso.so.1 =>  (0x00007fff1bdfe000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd007c47000)
    libclntsh.so.12.1=> not found

解决:    
1) sudoln -s/data/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so.12.1  /usr/lib64/

  2) vim $ORACLE_HOME/rdbms/lib/ins_rdbms.mk

     $(HSOTS) : $(ALWAYS) $(HSOTS_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking HS OTS agent"
        $(RMF) $@
        $(HSOTS_LINKLINE)

    Change it to as follows

     $(HSOTS) : $(ALWAYS) $(HSOTS_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking HS OTS agent"
        $(RMF) $@
        $(HSOTS_LINKLINE) -lagtsh

  3) vim $ORACLE_HOME/rdbms/lib/env_rdbms.mk
     HSOTS_LINKLINE=$(LINK) $(OPT) $(HSOTSMAI) $(HSALIB_SUBSET1) \
        $(HS_OTS_DRIVER) $(HS_XASWITCH_ORA) $(RDBMSLIB)$(XAD_OFF) \
        $(HSALIB_SUBSET2)

     Change it to as follows

     HSOTS_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(HSOTSMAI) $(HSALIB_SUBSET1) \
        $(HS_OTS_DRIVER) $(HS_XASWITCH_ORA) $(RDBMSLIB)$(XAD_OFF) \
        $(HSALIB_SUBSET2)

  4) vim $ORACLE_HOME/rdbms/lib/env_rdbms.mk
      HSDEPXA_LINKLINE=$(LINK) $(OPT) $(HSDEPMAI) $(HSALIB_SUBSET1) \
        $(HS_DEP_DRIVER) $(RDBMSLIB)$(XAD_OFF) \
        $(HSALIB_SUBSET2)

      Change it to as follows

      HSDEPXA_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed$(HSDEPMAI) $(HSALIB_SUBSET1) \
        $(HS_DEP_DRIVER) $(RDBMSLIB)$(XAD_OFF) \
        $(HSALIB_SUBSET2)

.[ERROR004]
  Error in invoking target 'all_no_orcl' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'

  INFO:  `kgfoCheckMount'
    /data/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoDestroyCtx'
    /data/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoShrinkFile'
    /data/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoControl'
    /data/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCreate2P'

    INFO: collect2: error: ld returned 1 exit status
    INFO: make: *** [/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/kfod] Error 1

解决:
    vim$ORACLE_HOME/rdbms/lib/env_rdbms.mk

    KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) $(KFODOBJ) \
        $(LIBGENERIC) $(LLIBDBTOOLS) \
        $(LIBGENERIC) $(LLIBSAGE) $(LLIBSKGXP) $(LIBCORE) \
        $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)

  Change it to as follows

    KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed$(SSKFODED) $(SKFODPT) $(KFODOBJ) \
        $(LIBGENERIC) $(LLIBDBTOOLS) \
        $(LIBGENERIC) $(LLIBSAGE) $(LLIBSKGXP) $(LIBCORE) \
        $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)

.[ERROR005]
   Error in invoking target 'all_no_orcl' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'.

   INFO: ely+0x2f86): undefined reference to `oss_finalize'
    /data/oracle/product/12.1.0/dbhome_1/lib//libasmclnt12.a(kfkl.o): In function `kfklCellScanInit':
    kfkl.c:(text.unlikely+0x3081): undefined reference to `oss_initialize'
    kfkl.c:(text.unlikely+0x30e9): undefined reference to `oss_cell_discovery_open'
    kfkl.c:(text.unlikely+0x3172): undefined reference to `oss_cell_discovery_fetch'
    /data/oracle/product/12.1.0/dbhome_1/lib//libasmclnt12.a(kfkl.o): In function `kfklCellScanNext':
    kfkl.c:(text.unlikely+0x3231): un
    INFO: defined reference to `oss_cell_discovery_fetch'
    /data/oracle/product/12.1.0/dbhome_1/lib//libasmclnt12.a(kfkl.o): In function `kfklCellScanTerm':
    kfkl.c:(text.unlikely+0x3296): undefined reference to `oss_cell_discovery_close'

    INFO: collect2: error: ld returned 1 exit status

    INFO: make: *** [/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/amdu] Error 1

  解决:
    vim$ORACLE_HOME/rdbms/lib/env_rdbms.mk
    AMDU_LINKLINE=$(LINK) $(S0MAIN) $(SSKFMUED) $(SKFMUPT) \
          $(LLIBDBTOOLS) $(LLIBCORE) $(LLIBGENERIC) $(LLIBUNLSRTL) \
          $(LLIBNLSRTL) $(LLIBCORE) $(LLIBSAGE) $(LLIBSKGXP) \
          $(LLIBNLSRTL) $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)

      Change it to as follows

    AMDU_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed$(SSKFMUED) $(SKFMUPT) \
          $(LLIBDBTOOLS) $(LLIBCORE) $(LLIBGENERIC) $(LLIBUNLSRTL) \
          $(LLIBNLSRTL) $(LLIBCORE) $(LLIBSAGE) $(LLIBSKGXP) \
          $(LLIBNLSRTL) $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)


.[ERROR006]
Error in invoking target 'all_no_orcl' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'        

INFO: /oracle/product/12.1.0/dbhome_1/lib//libasmclnt12.a(kgfk.o): In function `kgfkOssOpen':
kgfk.c:(text.unlikely+0x660b): undefined reference to `osssec_getkey'
kgfk.c:(text.unlikely+0x6680): undefined reference to `oss_open'
/data/oracle/product/12.1.0/dbhome_1/lib//libasmclnt12.a(kgfk.o): In function `kgfkOssError':
kgfk.c:(text.unlikely+0x6c4a): undefined reference to `oss_errstr'
kgfk.c:(text.unlikely+0x6c79): undefined reference to `oss_errstr'

INFO: collect2: error: ld returned 1 exit status

解决:
        KFED_LINKLINE=$(LINK) $(S0MAIN) $(SSKFEDED) $(SKFEDPT)  \
              $(LLIBDBTOOLS) $(LLIBSAGE) \
              $(LLIBSKGXP) $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)
  Change it to as follows

        KFED_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed$(SSKFEDED) $(SKFEDPT)  \
              $(LLIBDBTOOLS) $(LLIBSAGE) \
              $(LLIBSKGXP) $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)


.[ERROR007]
   Error in invoking target 'utilities' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'        

   INFO: /usr/bin/ld: /data/oracle/product/12.1.0/dbhome_1/lib//libclient12.a(kpue.o): undefined reference to symbol 'ons_subscriber_close'
   /data/oracle/product/12.1.0/dbhome_1/lib/libons.so: error adding symbols: DSO missing from command line

   INFO: collect2: error: ld returned 1 exit status

   INFO: make: *** [/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/plshprof] Error 1

  解决:
   1)
      $(PLSHPROF) : $(ALWAYS) $(PLSHPROF_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking hierarchical profiler utility (plshprof)"
        $(RMF) $@
        $(PLSHPROF_LINKLINE)

     Change it to as follows

     $(PLSHPROF) : $(ALWAYS) $(PLSHPROF_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking hierarchical profiler utility (plshprof)"
        $(RMF) $@
        $(PLSHPROF_LINKLINE) -lons


  2)
     $(RMAN) : $(ALWAYS) $(RMAN_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking recovery manager (rman)"
        $(RMF) $@
        $(RMAN_LINKLINE)

     Change to :

     $(RMAN) : $(ALWAYS) $(RMAN_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking recovery manager (rman)"
        $(RMF) $@
        $(RMAN_LINKLINE) -lons


.[Error008]
    Error in invoking target 'utilities' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'

    INFO: /usr/bin/ld: /data/oracle/product/12.1.0/dbhome_1/rdbms/lib/houzi.o: undefined reference to symbol 'ztcsh'
    /data/oracle/product/12.1.0/dbhome_1/lib/libnnz12.so: error adding symbols: DSO
    INFO:  missing from command line
    collect2: error: ld returned 1 exit status

    INFO: make: *** [/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/dg4pwd] Error 1


解决:
     $(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility"
        $(RMF) $@
        $(TG4PWD_LINKLINE)

     Change to:

     $(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility"
        $(RMF) $@
        $(TG4PWD_LINKLINE) -lnnz12

.[ERROR009]
     Error in invoking target 'utilities' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'.

     INFO: /usr/bin/ld: /data/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'nsdisc'
     /data/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: error adding symbols: DSO missing from command line

     INFO: collect2: error: ld returned 1 exit status

解决:
   1)
     $(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) "Linking external procedure agent ($@)"
        $(RMF) $@
        $(EXTPROC_LINKLINE)

      Change to:

     $(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS)
        $(SILENT)$(ECHO)
        $(SILENT)$(ECHO) "Linking external procedure agent ($@)"
        $(RMF) $@
        $(EXTPROC_LINKLINE) -lagtsh

  2)
    EXTPROC_LINKLINE=$(LINK) $(OPT) $(EXTPMAI) $(PROD_EXTPROC_OPT) \
        $(HSALIB_SUBSET1) $(HSALIB_SUBSET2)

     Change to :

    EXTPROC_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed$(EXTPMAI) $(PROD_EXTPROC_OPT) \
        $(HSALIB_SUBSET1) $(HSALIB_SUBSET2)

.[ERROR010]
     Error in invoking target 'utilities' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'.

.[ERROR011]
     Error in invoking target 'install' of makefile '/data/oracle/product/12.1.0/dbhome_1/network/lib/ins_net_server.mk'

     INFO: /usr/bin/ld: /data/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: undefined reference to symbol 'ztcr2rnd'
     /data/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command line

   解决:
    vim$ORACLE_HOME/network/lib/ins_net_server.mk    

      tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
        $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
        $(RMF) $@
        $(TNSLSNR_LINKLINE)

      change to :

     tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
        $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
        $(RMF) $@
        $(TNSLSNR_LINKLINE) -lnnz12 -lons

.[ERROR012]
  Error in invoking target 'irman ioracle' of makefile '/data/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'.

  INFO: uct/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoControl'
  /data/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoOpenFile'
  /data/oracle/product/12.1.0/dbhome_1/lib//libocrutl12.so: undefined reference to `lfieno'

  INFO: collect2: error: ld returned 1 exit status

解决:
  1)
  sudo ln -s $ORACLE_HOME/lib/libocrutl12.so /usr/lib64/

  2)
      ORACLE_LINKLINE=$(ORACLE_LINKER) $(PL_FLAGS) $(ORAMAI) $(SSORED) $(TTCSOI) \
        $(ORACLE_KERNEL_LIBS) $(LINKLDLIBS)

     Change to :

      ORACLE_LINKLINE=$(ORACLE_LINKER) -Wl,--no-as-needed$(PL_FLAGS) $(ORAMAI) $(SSORED) $(TTCSOI) \
        $(ORACLE_KERNEL_LIBS) $(LINKLDLIBS)

.执行权限设置脚本
    sudo /data/oraInventory/orainstRoot.sh
    sudo /data/oracle/product/12.1.0/dbhome_1/root.sh

[安装完成]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多