Ubuntu16.04安裝Oracle11g

Oracle用戶創(chuàng)建

sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle

安裝依賴

mkdir /tmp/libstdc++5
cd /tmp/libstdc++5
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-28ubuntu1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-28ubuntu1_i386.deb
sudo dpkg --force-architecture -i libstdc++5_3.3.6-28ubuntu1_i386.deb
sudo mv /usr/lib/libstdc++.so.5* /usr/lib32/
sudo dpkg -i libstdc++5_3.3.6-28ubuntu1_amd64.deb
sudo apt-get update
sudo apt-get dist-upgrade
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 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
# 以下包安裝不成功,先略過
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
sudo apt-get install libpthread-stubs0
sudo apt-get install lsb-cxx
sudo apt-get install pdksh

修改/etc/sysctl.conf增加以下內(nèi)容

kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.shmmax=1073741824
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
vm.hugetlb_shm_group = 1002

運行一下命令更新內(nèi)核參數(shù)

sudo sysctl -p

修改/etc/security/limits.conf增加以下內(nèi)容

oracle soft nproc  2047
oracle hard nproc  16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240

修改/etc/pam.d/login增加以下內(nèi)容

session required /lib/security/pam_limits.so
session required pam_limits.so

欺騙oracle的安裝程序

oracle本身并不支持ubuntu來安裝,所以要進行欺騙oracle的安裝程序(sudo執(zhí)行):

mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
vim /etc/redhat-release
echo 'Red Hat Linux release 5' > /etc/redhat-release

為Oracle配置環(huán)境變量

#oracle安裝目錄,第6步創(chuàng)建的文件夾
export ORACLE_BASE=/home/oracle/oracle11g
#網(wǎng)上說可以隨便寫
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#數(shù)據(jù)庫的sid
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
#默認字符集
export NLS_LANG=.AL32UTF8
#環(huán)境變量
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;

安裝oracle

上面的系統(tǒng)配置完成之后,最好重啟一下服務器,使用oracle用戶登陸系統(tǒng)

  1. 上傳下載好的oracle壓縮文件到/home/oracle目錄下。
  2. 進入/home/oracle目錄,執(zhí)行# unzip linux.x64_11gR2_database_1of2.zip和# unzip linux.x64_11gR2_database_2of2.zip,解壓的文件在/home/oracle/database目錄中。
  3. 設置/home/oracle/database目錄的權限:
# chown oracle:oinstall /home/oracle/database -R
# chmod 775 /home/oracle/database -R
  1. 進入/home/oracle/database目錄,執(zhí)行$ ./runInstaller,當檢查均通過,會出現(xiàn)oracle安裝界面,一路next,有一步可以選擇字符,選utf8

安裝過程可能遇到的問題

  • Oracle安裝界面亂碼解決方法
    執(zhí)行:
exportNLS_LANG=AMERICAN_AMERICA.UTF8
export LC_ALL=C
  • Error in invoking target ‘install’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/home/dong/tools/oraInventory/logs/installActions2015-01-22_09-39-03AM.log’ for details.

解決方法:

http://download.csdn.net/detail/adnerly/9467935下載,使用rpm安裝這個glibc-static-2.17-55.el7.x86_64.rpm資源,安裝即可, 然后點擊retry ,接著往下執(zhí)行
注:這是網(wǎng)上提供的解決方案,我的系統(tǒng)安裝失敗,我直接跳過了

  • Error in invoking target ‘a(chǎn)gent nmhs’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’

解決方法:

打開新的終端窗口
使用vi命令,打開/home/oracle/oracle11g/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件,將$(MK_EMAGENT_NMECTL)修改成$(MK_EMAGENT_NMECTL)-lnnz11 即可,然后點擊retry ,接著往下執(zhí)行

  • Error in invoking target ‘a(chǎn)ll_no_orcl’ of makefile ‘/home/oracle/oracle11g/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk’. See ‘/home/dong/tools/Inventory/logs/installActions2016-03-19_02-37-44PM.log’ for details.

解決辦法:

打開一個新的終端,輸入如下四個命令:

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

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

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

然后在圖形界面點擊‘Retry’就能繼續(xù)安裝了。
參考

http://www.itdecent.cn/p/9b2f601c275d

然后按照安裝程序提示最后執(zhí)行兩個腳本

sudo  /home/oracle/oraInventory/orainstRoot.sh 
sudo /home/oracle/oracle11g/product/11.2.0/dbhome_1/root.sh

創(chuàng)建監(jiān)聽,執(zhí)行$ netca啟動配置界面

參考

http://www.itdecent.cn/p/9b2f601c275d

完成之后,執(zhí)行命令$ lsnrctl start啟動監(jiān)聽服務。

創(chuàng)建數(shù)據(jù)庫實例,執(zhí)行$ dbca啟動配置界面

最后驗證是否安裝成功,瀏覽器訪問

https://192.168.1.114:1158/em

創(chuàng)建開機自動啟動數(shù)據(jù)庫的腳本

開一個普通的字符終端連接到UbuntuServer,運行如下命令:

# vi /etc/init.d/oracledb
文件內(nèi)容如下:
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface

export ORACLE_HOME=/home/oracle/oracle11g/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/oracle
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
su $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/oracle
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0

再運行如下命令設置權限,并放到啟動腳本中去:

# chmod 755 /etc/init.d/oracledb
# update-rc.d oracledb defaults 99

最后:
# vi /etc/oratab
把文件中的N改成Y,即"orcl:/opt/oracle/product/db:N"修改為"orcl:/opt/oracle/product/db:Y"。

常用命令

$ ps -ef|grep ora_|grep -v grep  -->查看oracle進程
$ ps -ef|grep tnslsnr|grep -v grep  -->查看oracle的監(jiān)聽進程
$ lsnrctl start -->啟動監(jiān)聽
$ dbstart -->啟動數(shù)據(jù)庫
$ dbstop -->停止數(shù)據(jù)庫
$ emctl start dbconsole -->啟動em控制臺
$ isqlplusctl start -->啟動pl/sql
$ sqlplus '/as sysdba' -->登錄sqlplus

$ env  -->輸出當前用戶的環(huán)境變量

$ netca -->啟用監(jiān)聽配置程序

參考文章

CentOS6.7安裝Oracle 11g2R傻瓜圖文教程
Ubuntu 14.04安裝Oracle11g 64位
ubuntu16.04安裝oracle11g
Ubuntu Server 11.04 安裝 Oracle 11g r2 圖解教程

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容