ubuntu 64 12.04 oracle,[转]Install Oracle 11g R2 on Ubuntu 12.04 64 bit

download Oracle 11gR2 Enterprise/Standard Edition

for Linux x86-64 from Oracle website.

Then extract the downloaded file:

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

A new folder named database will be extracted.

Preparing the system

We will have to:

Create required users and groups accounts

Set required system parameters in /etc/sysctl.conf

Installing complementary packages

Creating system accounts

Creating Oracle Inventory group:

sudo groupadd oinstall

Creating Oracle DBA group:

sudo groupadd dba

Creating Oracle user home and account:

sudo mkdir -p /opt/oracle

sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle

sudo passwd oracle

sudo chown -R oracle:oinstall /opt/oracle

Updating kernel parameters

Edit the file /etc/sysctl.conf as described below:

sudo gedit /etc/sysctl.conf

Add the following lines to get minimal values required by Oracle,

adjusting if required, depending of your configuration:

kernel.sem = 250 32000 100 128

kernel.shmall = 2097152

kernel.shmmni = 4096

# Replace kernel.shmmax with the half of your memory in bytes

# if lower than 4Go minus 1

# 1073741824 is 1 GigaBytes

kernel.shmmax=1073741824

# Try sysctl -a | grep ip_local_port_range to get real values

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 = 1048576

# Max value allowed, should be set to avoid IO errors

fs.aio-max-nr = 1048576

# 512 * PROCESSES / what really means processes ?

fs.file-max = 6815744

# To allow dba to allocate hugetlbfs pages

# 1001 is your oinstall group, id. grep oinstall /etc/group will give this value

vm.hugetlb_shm_group = 1001

Then, run the command below to set these kernel parameters:

sudo sysctl -p

Now, update /etc/security/limits.conf:

sudo gedit /etc/security/limits.conf

And add the following parameters:

# Oracle

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

Check that /etc/pam.d/login contains a line like this

one:

session required pam_limits.so

Now, update /etc/profile:

sudo gedit /etc/profile

And add the following lines:

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

Installing additional packages

If not already done, update your distribution with the latest

packages:

sudo apt-get update

Install the following additional packages:

sudo apt-get install alien

sudo apt-get install autoconf

sudo apt-get install automake

sudo apt-get install autotools-dev

sudo apt-get install binutils

sudo apt-get install bzip2

sudo apt-get install doxygen

sudo apt-get install elfutils

sudo apt-get install expat

sudo apt-get install gawk

sudo apt-get install gcc

sudo apt-get install gcc-multilib

sudo apt-get install g++-multilib

sudo apt-get install ia32-libs

sudo apt-get install ksh

sudo apt-get install less

sudo apt-get install lesstif2

sudo apt-get install lesstif2-dev

sudo apt-get install lib32z1

sudo apt-get install libaio1

sudo apt-get install libaio-dev

sudo apt-get install libc6-dev

sudo apt-get install libc6-dev-i386

sudo apt-get install libc6-i386

sudo apt-get install libelf-dev

sudo apt-get install libltdl-dev

sudo apt-get install libmotif4

sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386

sudo apt-get install libpth-dev

sudo apt-get install libpthread-stubs0

sudo apt-get install libpthread-stubs0-dev

sudo apt-get install libstdc++5

sudo apt-get install lsb-cxx

sudo apt-get install make

sudo apt-get install openssh-server

sudo apt-get install pdksh

sudo apt-get install rlwrap

sudo apt-get install rpm

sudo apt-get install sysstat

sudo apt-get install unixodbc

sudo apt-get install unixodbc-dev

sudo apt-get install unzip

sudo apt-get install x11-utils

sudo apt-get install zlibc

Preventing from installation errors

To prevent from error

genclntsh: Failed to link libclntsh.so.11.1 in make file for

rdbms/lib/ins_rdbms.mk

beacause of missing library: /usr/bin/ld: cannot find

/usr/lib64/libpthread_nonshared.a inside

we need to create a symlink for /usr/lib64:

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

To help preventing from error lib//libagtsh.so: undefined

reference to `nnfyboot' in make: rdbms/lib/dg4odbc] Error

1

sudo ln -sf /bin/bash /bin/sh

sudo ln -s /usr/bin/awk /bin/awk

sudo ln -s /usr/bin/rpm /bin/rpm

sudo ln -s /usr/bin/basename /bin/basename

To prevent from # /lib64/libgcc_s.so.1: File or directory

does not exists, while creating lib/liborasdkbase.so.11.1 in

ins_rdbms.mk, execute the command:

cd /lib64

sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .

Now reboot your system to be sure these parameters will be

taken in account for the next part of the installation.

Others configurations

Connect as Oracle user and set some default startup file

sudo su - oracle

cd

touch .bashrc

ln -s .bashrc .bash_profile

Edit .bashrc file:

vi .bashrc

And add the following line:

umask 022

Execute the .bashrc file or restart a bash shell

source .bashrc

Installing Oracle

Now we can start the installation of the Oracle 10g archive.

Allow others users to connect to your X session, by entering in a

bash shell:

xhost +

Then, login as oracle user:

su - oracle

Go in the extracted database folder and run the following

commands:

export DISPLAY=:0

./runInstaller

Then, Oracle installer should start in graphic mode.

Once you will reach the "pre-reqs" screen, check "Ignore all" to

continue the installation.

Then, you will encounter some issues here-

Solving compilation/link errors

If you have not created the symbolic links above, you will

have

To solve error lib//libagtsh.so: undefined

reference to `nnfyboot' in make: rdbms/lib/dg4odbc] Error 1.

For this, create the symbolic links and execute the commands:

export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1

cd $ORACLE_HOME/lib

ln -s libclient11.a libagtsh.a

Now we will encounter many errors due to indirect library linking:

To solve error # libnnz11.so: could not read symbols:

Invalid operation /sysman/lib/ins_emagent.mk, enter the

command:

export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1

sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

To solve error # nsglsn.c:(.text+0xc29): undefined reference

to `ons_subscriber_close' /network/lib/ins_net_server.mk, enter

the command:

sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk

To solve error # libocrutl11.so: undefined reference to

`lfifcp' rdbms/lib/ins_rdbms.mk, enter the commands:

sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk

You also need to execute the following commands to prevent from

later errors:

sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh

sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk

Finishing the installation

The install process will finally ask you to execute scripts as root

user, just do so:

# sudo /opt/oracle/oraInventory/orainstRoot.sh

# sudo /opt/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

You should be able to access database web interface through the URL

https://localhost:1158/em

Before that, need to run the dbconsole from terminal-

#emctl

start dbconsole

Now, add the following variable declaration in your oracle user

.profile, .bashrc or .bash_profile

scripts:

export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

export PATH=$PATH:$ORACLE_HOME/bin

Then start a new shell or execute one of the updated files:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值