日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

[轉(zhuǎn)]ubuntu14.04(amd64)安裝Oracle

 瞻云軒 2015-04-03
困擾了一周,終于弄出來了。
網(wǎng)上教程雖多,但大都是只言片語的截取,外加個體安裝情況各異,很多地方還是需要自己解決
現(xiàn)記錄下來,給自己留檔,順便供需要的人參考
如果你還沒有安裝ubuntu系統(tǒng)或是感覺自己的ubuntu系統(tǒng)版本低,想換的話,請在分區(qū)時,把交換分區(qū)(swap)設(shè)定得大一些(最少4G)
要不在安裝oracle做前置條件檢查時,他會提示交換空間不夠,oracle要求swap最少為3.69G

*oracle的安裝前提:保證機器已安裝jdk
ubuntu linux默認有自己的OpenJdk,交給超級牛力去做就行,終端鍵入:
$sudo apt-get install openjdk-7-jre
$sudo apt-get install openjdk-7-jdk
(ps:我因為對ubuntu不熟悉,一上來自己安裝了從官網(wǎng)下的jdk 1.7_u60 for linux 所以后來機器有兩個jdk,萬幸也沒沖突,懶得理了)
jdk安完以后可以去終端看一下版本信息:
java -version
下面開始進入正題,安裝oracle:
1.更新系統(tǒng):(這步我沒做,14.04是ubuntu最新一版系統(tǒng),系統(tǒng)服務(wù)差不多都是比較新的版本,外加自己手工安過一堆deb包)
  sudo apt-get update
  sudo apt-get dist-upgrade
*2.安裝依賴包,很重要的一步
看一下自己的軟件源,因為大多數(shù)情況要在上面增加源地址,所以用gedit不用cat
sudo gedit /etc/apt/sources.list
這樣可以打開你現(xiàn)有的源列表。(注意是sources,不是source)
為了能順利安裝32位兼容包ia32-libs,需要在源中增加這些行(也有人說裝了g++-multilib就不用考慮ia32-libs了,我沒試過):
deb http://extras./ubuntu trusty main
deb-src http://extras./ubuntu trusty main
deb http://archive./ubuntu/ raring main restricted universe multiverse
更新源文件后保存。

下面就可以利用超級牛力執(zhí)行依賴包的安裝,下面的全部要裝上,否則后頭圖形界面安裝途中會報錯,仔細一個一個查一遍,終端鍵入:
sudo apt-get install bzip2
sudo apt-get install elfutils
sudo apt-get install automake
sudo apt-get install autotools-dev
sudo apt-get install binutils
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

*3.檢查系統(tǒng)變量

/sbin/sysctl -a | grep sem
/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
/sbin/sysctl -a | grep wmem_max

然后根據(jù)上面命令中得到的參數(shù)值在/etc/sysctl.conf中增加對應(yīng)數(shù)據(jù)(上面查完以后用筆記一下吧)
sudo gedit /etc/sysctl.conf

把sysctl.conf中的以下內(nèi)容用查得的值填上

fs.aio-max-nr = ?
fs.file-max = ?
kernel.shmall = ?
kernel.shmmax = ?
kernel.shmmni = ?
kernel.sem = ?
net.ipv4.ip_local_port_range = ?
net.core.rmem_default = ?
net.core.rmem_max = ?
net.core.wmem_default = ?
net.core.wmem_max = ?
運行一下命令更新內(nèi)核參數(shù):
sysctl –p
4.添加對當(dāng)前用戶的內(nèi)核限制在 /etc/security/limits.conf 文件中增加以下數(shù)據(jù)(XXX為你當(dāng)前用戶名)

XXX         soft    nproc   2047

XXX         hard    nproc   16384

XXX         soft    nofile  1024

XXX         hard    nofile  65536

