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
[安装完成]