一卦停、環(huán)境
系統(tǒng):Ubuntu 14.04.5 LTS(為了貼近生產(chǎn)我裝了個Ubuntu14的服務(wù)器版本)
JDK:jdk-8u121-linux-x64.tar.gz
Oracle:linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip
工具:Xshell5拥褂、
注:以上軟件或者工具自行去相關(guān)官網(wǎng)下載
二幼驶、安裝JDK
解壓JDK
tar -zxvf jdk-8u121-linux-x64.tar.gz
注:tools這個目錄是我新建的,當(dāng)然你也可以放在別的位置
移動jdk1.8.0_121目錄到/usr/local/java,這個Java目錄是我新建的怔檩。
mv jdk1.8.0_121//usr/local/java/
接下來我們開始配置環(huán)境變量:
vi .bashrc
在文件.bashrc文件末尾處新增以下配置:
export JAVA_HOME=/usr/local/java/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
然后執(zhí)行wq!進(jìn)行保存并退出
同時記得重新刷新一下文件鼓择,輸入以下命令:
source .bashrc
檢查一下Java是否配置成功:
java -version
說明我們按照成功了兑宇,這里解釋一下為什么要裝JDK启上,因?yàn)閛racle有一部分的代碼是通過Java編寫的堂油。
三、安裝依賴包
sudo apt-get install automake //成功
sudo apt-get install autotools-dev//系統(tǒng)已經(jīng)安裝
sudo apt-get install binutils//只更新了一個文件碧绞,成功
sudo apt-get install bzip2//系統(tǒng)已經(jīng)安裝
sudo apt-get install elfutils//成功
sudo apt-get install expat//成功
sudo apt-get install gawk//系統(tǒng)已經(jīng)安裝
sudo apt-get install gcc//系統(tǒng)已經(jīng)安裝
sudo apt-get install gcc-multilib//成功
sudo apt-get install g++-multilib//成功
sudo apt-get install ia32-libs //lib32ncurses5和lib32z1代替
sudo apt-get install ksh
sudo apt-get install less
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
注:但是這五個包是32位的,需要更新源(以下操作是root用戶)
終端輸入:
sudo -i
cd /etc/apt/sources.list.d
echo "debhttp://cz.archive.ubuntu.com/ubuntu precise main universe">ia32-libs-raring.list
apt-get update
apt-get install +包名
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 //成功
安裝成功之后再還原:
rm /etc/apt/sources.list.d/ia32-libs-raring.list
apt-get update
退出當(dāng)前root用戶
root@Ubuntu14:/etc/apt/sources.list.d# exit
sudo apt-get install lib32z1//系統(tǒng)已經(jīng)安裝
sudo apt-get install libaio1//成功
sudo apt-get install libaio-dev//成功
sudo apt-get install libc6-dev//系統(tǒng)已經(jīng)安裝
sudo apt-get install libc6-dev-i386//系統(tǒng)已經(jīng)安裝
sudo apt-get install libc6-i386 //系統(tǒng)已經(jīng)安裝
sudo apt-get install libelf-dev//成功
sudo apt-get install libltdl-dev//成功
sudo apt-get install libmotif4//成功
sudo apt-get install libodbcinstq4-1 //成功
sudo apt-get install libodbcinstq4-1:i386//成功
sudo apt-get install libpth-dev//成功
sudo apt-get install libpthread-stubs0//成功
注:這個包是32位的需要更換源吱窝,我在上面已經(jīng)寫好步驟了(紫色字體部分)
apt-get install libpthread-stubs0
exit
libpthread-stubs0-dev//系統(tǒng)已經(jīng)安裝
sudo apt-get install libstdc++5//成功
sudo apt-get install lsb-cxx//成功
sudo apt-get install make//系統(tǒng)已經(jīng)安裝
sudo apt-get install openssh-server//成功
sudo apt-get install pdksh//成功
sudo apt-get install rlwrap//成功
sudo apt-get install rpm//系統(tǒng)已經(jīng)安裝
sudo apt-get install sysstat//成功
sudo apt-get install unixodbc//成功
sudo apt-get install unixodbc-dev//成功
sudo apt-get install unzip//系統(tǒng)已經(jīng)安裝
sudo apt-get install x11-utils//系統(tǒng)已經(jīng)安裝
sudo apt-get install zlibc//成功
到此依賴包就算安裝完成了讥邻,以上的這些依賴包也是可以代替的http://packages.ubuntu.com/precise/i386/ia32-libs-multiarch/download這個網(wǎng)址就是Ubuntu的軟件包源地址,有興趣的自行去研究院峡。
四兴使、配置oracle環(huán)境
1、用以下命令檢查系統(tǒng)變量(注以下的這些操作請用記事本把這些參數(shù)記錄下來)
/usr/local/java$ /sbin/sysctl -a | grep sem
/usr/local/java$ /sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep aio-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
2照激、根據(jù)上面命令中得到的參數(shù)值在/etc/sysctl.conf中增加對應(yīng)數(shù)據(jù)
cd/etc/
sudovi /etc/sysctl.conf
把以下參數(shù)添加進(jìn)去并保存文件:
kernel.sem =32000102400000050032000
kernel.shmall =18446744073692774399
kernel.shmmax =18446744073692774399
kernel.shmmni =4096
fs.file-max =96898
fs.aio-max-nr =65536
net.ipv4.ip_local_port_range= 3276860999
net.core.rmem_max= 212992
net.core.rmem_default= 212992
net.core.wmem_default= 212992
net.core.wmem_max= 212992
保存文件并退出发魄,然后運(yùn)行以下命令更新內(nèi)核參數(shù):
sysctl -p
3、添加用戶的內(nèi)核限制在/etc/security/limits.conf文件中增加以下數(shù)據(jù),注:其中shiyajing
是我ubuntu系統(tǒng)的普通用戶
cd /etc/security/
sudo vi limits.conf
打開文件之后在末尾加入以下幾行:
shiyajing????????? soft???????? nproc?????? 2047
shiyajing????????? hard??????? nproc?????? 16384
shiyajing????????? soft???????? nofile?????? 1024
shiyajing?????????? hard?????? nofile?????? 65536
shiyajing????????? soft?????????? stack?????? 10240
保存之后關(guān)閉文件窗口俩垃。
注:shiyajing這個用戶是我當(dāng)前操作的用戶励幼,網(wǎng)上有些需要建立用戶組之類的,當(dāng)然你也可以建立oracle用戶組口柳∑凰冢看個人喜好,不過也可以建立oracle用戶跃闹,這樣容易區(qū)分嵌削。
同樣的方法打開文件/etc/pam.d/login毛好,增加以下行(有了就不用增加了):
session requiredpam_limits.so
同樣檢查/etc/pam.d/su,沒有以下行就自己加上:
session requiredpam_limits.so
4苛秕、創(chuàng)建oracle需要的文件夾
shiyajing@Ubuntu14:~$ mkdir oracle11g
注:當(dāng)然你也可以自己取喜好的名字肌访,這里沒有限制。
還有oracle安裝的時候差不多要占系統(tǒng)空間8個G左右艇劫,所以盡量放在硬盤上吼驶。除非你的初始系統(tǒng)空間很大,那么不存在此問題港准。
5旨剥、為oracle配置環(huán)境變量
export ORACLE_BASE=/home/shiyajing/oracle11g
//oracle安裝目錄
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
//現(xiàn)在還看不到這個文件夾,在Oracle安裝過程中系統(tǒng)會自動創(chuàng)建浅缸,后面安裝時選擇路徑要和這里設(shè)置的一致轨帜。
export ORACLE_SID=orcl
//在安裝時會有一個設(shè)置的地方,默認(rèn)是orcl衩椒,也可以設(shè)置成其他
export ORACLE_UNQNAME=orcl
//默認(rèn)字符集
export NLS_LANG=.AL32UTF8
//環(huán)境變量
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;
6蚌父、欺騙oracle的安裝程序
Oracle本身并不支持ubuntu來安裝,所以要進(jìn)行欺騙oracle的安裝程序(sudo執(zhí)行):
sudo mkdir /usr/lib64
sudoln -s /etc /etc/rc.d
sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
sudoln -s /usr/bin/awk /bin/awk
sudoln -s /usr/bin/basename /bin/basename
sudoln -s /usr/bin/rpm /bin/rpm
sudoln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
sudoln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
sudoln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
sudoln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
到此oracle的預(yù)備工作已經(jīng)做完了毛萌。接下來開始啦苟弛。
五、開始安裝oracle
1.從官網(wǎng)下載oracle安裝包阁将,復(fù)制到/home/shiyajing/oracle11g
然后解壓:
cd /home/shiyajing/oracle11g/
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解壓之后會出現(xiàn)一個database文件夾膏秫。
2.安裝遠(yuǎn)程可視化桌面
參考資料:http://www.jb51.net/os/Ubuntu/104948.html
http://blog.csdn.net/jlds123/article/details/9064437
http://blog.csdn.net/kylin_fire_zeng/article/details/42082415
安裝vncserver
sudo apt-get install vnc4server
執(zhí)行vncserver
sudoapt-get install xfce4
cd ~/.vnc
vi xstartup
安裝完成xfce4后,修改xstartup文件做盅,如下:
sesion-manager& xfdesktop & xfce4-panel &
xfce4-menu-plugin&
xfsettingsd&
xfconfd &
xfwm4 &
執(zhí)行vncserver -kill ?:1缤削,最好重啟vncserver就可以了,由于VNC不是本文重點(diǎn)吹榴,有興趣的自行百度或者google亭敢。
3.開始在窗口中安裝oracle
進(jìn)入VNC界面
并切換到當(dāng)前安裝oracle的用戶
cd /home/shiyajing/oracle11g
cd database
./runInstaller
接著就跳出了oracle安裝界面了
把勾去掉點(diǎn)擊下一步
肯定選yes
繼續(xù)下一步,選擇第一個,也可以選擇第二個图筹,可以自行嘗試
繼續(xù)下一步帅刀,把該填的填了
下一步,默認(rèn)就好远剩,有些系統(tǒng)安裝可能沒有這一步扣溺。
下一步,把lgore all點(diǎn)上勾瓜晤。
繼續(xù)下一步
點(diǎn)擊安裝娇妓,應(yīng)該在68%的時候會報(bào)3次錯,順序不定活鹰,看清錯誤target
第一個報(bào)錯
這個問題忽略現(xiàn)在跳過哈恰,選擇continue只估。
緊接著第二個報(bào)錯出來了
Error in invoking target ‘a(chǎn)gent nmhs’ ofmakefile
‘/home/shiyajing/oracle11g/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’
解決方案:
打開新的終端窗口執(zhí)行以下命令(我這里用的是Xshell)
cd /home/shiyajing/oracle11g/product/11.2.0/dbhome_1/sysman/lib/
sudo vi ins_emagent.mk
將文件中的$(MK_EMAGENT_NMECTL)修改成$(MK_EMAGENT_NMECTL -lnnz11)即可(應(yīng)該有兩處需要修,也有可能只有一處)着绷。
然后點(diǎn)擊retry蛔钙,接著往下執(zhí)行
第三個錯誤:
解決辦法:
打開一個新的終端,輸入如下四個命令:
sudo sed -i's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1-Wl,--no-as-needed \2/g'/home/shiyajing/oracle11g/product/11.2.0/dbhome_1/network/lib/env_network.mk
sudo sed -i's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1-Wl,--no-as-needed \2/g'/home/shiyajing/oracle11g/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk
sudo sed -i 's/^\(\$LD \$LD_RUNTIME\)\(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' /home/shiyajing/oracle11g/product/11.2.0/dbhome_1/bin/genorasdksh
sudo sed -i's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g'/home/shiyajing/oracle11g/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk
//如果不行的話嘗試進(jìn)入文件路徑之后在執(zhí)行
然后在圖形界面點(diǎn)擊‘Retry’就能繼續(xù)安裝了荠医。
百分之68我們過去了吁脱,基本上后面就不會報(bào)錯了。
還有就是在cd /home/shiyajing/oraInventory/logs
這里有三個文件彬向,我們可以實(shí)時監(jiān)控安裝的過程:
tail -finstallActions2017-05-09_09-13-05PM.log
然后按照安裝程序提示最后執(zhí)行兩個腳本(這一步我只遇到一個腳本兼贡,但是并不影響):
sudo /home/shiyajing/oraInventory/orainstRoot.sh(次要)
sudo /home/shiyajing/oracle11g/product/11.2.0/dbhome_1/root.sh(主要)
一路回車就行,也可能只需要回車一次娃胆。
這個可能權(quán)限不夠遍希,不過無傷大雅。友情提醒里烦,oracle安裝的時候會占用8G的容量凿蒜,所以盡量把oracle安裝目錄放入硬盤,一般服務(wù)器都有硬盤胁黑。當(dāng)然你服務(wù)器初始化容量很大的話不存在此問題废封。
如果放入硬盤的話,記得把硬盤存放的目錄權(quán)限給當(dāng)前用戶丧蘸。否則后果你懂的漂洋,關(guān)于目錄權(quán)限命令。
例子:chown -R oracle /mnt/vdc/oracle11g
?????????? chown -R oracle /mnt/vdc/oracle11g/
六力喷、測試oracle是否安裝成功
1刽漂、先測試一下oracle的環(huán)境變量,在終端輸入命令
echo $ORACLE_BASE
echo $ORACLE_HOME
echo $PATH
看看是不是你配置的值冗懦,沒問題繼續(xù)向下。如果沒有則配置一下oracle的環(huán)境變量即可仇祭。
2披蕉、開啟監(jiān)聽器,在終端輸入命令
lsnrctl start
TNS-01106:使用偵聽器名稱偵聽器的LISTENER已經(jīng)啟動
命令lsnrctl status可以查看監(jiān)聽信息
如果沒有可以自己配置監(jiān)聽乌奇,配置文件在
cd /home/shiyajing/oracle11g/product/11.2.0/dbhome_1/network/admin/
vi listener.ora
然后按照上面的命令在啟動一次監(jiān)聽没讲。
啟動oracle數(shù)據(jù)庫
sqlplus /nolog
這里我碰到一個問題,不過有解決辦法礁苗,輸入以下命令:
sudo ln -s/home/shiyajing/oracle11g/product/11.2.0/dbhome_1/bin/sqlplus /usr/bin/sqlplus
一般是不會出現(xiàn)的爬凑,只有當(dāng)你oracle環(huán)境變量配置錯了才會出現(xiàn)的。
conn / as sysdba
以系統(tǒng)默認(rèn)用戶sysdba登錄
因?yàn)閯?chuàng)建實(shí)例的時候试伙,已經(jīng)啟動了嘁信,所以會提示下面這個錯誤于样。
創(chuàng)建用戶并設(shè)置密碼,并設(shè)置權(quán)限潘靖。
create user shiyajing identified bys123456;
grant create user,drop user,alteruser,create any view,drop anyview,exp_full_database,imp_full_database,dba,connect ,resource,create sessionto shiyajing;
exit退出.
當(dāng)然監(jiān)聽器也可以停止(lsnrctl stop)穿剖,還有重啟,自行百度卦溢。
到此Oracle已經(jīng)安裝配置成功啦糊余。
關(guān)于外網(wǎng)訪問這個自行訪問百度,網(wǎng)上很多单寂。(多么痛的領(lǐng)悟)此教程百分百成功贬芥,實(shí)戰(zhàn)實(shí)測。再次申明依賴包一定要安裝好宣决。
恩蘸劈,謝謝。
/sbin/sysctl -a | grep wmem_max