XXX         soft    stack   10240
5.檢查/etc/pam.d/login,增加以下行(有了就不用增加了):
session required pam_limits.so
檢查/etc/pam.d/su,沒有以下行就自己加上:
session required pam_limits.so
6.oracle默認不支持ubuntu需要欺騙一下oracle安裝程序(看不懂沒關(guān)系,按著做就行了,我也不懂):
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/
echo ‘Red Hat Linux release 5′ > /etc/redhat-release
7.配置oracle的環(huán)境變量
sudo gedit ~/.profile
打開.profile文件,為文件中添加以下行:
#Oracle
#這個寫你后頭要安裝的路徑
export ORACLE_BASE=/home/xxx/app/xxx
export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1
#數(shù)據(jù)庫的sid
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
#環(huán)境變量
export PATH=PATH:${ORACLE_HOME}/bin/;
8.啟動oracle安裝程式開始安裝
我的安裝程序解壓在主目錄oracle11g下面
所以cd進去:cd /home/XXX/oracle11g
為了不亂碼,終端先export LANG=US一下
再運行目錄下面的runInstaller: ./runInstaller
可進入圖形化安裝界面,接著根據(jù)安裝向?qū)崾咀鼍托辛?
先決條件檢查會提示一堆fails,不用管它,直接把ignore All挑上,直接finish
這里要提一句,如果你的swap空間不夠的話,會提示交換空間不夠,不能繼續(xù)
解決方式:
可以另開一個終端用下面的命令臨時提升交換空間,再去recheck一下,就行了:
free -m
mkdir /swapfile
cd /swapfile
sudo dd if=/dev/zero of=swap bs=1024 count=400000
sudo mkswap -f swap
sudo swapon swap
9.安裝到68%時的錯
ins_ctx.mk的錯誤提示,直接contiue跳過去
后面還回報錯:
make file '/......emagent.mk'出錯
解決方法:
另開一個終端,鍵入命令行:
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
點擊安裝界面的retry,就可以繼續(xù)了
類似的后面還會提示四次,以下面的命令行如法炮制
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
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
10.安裝完成會提示有兩個sh文件需要運行:
還是另開一個終端:
sudo /home/xxx/app/xxx/oracle/oraInventory/orainstRoot.sh
sudo /home/xxx/app/xxx/oracle/Oracle11gee/product/11.2.0/dbhome_1/root.sh
安裝完成!
11.運行sqlplus前測試一下oracle的環(huán)境變量
echo $ORACLE_BASE
echo $ORACLE_HOME
echo $PATH
看看是不是你配置的值,沒問題繼續(xù)向下
12.運行數(shù)據(jù)庫前測一下監(jiān)聽狀態(tài)
如果監(jiān)聽沒打開可以用lsnrctl start開啟
lsnrctl status
正常情況會顯示監(jiān)聽信息一陀
這里如果沒有輸出,說明無監(jiān)聽,需要自己配置
解決方法:
運行 netca 可以創(chuàng)建監(jiān)聽,調(diào)出圖形界面設(shè)置監(jiān)聽
如果沒有創(chuàng)建庫此時可以dbca 創(chuàng)建數(shù)據(jù)庫.
順便運行以下代碼修復(fù) dbconsole
emca -repos drop
emca -repos create
emca -config dbcontrol db
emca start dbconsole
到此數(shù)據(jù)庫應(yīng)該就可以跑起來了
啟動oracle數(shù)據(jù)庫
sqlpus /nolog
conn / as sysdba
startup
此時會顯示你創(chuàng)建的orcl實例已經(jīng)正常加載。
13.sqldeveloper連不上oracle的問題
解決方法:使用netmgr命令
打開后Oracle Net Configuration->Local->Listeners->LISTENER->Add Address添加地址,
Protocal: TCP/IP       Host: oracle所在的IP地址      Port:1521
但是在連接時可能又報下一個異常:
ORA-12505, TNS:listener does not currently know of SID given in connect desc .
無法識別數(shù)據(jù)庫的SID
此時進入/home/xxx/app/xxx/product/10.2.0/db_1/network/admin目錄
cd  /home/xxx/app/xxx/product/10.2.0/db_1/network/admin,修改下面的listener.ora:
  SID_LIST_LISTENER =
        (SID_LIST =
             (SID_DESC =
                   (ORACLE_HOME = /home/xxx/app/xxx/product/11.2.0/dbhome_1)
                   (PROGRAM = extproc)
             )
上面的不用管只要是在這里添加藍色的這段
            (SID_DESC =
                   (GLOBAL_DBNAME = ORCL)
                   (ORACLE_HOME = /home/xxx/app/xxx/product/11.2.0/dbhome_1)
                   (SID_NAME = ORCL)
            )

        )
至此終于全部完成!

補充:關(guān)于sqldeveloper下面中文亂碼問題
參考原文:
http://blog.csdn.net/hymer2011/article/details/6888344
根本原因:是因為linux下的jre下面沒有中文字體
解決方案:從windows系統(tǒng)的fonts里面淘一個過來用
控制臺代碼:cd $JAVA_HOME/jre/lib/fonts   這里JAVA_HOME前面有$
                        sudo mkdir fallback
                        cd fallback
                        cp /home/user/msyh.ttf    ./  注:msth.ttf是微軟雅黑,拷貝其他的字庫也行,前提是支持中文
                        sudo mkfontdir
                        sudo mkfontscale
再重啟一下sqldeveloper就行了

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多