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)配置完成之后,最好重啟一下服務(wù)器讶隐,使用oracle用戶登陸系統(tǒng)鉴吹。
- 上傳下載好的oracle壓縮文件到/home/oracle目錄下劫扒。
- 進入/home/oracle目錄,執(zhí)行# unzip linux.x64_11gR2_database_1of2.zip和# unzip linux.x64_11gR2_database_2of2.zip蟋座,解壓的文件在/home/oracle/database目錄中膜眠。
- 設(shè)置/home/oracle/database目錄的權(quán)限:
# chown oracle:oinstall /home/oracle/database -R
# chmod 775 /home/oracle/database -R
- 進入/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ù)安裝了。
參考
然后按照安裝程序提示最后執(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
啟動配置界面
參考
完成之后铃将,執(zhí)行命令$ lsnrctl start啟動監(jiān)聽服務(wù)。
創(chuàng)建數(shù)據(jù)庫實例哑梳,執(zhí)行$ dbca啟動配置界面
最后驗證是否安裝成功劲阎,瀏覽器訪問
創(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
再運行如下命令設(shè)置權(quán)限鸠真,并放到啟動腳本中去:
# 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 圖解教程