How to Install Oracle 12C Enterprise Edition Database Ubuntu 13.10
来源:互联网 发布:查看linux用户密码 编辑:程序博客网 时间:2024/05/18 10:01
Following is the how to for installing Oracle Database 12C on Ubuntu 13.10
Note : I’m not running this installation on a production environment as Ubuntu 13.10 is not supported byOracle. I needed to have a local database to play with on my local laptop.
If you want to install Oracle 11G R2 then check thisHow to Install Oracle 11G R2 Enterprise Edition Database Ubuntu 12.10 / 12.04
Step 1 : Hosts File
The “/etc/hosts” file must contain a fully qualified name for the server.
<IP-address> <fully-qualified-machine-name> <machine-name>
Sample file is as follows
Step 2 : Oracle Installation Prerequisites
Run following commands to install dependencies
sudo apt-get update
sudo apt-get dist-upgrade
Restart machine
sudo init 6
Again check if there is any update
sudo apt-get dist-upgrade
Run following to install dependencies
sudo apt-get -y install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text lib32z1 lib32ncurses5 lib32bz2-1.0 intltool-debian ksh lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip
Step 3 : Create user and groups
sudo addgroup oinstallsudo addgroup dbasudo addgroup nobodysudo usermod -g nobody nobodysudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oraclesudo mkdir /home/oraclesudo chown -R oracle:dba /home/oraclesudo mkdir -p /u01/app/oraclesudo mkdir -p /u01/binariessudo chown -R oracle:dba /u01
The following steps must be performed to set the password for the “oracle” user.
sudo passwd oracle
Step 4 : Symbolic link, Kernel parameters and shell configuration as per the Oracle 12c Documentation
Make ourself as Red Hat by running following command
echo 'Red Hat Linux release 6' | sudo tee -a /etc/redhat-release
We need to create some soft links to start the installation. To do so run the following commands,
sudo mkdir /usr/lib64sudo ln -s /etc /etc/rc.dsudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/sudo ln -s /usr/bin/awk /bin/awksudo ln -s /usr/bin/basename /bin/basenamesudo ln -s /usr/bin/rpm /bin/rpmsudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
To change the shell configuration for oracle user run following commands
sudo cp /etc/security/limits.conf /etc/security/limits.conf.originalecho "#Oracle 12C shell limits:" | sudo tee -a /etc/security/limits.confecho "oracle soft nproc 2048" | sudo tee -a /etc/security/limits.confecho "oracle hard nproc 16384"| sudo tee -a /etc/security/limits.confecho "oracle soft nofile 1024" | sudo tee -a /etc/security/limits.confecho "oracle hard nofile 65536" | sudo tee -a /etc/security/limits.conf
Run following command to change the kernel parameters
echo "#" | sudo tee -a /etc/sysctl.confecho "# Oracle 12C entries" | sudo tee -a /etc/sysctl.confecho "fs.aio-max-nr=1048576" | sudo tee -a /etc/sysctl.confecho "fs.file-max=6815744" | sudo tee -a /etc/sysctl.confecho "kernel.shmall=2097152" | sudo tee -a /etc/sysctl.confecho "kernel.shmmni=4096" | sudo tee -a /etc/sysctl.confecho "kernel.sem=250 32000 100 128" | sudo tee -a /etc/sysctl.confecho "net.ipv4.ip_local_port_range=9000 65500" | sudo tee -a /etc/sysctl.confecho "net.core.rmem_default=262144" | sudo tee -a /etc/sysctl.confecho "net.core.rmem_max=4194304" | sudo tee -a /etc/sysctl.confecho "net.core.wmem_default=262144" | sudo tee -a /etc/sysctl.confecho "net.core.wmem_max=1048586" | sudo tee -a /etc/sysctl.confecho "kernel.shmmax=1073741824" | sudo tee -a /etc/sysctl.conf
Note: kernel.shmmax = max possible value, e.g. size of physical memory in bytes. In my case machine is having 2GB so we arespecifying 1GB. Adjust the parameter as per your configuration
Load new kernel parameters, by running following,
sudo sysctl -p
We need to do changes in start-up script, run following commands as root
mkdir /etc/rc.dfor i in 0 1 2 3 4 5 6 Sdo sudo ln -s /etc/rc$i.d /etc/rc.d/rc$i.d done
Step 5 : Download Oracle 12C database for Linux
Download Oracle 12C database from Oracle Download Center for Linux.
I have downloaded both the zip in /u01/binaries.
Login as an oracle user
We need to extract both the zip to start the installation. To unzip run,
unzip linuxamd64_12c_database_1of2.zip
unzip linuxamd64_12c_database_2of2.zip
You will see database folder after extracting the binaries
Step 6 : Installation of Oracle 12C database for Linux
Before doing the installation we need to give proper permission to the extracted file, to do the same run following command
chown -Rf oracle:dba /u01/binaries
Start installation using following command
/u01/binaries/database/runInstaller -ignoreSysPrereqs
Next we go though the installation, I have skipped Oracle Support Password provision as I don’t want to receive updates.
In Selection Installation Option choose Create and configure a database and click onNext to go further
In System Class screen select Server Class and click onNext to go further
In Grid Installation Option screen select Single instance database installation and click onNext to go further
In Select Install Type screen select Advanced install and click onNext to go further
In Select Product Language screen select appropriate language and and click onNext to go further
In Select Database Edition screen I am selecting Enterprise Edition due to space issue. ClickNext to go further.
In Specify Installation Location screen, I kept it as default and clickNext to go further
In Create Inventory screen, I kept it as default and click Next to go further
In Select Configuration Type screen, select General Purpose / Transaction Processing and clickNext to proceed further.
In Specify Database Identifiers screen, let it be default and clickNext to go further. Here we need to remember the Oracle system identifier (SID)
In Specify Configuration Options configure as below:
Under Memory select Enable Automatic Memory Management: TRUE
Under Character sets select Use Unicode (AL32UTF8)
Oops we got links proc gen_pcscfg procob error
In installation error logs you will see following error.
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//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 linecollect2: error: ld returned 1 exit status
For the same you need do following
Create a backup copy of /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs.orig
Delete folder
rm -rf /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs
Create a backup copy of /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk.orig
Open /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk file in vi. Search for RMAN_LINKLINE. You will see following lines.
RMAN_LINKLINE=$(LINK) $(OPT) $(S0MAIN) $(SSKRMED) $(SKRMPT) \ $(LLIBDBTOOLS) $(LLIBCLIENT) $(LLIBSQL) $(LLIBPLSQL) \ $(LLIBSNLSRTL) $(LLIBUNLSRTL) $(LLIBNLSRTL) \ $(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS)
Now change it to as follows
RMAN_LINKLINE=$(LINK) $(OPT) $(S0MAIN) $(SSKRMED) $(SKRMPT) \ $(LLIBDBTOOLS) $(LLIBCLIENT) $(LLIBSQL) $(LLIBPLSQL) \ $(LLIBSNLSRTL) $(LLIBUNLSRTL) $(LLIBNLSRTL) \ $(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS) -lons
And click on retry button.
Further you wee see error for all_no_orcl
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: undefined reference to symbol 'ztucxtb'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/orapwd] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
So I checked the ldd output of /u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so file.
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so linux-vdso.so.1 => (0x00007fffd6aa0000) libclntshcore.so.12.1 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa13b1f8000) /lib64/ld-linux-x86-64.so.2 (0x00007fa13bcef000)
Run following command to rectify this
sudo ln -s /u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntshcore.so.12.1 /usr/lib/
Now see the linking again
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so linux-vdso.so.1 => (0x00007fff5c5fe000) libclntshcore.so.12.1 => /usr/lib/libclntshcore.so.12.1 (0x00007f133b180000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f133adb8000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f133abb3000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f133a8af000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f133a692000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f133a489000) /lib64/ld-linux-x86-64.so.2 (0x00007f133bdff000)
Further do following
Take a backup of /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk.original
Open /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk and search for Linking password utility (orapwd), you will see following lines
$(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)$(SILENT)$(ECHO)$(SILENT)$(ECHO) " - Linking password utility (orapwd)"$(RMF) $@$(ORAPWD_LINKLINE)
Now change it to as follows
$(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)$(SILENT)$(ECHO)$(SILENT)$(ECHO) " - Linking password utility (orapwd)"$(RMF) $@$(ORAPWD_LINKLINE) -lnnz12
Click on retry to go further.
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'ssMemRealloc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntshcore.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hsots] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
So I have run ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so linux-vdso.so.1 => (0x00007fff0b22a000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f11a9daf000) libclntsh.so.12.1 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f11a99e6000) /lib64/ld-linux-x86-64.so.2 (0x00007f11aa399000)
To rectify run following
sudo ln -s /u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so.12.1 /usr/lib/
Check the linking again
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so linux-vdso.so.1 => (0x00007fff09f7e000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f81b3599000) libclntsh.so.12.1 => /usr/lib/libclntsh.so.12.1 (0x00007f81b08aa000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f81b04e1000) /lib64/ld-linux-x86-64.so.2 (0x00007f81b3b83000) libnnz12.so => /u01/app/oracle/product/12.1.0/dbhome_1/lib/libnnz12.so (0x00007f81afdcb000) libons.so => /u01/app/oracle/product/12.1.0/dbhome_1/lib/libons.so (0x00007f81afb87000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f81af882000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f81af665000) libclntshcore.so.12.1 => /u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntshcore.so.12.1 (0x00007f81af115000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f81aef0c000)
Further you need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk file. Open the file using file editor and search for Linking HS OTS agent. You will see following lines.
$(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
Also you need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk file.
First take the backup of file using following command
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk.original
Now open /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk using file editor and search for HSOTS_LINKLINE. You will see following lines in the file
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'ssMemRealloc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntshcore.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hsdepxa] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for HSDEPXA_LINKLINE and you will see following lines in the file.
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: pp/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCheckMount'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoDestroyCtx'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoShrinkFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoControl'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCreate2P'collect2: error: ld returnedINFO: 1 exit statusmake: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/kfod] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for KFOD_LINKLINE and you will see following lines in the file.
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: l.c:(text.unlikely+0x3231): undefined reference to `oss_cell_discovery_fetch'/u01/app/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'collect2: error: ld returned 1 exit statusmake: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/amdu] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for AMDU_LINKLINE and you will see following lines in the file.
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: ss_finalize'/u01/app/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'/u01/app/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'collect2: error: ld returned 1 exit sINFO: tatusmake: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/kfed] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for KFED_LINKLINE and you will see following lines in the file.
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)
This time I got error for utilities
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libclient12.a(kpue.o): undefined reference to symbol 'ons_subscriber_close'/u01/app/oracle/product/12.1.0/dbhome_1/lib/libons.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/plshprof] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search for PLSHPROF and you will see following lines in the file.
$(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
Click retry to go further.
Again I got error for utilities
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/houzi.o: undefined reference to symbol 'ztcsh'/u01/app/oracle/product/12.1.0/dbhome_1/lib/libnnz12.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/dg4pwd] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search for TG4PWD and you will see following lines in the file.
$(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility" $(RMF) $@ $(TG4PWD_LINKLINE)
Change it to as follows
$(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility" $(RMF) $@ $(TG4PWD_LINKLINE) -lnnz12
Click retry to go further.
Again I got error for utilities
In the logs for above error I have observed following line
INFO: Linking external procedure agent (/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc) INFO: rm -f /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc INFO: /u01/app/oracle/product/12.1.0/dbhome_1/bin/orald -o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hormc.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/homts.o -lagtsh -lpthread -lclntsh -lclntshcore `cat /u01/app/oracle/product/12.1.0/dbhINFO: ome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.1.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/12.1.0/dbhome_1/lib -lnsgr12 INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'nsdisc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search forLinking external procedure agent and you will see following lines in the file.
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE)
Change it to as follows
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE) -lagtsh
Click retry to go further.
Again I got error for utilities
In the logs for above error I have observed following line
INFO: Linking external procedure agent (/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc) INFO: rm -f /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc INFO: /u01/app/oracle/product/12.1.0/dbhome_1/bin/orald -o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hormc.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/homts.o -lagtsh -lpthread -lclntsh -lclntshcore `cat /u01/app/oracle/product/12.1.0/dbhINFO: ome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.1.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/12.1.0/dbhome_1/lib -lnsgr12 -lagtsh INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'nsdisc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search forLinking external procedure agent and you will see following lines in the file.
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE)
Change it to as follows
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE) -lagtsh
Further we also need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk file. Open the file with text editor and search for EXTPROC_LINKLINE and you will see following lines in the file.
EXTPROC_LINKLINE=$(LINK) $(OPT) $(EXTPMAI) $(PROD_EXTPROC_OPT) \ $(HSALIB_SUBSET1) $(HSALIB_SUBSET2)
EXTPROC_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(EXTPMAI) $(PROD_EXTPROC_OPT) \ $(HSALIB_SUBSET1) $(HSALIB_SUBSET2)
How to Install Oracle 12C Enterprise Edition Database Ubuntu 13.10
Following is the how to for installing Oracle Database 12C on Ubuntu 13.10
Note : I’m not running this installation on a production environment as Ubuntu 13.10 is not supported by Oracle. I needed to have a localdatabase to play with on my local laptop.
If you want to install Oracle 11G R2 then check thisHow to Install Oracle 11G R2 Enterprise Edition Database Ubuntu 12.10 / 12.04
Step 1 : Hosts File
The “/etc/hosts” file must contain a fully qualified name for the server.
<IP-address> <fully-qualified-machine-name> <machine-name>
Sample file is as follows
Step 2 : Oracle Installation Prerequisites
Run following commands to install dependencies
sudo apt-get update
sudo apt-get dist-upgrade
Restart machine
sudo init 6
Again check if there is any update
sudo apt-get dist-upgrade
Run following to install dependencies
sudo apt-get -y install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text lib32z1 lib32ncurses5 lib32bz2-1.0 intltool-debian ksh lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip
Step 3 : Create user and groups
sudo addgroup oinstallsudo addgroup dbasudo addgroup nobodysudo usermod -g nobody nobodysudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oraclesudo mkdir /home/oraclesudo chown -R oracle:dba /home/oraclesudo mkdir -p /u01/app/oraclesudo mkdir -p /u01/binariessudo chown -R oracle:dba /u01
The following steps must be performed to set the password for the “oracle” user.
sudo passwd oracle
Step 4 : Symbolic link, Kernel parameters and shell configuration as per the Oracle 12c Documentation
Make ourself as Red Hat by running following command
echo 'Red Hat Linux release 6' | sudo tee -a /etc/redhat-release
We need to create some soft links to start the installation. To do so run the following commands,
sudo mkdir /usr/lib64sudo ln -s /etc /etc/rc.dsudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/sudo ln -s /usr/bin/awk /bin/awksudo ln -s /usr/bin/basename /bin/basenamesudo ln -s /usr/bin/rpm /bin/rpmsudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
To change the shell configuration for oracle user run following commands
sudo cp /etc/security/limits.conf /etc/security/limits.conf.originalecho "#Oracle 12C shell limits:" | sudo tee -a /etc/security/limits.confecho "oracle soft nproc 2048" | sudo tee -a /etc/security/limits.confecho "oracle hard nproc 16384"| sudo tee -a /etc/security/limits.confecho "oracle soft nofile 1024" | sudo tee -a /etc/security/limits.confecho "oracle hard nofile 65536" | sudo tee -a /etc/security/limits.conf
Run following command to change the kernel parameters
echo "#" | sudo tee -a /etc/sysctl.confecho "# Oracle 12C entries" | sudo tee -a /etc/sysctl.confecho "fs.aio-max-nr=1048576" | sudo tee -a /etc/sysctl.confecho "fs.file-max=6815744" | sudo tee -a /etc/sysctl.confecho "kernel.shmall=2097152" | sudo tee -a /etc/sysctl.confecho "kernel.shmmni=4096" | sudo tee -a /etc/sysctl.confecho "kernel.sem=250 32000 100 128" | sudo tee -a /etc/sysctl.confecho "net.ipv4.ip_local_port_range=9000 65500" | sudo tee -a /etc/sysctl.confecho "net.core.rmem_default=262144" | sudo tee -a /etc/sysctl.confecho "net.core.rmem_max=4194304" | sudo tee -a /etc/sysctl.confecho "net.core.wmem_default=262144" | sudo tee -a /etc/sysctl.confecho "net.core.wmem_max=1048586" | sudo tee -a /etc/sysctl.confecho "kernel.shmmax=1073741824" | sudo tee -a /etc/sysctl.conf
Note: kernel.shmmax = max possible value, e.g. size of physical memory in bytes. In my case machine is having 2GB so we arespecifying 1GB. Adjust the parameter as per your configuration
Load new kernel parameters, by running following,
sudo sysctl -p
We need to do changes in start-up script, run following commands as root
mkdir /etc/rc.dfor i in 0 1 2 3 4 5 6 Sdo sudo ln -s /etc/rc$i.d /etc/rc.d/rc$i.d done
Step 5 : Download Oracle 12C database for Linux
Download Oracle 12C database from Oracle Download Center for Linux.
I have downloaded both the zip in /u01/binaries.
Login as an oracle user
We need to extract both the zip to start the installation. To unzip run,
unzip linuxamd64_12c_database_1of2.zip
unzip linuxamd64_12c_database_2of2.zip
You will see database folder after extracting the binaries
Step 6 : Installation of Oracle 12C database for Linux
Before doing the installation we need to give proper permission to the extracted file, to do the same run following command
chown -Rf oracle:dba /u01/binaries
Start installation using following command
/u01/binaries/database/runInstaller -ignoreSysPrereqs
Next we go though the installation, I have skipped Oracle Support Password provision as I don’t want to receive updates.
As the Ubuntu is not supported OS we need to we are seeing the below error, just click onYes button to go ahead.
In Selection Installation Option choose Create and configure a database and click onNext to go further
In System Class screen select Server Class and click onNext to go further
In Grid Installation Option screen select Single instance database installation and click onNext to go further
In Select Install Type screen select Advanced install and click onNext to go further
In Select Product Language screen select appropriate language and and click onNext to go further
In Select Database Edition screen I am selecting Enterprise Edition due to space issue. ClickNext to go further.
In Specify Installation Location screen, I kept it as default and clickNext to go further
In Create Inventory screen, I kept it as default and click Next to go further
In Select Configuration Type screen, select General Purpose / Transaction Processing and clickNext to proceed further.
In Specify Database Identifiers screen, let it be default and clickNext to go further. Here we need to remember the Oracle system identifier (SID)
In Specify Configuration Options configure as below:
Under Memory select Enable Automatic Memory Management: TRUE
Under Character sets selectUse Unicode (AL32UTF8)
Leave default settings under Specify Database Storage Options and clickNext to go further.
Leave default settings under Specify Management Options and clickNext to go further.
Leave default settings under Specify Recovery Options and clickNext to go further.
In Specify Schema Passwords screen I choose Use the same password for all accounts because of laziness. ClickNext to go further.
Skip the warning by clicking Yes
Leave the default option under Privileged Operating System group and clickNext to go further.
Save the summary for future use and clickNext to go further.
Oops we got links proc gen_pcscfg procob error
In installation error logs you will see following error.
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//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 linecollect2: error: ld returned 1 exit status
For the same you need do following
Create a backup copy of /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs.orig
Delete folder
rm -rf /u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs
Create a backup copy of /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk.orig
Open /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk file in vi. Search for RMAN_LINKLINE. You will see following lines.
RMAN_LINKLINE=$(LINK) $(OPT) $(S0MAIN) $(SSKRMED) $(SKRMPT) \ $(LLIBDBTOOLS) $(LLIBCLIENT) $(LLIBSQL) $(LLIBPLSQL) \ $(LLIBSNLSRTL) $(LLIBUNLSRTL) $(LLIBNLSRTL) \ $(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS)
Now change it to as follows
RMAN_LINKLINE=$(LINK) $(OPT) $(S0MAIN) $(SSKRMED) $(SKRMPT) \ $(LLIBDBTOOLS) $(LLIBCLIENT) $(LLIBSQL) $(LLIBPLSQL) \ $(LLIBSNLSRTL) $(LLIBUNLSRTL) $(LLIBNLSRTL) \ $(LLIBSLAX) $(LLIBPLSQL) $(LIBPLCN) $(LINKTTLIBS) -lons
And click on retry button.
Further you wee see error for all_no_orcl
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: undefined reference to symbol 'ztucxtb'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/orapwd] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
So I checked the ldd output of /u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so file.
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so linux-vdso.so.1 => (0x00007fffd6aa0000) libclntshcore.so.12.1 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa13b1f8000) /lib64/ld-linux-x86-64.so.2 (0x00007fa13bcef000)
Run following command to rectify this
sudo ln -s /u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntshcore.so.12.1 /usr/lib/
Now see the linking again
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so linux-vdso.so.1 => (0x00007fff5c5fe000) libclntshcore.so.12.1 => /usr/lib/libclntshcore.so.12.1 (0x00007f133b180000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f133adb8000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f133abb3000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f133a8af000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f133a692000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f133a489000) /lib64/ld-linux-x86-64.so.2 (0x00007f133bdff000)
Further do following
Take a backup of /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk.original
Open /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk and search for Linking password utility (orapwd), you will see following lines
$(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)$(SILENT)$(ECHO)$(SILENT)$(ECHO) " - Linking password utility (orapwd)"$(RMF) $@$(ORAPWD_LINKLINE)
Now change it to as follows
$(ORAPWD) : $(ALWAYS) $(ORAPWD_DEPS)$(SILENT)$(ECHO)$(SILENT)$(ECHO) " - Linking password utility (orapwd)"$(RMF) $@$(ORAPWD_LINKLINE) -lnnz12
Click on retry to go further.
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'ssMemRealloc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntshcore.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hsots] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
So I have run ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so linux-vdso.so.1 => (0x00007fff0b22a000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f11a9daf000) libclntsh.so.12.1 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f11a99e6000) /lib64/ld-linux-x86-64.so.2 (0x00007f11aa399000)
To rectify run following
sudo ln -s /u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntsh.so.12.1 /usr/lib/
Check the linking again
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so linux-vdso.so.1 => (0x00007fff09f7e000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f81b3599000) libclntsh.so.12.1 => /usr/lib/libclntsh.so.12.1 (0x00007f81b08aa000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f81b04e1000) /lib64/ld-linux-x86-64.so.2 (0x00007f81b3b83000) libnnz12.so => /u01/app/oracle/product/12.1.0/dbhome_1/lib/libnnz12.so (0x00007f81afdcb000) libons.so => /u01/app/oracle/product/12.1.0/dbhome_1/lib/libons.so (0x00007f81afb87000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f81af882000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f81af665000) libclntshcore.so.12.1 => /u01/app/oracle/product/12.1.0/dbhome_1/lib/libclntshcore.so.12.1 (0x00007f81af115000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f81aef0c000)
Further you need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk file. Open the file using file editor and search for Linking HS OTS agent. You will see following lines.
$(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
Also you need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk file.
First take the backup of file using following command
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk.original
Now open /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk using file editor and search for HSOTS_LINKLINE. You will see following lines in the file
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'ssMemRealloc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntshcore.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hsdepxa] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for HSDEPXA_LINKLINE and you will see following lines in the file.
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: pp/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCheckMount'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoDestroyCtx'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoShrinkFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoControl'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCreate2P'collect2: error: ld returnedINFO: 1 exit statusmake: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/kfod] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for KFOD_LINKLINE and you will see following lines in the file.
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: l.c:(text.unlikely+0x3231): undefined reference to `oss_cell_discovery_fetch'/u01/app/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'collect2: error: ld returned 1 exit statusmake: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/amdu] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for AMDU_LINKLINE and you will see following lines in the file.
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)
Again you will see error for all_no_orcl
In the logs for above error I have observed following line
INFO: ss_finalize'/u01/app/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'/u01/app/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'collect2: error: ld returned 1 exit sINFO: tatusmake: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/kfed] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Search for KFED_LINKLINE and you will see following lines in the file.
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)
This time I got error for utilities
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libclient12.a(kpue.o): undefined reference to symbol 'ons_subscriber_close'/u01/app/oracle/product/12.1.0/dbhome_1/lib/libons.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/plshprof] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search for PLSHPROF and you will see following lines in the file.
$(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
Click retry to go further.
Again I got error for utilities
In the logs for above error I have observed following line
INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/houzi.o: undefined reference to symbol 'ztcsh'/u01/app/oracle/product/12.1.0/dbhome_1/lib/libnnz12.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/dg4pwd] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search for TG4PWD and you will see following lines in the file.
$(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility" $(RMF) $@ $(TG4PWD_LINKLINE)
Change it to as follows
$(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility" $(RMF) $@ $(TG4PWD_LINKLINE) -lnnz12
Click retry to go further.
Again I got error for utilities
In the logs for above error I have observed following line
INFO: Linking external procedure agent (/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc) INFO: rm -f /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc INFO: /u01/app/oracle/product/12.1.0/dbhome_1/bin/orald -o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hormc.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/homts.o -lagtsh -lpthread -lclntsh -lclntshcore `cat /u01/app/oracle/product/12.1.0/dbhINFO: ome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.1.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/12.1.0/dbhome_1/lib -lnsgr12 INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'nsdisc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search forLinking external procedure agent and you will see following lines in the file.
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE)
Change it to as follows
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE) -lagtsh
Click retry to go further.
Again I got error for utilities
In the logs for above error I have observed following line
INFO: Linking external procedure agent (/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc) INFO: rm -f /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc INFO: /u01/app/oracle/product/12.1.0/dbhome_1/bin/orald -o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/hormc.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/homts.o -lagtsh -lpthread -lclntsh -lclntshcore `cat /u01/app/oracle/product/12.1.0/dbhINFO: ome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.1.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/12.1.0/dbhome_1/lib -lnsgr12 -lagtsh INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libagtsh.so: undefined reference to symbol 'nsdisc'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/extproc] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'utilities' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk. Search forLinking external procedure agent and you will see following lines in the file.
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE)
Change it to as follows
$(EXTPROC): $(ALWAYS) $(EXTPROC_DEPS) $(SILENT)$(ECHO) $(SILENT)$(ECHO) "Linking external procedure agent ($@)" $(RMF) $@ $(EXTPROC_LINKLINE) -lagtsh
Further we also need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk file. Open the file with text editor and search for EXTPROC_LINKLINE and you will see following lines in the file.
EXTPROC_LINKLINE=$(LINK) $(OPT) $(EXTPMAI) $(PROD_EXTPROC_OPT) \ $(HSALIB_SUBSET1) $(HSALIB_SUBSET2)
EXTPROC_LINKLINE=$(LINK) $(OPT) -Wl,--no-as-needed $(EXTPMAI) $(PROD_EXTPROC_OPT) \ $(HSALIB_SUBSET1) $(HSALIB_SUBSET2)
Click retry to go further.
This time I got error in install
In the logs for above error I have observed following line
INFO: - Linking tnslsnr INFO: rm -f tnslsnr INFO: /u01/app/oracle/product/12.1.0/dbhome_1/bin/orald -o tnslsnr -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.1.0/dbhome_1/network/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs/ /u01/app/oracle/product/12.1.0/dbhome_1/network/lib/s0nsgl.o /u01/app/oracle/product/12.1.0/dbhome_1/network/lib/snsglp.o -lclntsh -lclntshcore `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnINFO: ro12 `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnnz12 -lzt12 -lztkg12 -lztkg12 -lclient12 -lnnetd12 -lvsn12 -lcommon12 -lgeneric12 -lmm -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnro12 `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt12INFO: -lnsgr12 -lnzjs12 -ln12 -lnl12 -lclient12 -lnnetd12 -lvsn12 -lcommon12 -lgeneric12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lclient12 -lnnetd12 -lvsn12 -lcommon12 -lgeneric12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.1.0/dbhome_1INFO: /lib -lm `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/12.1.0/dbhome_1/lib -lons -lnl12 -ln12 -lnlsnr12 -lnlsnrc12 -lnsgr12 -lncm12 -lnro12 -ln12 -lnl12 -lnlsnr12 -lnlsnrc12 -lncm12 -ln12 -lm INFO: /usr/bin/ld: /u01/app/oracle/product/12.1.0/dbhome_1/lib//libclntsh.so: undefined reference to symbol 'ztcr2rnd'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libnnz12.so: error adding symbols: DSO missing from command linecollect2: error: ld returned 1 exit status INFO: make: *** [tnslsnr] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/network/lib/ins_net_server.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
For above error we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/network/lib/ins_net_server.mk.
First take the backup of the file using following command
cp -rip /u01/app/oracle/product/12.1.0/dbhome_1/network/lib/ins_net_server.mk /u01/app/oracle/product/12.1.0/dbhome_1/network/lib/ins_net_server.mk.orig
Open /u01/app/oracle/product/12.1.0/dbhome_1/network/lib/ins_net_server.mk file and search for TNSLSNR and you will see following lines in the file.
tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP) $(SILENT)$(ECHO) " - Linking $(TNSLSNR)" $(RMF) $@ $(TNSLSNR_LINKLINE)
Change it to as follows
tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP) $(SILENT)$(ECHO) " - Linking $(TNSLSNR)" $(RMF) $@ $(TNSLSNR_LINKLINE) -lnnz12 -lons
Click retry to go further.
This time I got error in irman_oracle
In the logs for above error I have observed following line
INFO: - Linking Oracle INFO: rm -f /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/oracle INFO: /u01/app/oracle/product/12.1.0/dbhome_1/bin/orald -o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/oracle -m64 -z noexecstack -Wl,--disable-new-dtags -L/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/ -L/u01/app/oracle/product/12.1.0/dbhome_1/lib/stubs/ -Wl,-E /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/opimai.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ssoraed.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ttcsoi.o -Wl,--whole-archiINFO: ve -lperfsrv12 -Wl,--no-whole-archive /u01/app/oracle/product/12.1.0/dbhome_1/lib/nautab.o /u01/app/oracle/product/12.1.0/dbhome_1/lib/naeet.o /u01/app/oracle/product/12.1.0/dbhome_1/lib/naect.o /u01/app/oracle/product/12.1.0/dbhome_1/lib/naedhs.o /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/config.o -lserver12 -lodm12 -lcell12 -lnnet12 -lskgxp12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lclient12 -lvsn12 -lcommoINFO: n12 -lgeneric12 -lknlopt `if /usr/bin/ar tv /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap12" ; fi` -lskjcx12 -lslax12 -lpls12 -lrt -lplp12 -lserver12 -lclient12 -lvsn12 -lcommon12 -lgeneric12 `if [ -f /u01/app/oracle/product/12.1.0/dbhome_1/lib/libavserver12.a ] ; then echo "-lavserver12" ; else echo "-lavstub12"; fi` `if [ -f /u01/app/oracle/product/12.1.0/dbhome_1/lib/libavclient12.a ] ; then echo "-lavclient12" ; fi` -lknlopt -lsINFO: lax12 -lpls12 -lrt -lplp12 -ljavavm12 -lserver12 -lwwg `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnro12 `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnnzst12 -lzt12 -lztkg12 -lmm -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lztkg12 `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt1INFO: 2 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnro12 `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/ldflags` -lncrypt12 -lnsgr12 -lnzjs12 -ln12 -lnl12 -lnnzst12 -lzt12 -lztkg12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 `if /usr/bin/ar tv /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo12"; fi` -L/u01/app/oracle/product/12.1.0/dbhome_1/ctx/liINFO: b/ -lctxc12 -lctx12 -lzx12 -lgx12 -lctx12 -lzx12 -lgx12 -lordimt12 -lclsra12 -ldbcfg12 -lhasgen12 -lskgxn2 -lnnzst12 -lzt12 -lxml12 -locr12 -locrb12 -locrutl12 -lhasgen12 -lskgxn2 -lnnzst12 -lzt12 -lxml12 -lgeneric12 -loraz -llzopro -lorabz2 -lipp_z -lipp_bz2 -lippdcemerged -lippsemerged -lippdcmerged -lippsmerged -lippcore -lippcpemerged -lippcpmerged -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lsnls12 -lunls12 -lsnINFO: ls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lcore12 -lsnls12 -lnls12 -lxml12 -lcore12 -lunls12 -lsnls12 -lnls12 -lcore12 -lnls12 -lasmclnt12 -lcommon12 -lcore12 -laio -lons `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/12.1.0/dbhome_1/lib -lm `cat /u01/app/oracle/product/12.1.0/dbhome_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/12.1.0/dbhome_1/lib INFO: /INFO: u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCloseFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoShrinkFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCommit2P'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoErrorMessage'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoGetSize'/u01/app/oracle/producINFO: t/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoOpenDirty'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoIO'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCreateCtxExt'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCreate2P'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCheckHdl'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocINFO: rb12.so: undefined reference to `kgfoDestroyCtx'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoRenameFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoCreateFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoDeleteFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoFnameMax'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefinedINFO: reference to `kgfoCheckMount'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoControl'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so: undefined reference to `kgfoOpenFile'/u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrutl12.so: undefined reference to `lfieno'collect2: error: ld returned 1 exit status INFO: make: *** [/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/oracle] Error 1 INFO: End output from spawned process.INFO: ----------------------------------INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target 'irman ioracle' of makefile '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2014-03-30_03-56-25PM.log' for details.Exception Severity: 1
So I have run ldd against file /u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so linux-vdso.so.1 => (0x00007fff74de5000) libocrutl12.so => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc4a3f95000) /lib64/ld-linux-x86-64.so.2 (0x00007fc4a4651000)
To resolve above we need to run following
sudo ln -s /u01/app/oracle/product/12.1.0/dbhome_1/lib/libocrutl12.so /usr/lib
Check the linking again
oracle@vidyadhar:~$ ldd /u01/app/oracle/product/12.1.0/dbhome_1/lib//libocrb12.so linux-vdso.so.1 => (0x00007fff27f8d000) libocrutl12.so => /usr/lib/libocrutl12.so (0x00007f248bac5000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f248b6fd000) /lib64/ld-linux-x86-64.so.2 (0x00007f248bfc9000)
Further we need to do changes in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/env_rdbms.mk. Open the file and search for ORACLE_LINKLINE and you will see following lines in the file.
ORACLE_LINKLINE=$(ORACLE_LINKER) $(PL_FLAGS) $(ORAMAI) $(SSORED) $(TTCSOI) \ $(ORACLE_KERNEL_LIBS) $(LINKLDLIBS)
Change it to as follows
ORACLE_LINKLINE=$(ORACLE_LINKER) -Wl,--no-as-needed $(PL_FLAGS) $(ORAMAI) $(SSORED) $(TTCSOI) \ $(ORACLE_KERNEL_LIBS) $(LINKLDLIBS)
Click retry to go further.
Hush atleast we have almost finished the linking issues.
Now as per the instructions run the following commands with root user:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Wait for some time.
Now setup will start the Database Configuration wizard.
Finally you will see following screens which confirms the successful installation. Remember theEM Database Express URL
This is the final screen which shows that installation is completed successfully.
Step 7 : Accessing the EM console of Oracle 12C database for Linux
As show earlier open a browser and type following URL in it
https://db_ip:5500/em
You will see following screen.
Now specify the user as sys and select as sysdba. Specify the password which we have entered during the installation process.
After inserting correct password you will see following screen.
Step 8 : Starting / stopping Oracle 12C database in Linux
First find the SID by reading /etc/oratab
Sample output is as follows
oracle@vidyadhar:/u01/app$ cat /etc/oratab## This file is used by ORACLE utilities. It is created by root.sh# and updated by either Database Configuration Assistant while creating# a database or ASM Configuration Assistant while creating ASM instance. # A colon, ':', is used as the field terminator. A new line terminates# the entry. Lines beginning with a pound sign, '#', are comments.## Entries are of the form:# $ORACLE_SID:$ORACLE_HOME:<N|Y>:## The first and second fields are the system identifier and home# directory of the database respectively. The third field indicates# to the dbstart utility that the database should , "Y", or should not,# "N", be brought up at system boot time.## Multiple entries with the same $ORACLE_SID are not allowed.##orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N
In above orcl is SID
To start listener run following as oracle user
export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1export ORACLE_OWNR=oracleexport PATH=$PATH:$ORACLE_HOME/binexport ORACLE_SID=orcl$ORACLE_HOME/bin/lsnrctl start
To start database run following
sqlplus /nologconnect sys as sysdbaSTARTUP;EXIT;
To stop the database run following
sqlplus /nologconnect sys as sysdbaSHUTDOWN;EXIT;
To stop listener run following
$ORACLE_HOME/bin/lsnrctl stop
Hope this will help you.
- How to Install Oracle 12C Enterprise Edition Database Ubuntu 13.10
- Install Oracle Database 12cR2 On Oracle Enterprise Linux7.3
- oracle 12c Enterprise Manager Database Express
- ubuntu 11.10 安装Oracle Database Enterprise/Standard Edition for Linux x86
- How to Install Hadoop on Ubuntu 13.10
- How to Install Hadoop on Ubuntu 13.10
- 【Oracle Database 12c New Feature】How to Learn Oracle (12c New Feature) from Error
- EM 12c R2: How to Install Enterprise Manager Cloud Control 12.1.0.2 using GUI Mode [ID 1488154.1]
- How to add Oracle OLAP to a 12c Database? (Doc ID 1936550.1)
- How to install oracle 10g for Linux in ubuntu
- How To Install Oracle Java 7 (JDK) In Ubuntu
- How to Install Oracle Java 6 in Ubuntu 12.10
- How to Install Oracle Java JDK on Ubuntu Linux
- How to Install Oracle Java on Ubuntu Linux
- How to Install Oracle Java JDK on Ubuntu Linux
- How to Install Oracle Java JDK on Ubuntu Linux
- How to Install Oracle Java JDK on Ubuntu Linux
- (笔记)Pro Oracle Database 12c Administration Second Edition
- .net压缩文件夹及下载压缩文件
- 第一部分 底层接口之C/S网络介绍
- 序列化Demo
- 回家?
- hdu-1285 确定比赛名次
- How to Install Oracle 12C Enterprise Edition Database Ubuntu 13.10
- 快速入门C++ 07(构造器和析构器)
- ajax异步提交含有文件的表单
- 实验室基础信息系统
- 静态变量基础
- iOS 基础小结之常用控件三
- QTP退出函数
- Loadrunner中Socket协议接收定长和不定长的内容
- C语言链表各类操作详解