環(huán)境:Ubuntu 16.04
安裝版本:Oracle 12.2.0.1
Step 1 : Installation of Java8? for Linux
Java 8 下載地址(建議不要下載太高版本)
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
創(chuàng)建解壓縮目錄
ljing@ubuntu:~$ sudo mkdir /usr/lib/jvm
安裝包默認(rèn)下載目錄是在/home/Downloads 下
ljing@ubuntu:~$ cd ./Downloads
ljing@ubuntu:~/Downloads$ ls
jdk-8u221-linux-x64.tar.gz
在當(dāng)前目錄下進(jìn)行解壓
ljing@ubuntu:~$ sudo? tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm
去目錄下面查看下
ljing@ubuntu:~$ cd /usr/lib/jvm
ljing@ubuntu:/usr/lib/jvm$ ls
jdk1.8.0_221
在/bin目錄下創(chuàng)建java軟鏈接
ljing@ubuntu:~$ cd /bin
ljing@ubuntu:/bin$ sudo ln -s /usr/lib/jvm/jdk1.8.0_221/bin/java java
in -s 命令的含義 參考 https://blog.csdn.net/u013850277/article/details/81317231
它的功能是為某一個文件在另外一個位置建立一個同步的鏈接鹏控,這個命令最常用的參數(shù)是-s,具體用法是:ln -s 源文件 目標(biāo)文件
使用場景
當(dāng) 我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件欺劳,我們只要在某個固定的目錄圈匆,放上該文件,然后在其它的 目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間湖苞。
例如:ln -s /bin/less /usr/local/bin/less
-s 是代號(symbolic)的意思烹吵。
這里有兩點要注意:第一碉熄,ln命令會保持每一處鏈接文件的同步性,也就是說肋拔,不論你改動了哪一處烹俗,其它的文件都會發(fā)生相同的變化;第二响驴,ln的鏈接又軟鏈接 和硬鏈接兩種羔杨,軟鏈接就是ln -s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間窿吩,硬鏈接ln ** **,沒有參數(shù)-s, 它會在你選定的位置上生成一個和源文件大小相同的文件茎杂,無論是軟鏈接還是硬鏈接,文件都保持同步變化纫雁。
如果你用ls察看一個目錄時煌往,發(fā)現(xiàn)有的文件后面有一個@的符號,那就是一個用ln命令生成的文件轧邪,用ls -l命令去察看刽脖,就可以看到顯示的link的路徑了悼粮。
驗證軟件接的正確性
ljing@ubuntu:/bin$ java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
成功
設(shè)置Java環(huán)境
ljing@ubuntu:~$ sudo gedit /etc/profile
在文件末尾添加如下內(nèi)容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
修改后點擊右上角的save 保存,然后關(guān)閉
然后執(zhí)行如下命令
ljing@ubuntu:~$ source /etc/profile
ljing@ubuntu:~$ echo $JAVA_HOME
/usr/lib/jvm/jdk1.8.0_221
Step 2 : Oracle Installation Prerequisites
運行以下命令來安裝依賴項
ljing@ubuntu:~$ sudo apt-get update
注意:不考慮以前的依賴執(zhí)行dist-upgrade 曾棕,如果考慮到已經(jīng)安裝的內(nèi)容扣猫,不希望依賴被更新可以使用upgrade
ljing@ubuntu:~$ sudo apt-get dist-upgrade
說明:
#apt-get update
是更新源列表的命令,如果您修改源列表或者想要進(jìn)行同步刷新或添加新的ppa源翘地,那么您應(yīng)該執(zhí)行上面的命令申尤。
#apt-get upgrade
命令將嘗試下載在apt服務(wù)器上具有更新的所有軟件包,然后嘗試按下“y”時安裝它們衙耕。這就像系統(tǒng)升級到新包昧穿。
#apt-get dist-upgrade
dist-upgrade命令也算更新所有軟件包,不同的是:當(dāng)upgrade更新時橙喘,如果依賴關(guān)系無法解決時可能會報錯或者停止时鸵,但是dist-upgrade命令可以自動解決依賴關(guān)系,所以dist-update有一定的危險性厅瞎,因為可能會更新很多您不希望更新的軟件饰潜,導(dǎo)致原來的一些需要依賴舊包的軟件無法運行,所有和簸,使用apt-get dist-upgrade時彭雾,請慎重使用,一般是 apt-get update && apt-get upgrade 可以保證系統(tǒng)的完整性锁保。
繼續(xù)上面的操作
重啟系統(tǒng)
ljing@ubuntu:~$ sudo init 6
關(guān)于重啟 init 6 和 reboot的區(qū)別
“init 6″基于一系列/etc/inittab文件薯酝,并且每個應(yīng)用都會有一個相應(yīng)shutdown腳本。
“init 6″調(diào)用一系列shutdown腳本(/etc/rc0.d/K*)來使系統(tǒng)優(yōu)雅關(guān)機(jī)爽柒;
“reboot”并不執(zhí)行這些過程吴菠,reboot更是一個kernel級別的命令,不對應(yīng)用使用shutdown腳本浩村。
所以我們應(yīng)該在通常情況下使用 init 6做葵。
在出問題的狀況下或強(qiáng)制重啟時使用reboot。
再次檢查更新
ljing@ubuntu:~$ sudo apt-get dist-upgrade
安裝環(huán)境所需要的安裝包
說明:因為不同版本的Ubuntu穴亏,或者不同的Redhat蜂挪,安裝不同版本的Oracle重挑,所需的依賴包不同嗓化,網(wǎng)上也沒有準(zhǔn)確整理的內(nèi)容,以下內(nèi)容僅供參考谬哀,報錯可以不用處理刺覆,在后面正式安裝的時候報錯出現(xiàn)缺少什么包在安裝即可。
以下為我執(zhí)行成功的安裝史煎,后面沒有再報錯缺少安裝包谦屑,可參考
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
報錯詳情:
ljing@ubuntu:~$ sudo apt-get install ia32-libs
E: Package 'ia32-libs' has no installation candidate
報錯原因:
ubuntu 13 之后驳糯,64位系統(tǒng)下無法安裝ia32-libs庫,提示沒有可用的軟件包氢橙,可以用 iceweasel:i386 代替
解決辦法:
1酝枢、首先判斷在用的架構(gòu)
ljing@ubuntu:~$ sudo dpkg --print-architecture
amd64
2、添加架構(gòu)
ljing@ubuntu:~$ sudo dpkg --add-architecture i386
3悍手、添加i386架構(gòu)帘睦,然后刷新下源列表
ljing@ubuntu:~$ sudo apt-get update
這時就已經(jīng)包含i386的軟件列表
4、安裝i386
ljing@ubuntu:~$ sudo apt-get install iceweasel:i386
成功
繼續(xù)執(zhí)行后面的命令
sudo apt-get install ksh
sudo apt-get install less
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 libodbcinstq4-1 libodbcinstq4-1:i386
sudo apt-get install libpth-dev
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libstdc++5
sudo apt-get install make
sudo apt-get install openssh-server
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
Step 3 : Create user and groups
可以先查看下當(dāng)前系統(tǒng)存在的用戶和用戶組
查看用戶組:
ljing@ubuntu:~$ sudo cat /etc/group
查看用戶:
ljing@ubuntu:~$ sudo cat /etc/passwd
擴(kuò)展坦康,如果需要刪除用戶或用戶組可使用下面的命令進(jìn)行刪除
刪除組
root@ubuntu:~# groupdel asmdba
刪除用戶
root@ubuntu:~# userdel oracle
ljing@ubuntu:~$ sudo addgroup oinstall
##說明:創(chuàng)建組竣付,這里沒有指定組號,會默認(rèn)遞增 oinstall 的組號是1001
sudo addgroup dba
sudo addgroup oper
sudo addgroup nobody
sudo usermod -g nobody nobody
sudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
sudo mkdir /home/oracle
sudo chown -R oracle:dba /home/oracle
##授權(quán)
sudo mkdir -p /u01/app/oracle
sudo mkdir -p /u01/binaries
sudo chown -R oracle:dba /u01
為oracle用戶創(chuàng)建密碼:輸入兩次
sudo passwd oracle
Step 4 : Symbolic link, Kernel parameters and shell configuration as per the Oracle 12c Documentation
運行以下命令進(jìn)行偽裝Ubuntu系統(tǒng)
ljing@ubuntu:~$ echo 'Red Hat Linux release 6' | sudo tee -a /etc/redhat-release
運行以下命令為啟動環(huán)境所需的安裝包創(chuàng)建鏈接
ljing@ubuntu:~$ sudo mkdir /usr/lib64
ljing@ubuntu:~$ sudo ln -s /etc /etc/rc.d
ljing@ubuntu:~$ sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ljing@ubuntu:~$ sudo ln -s /usr/bin/awk /bin/awk
ljing@ubuntu:~$ sudo ln -s /usr/bin/basename /bin/basename
ljing@ubuntu:~$ sudo ln -s /usr/bin/rpm /bin/rpm
ljing@ubuntu:~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ljing@ubuntu:~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ljing@ubuntu:~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ljing@ubuntu:~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
配置全局環(huán)境變量
ljing@ubuntu:~$ sudo gedit /etc/profile
在文件末尾添加如下內(nèi)容
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
export ORACLE_OWNR=oracle
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
然后執(zhí)行如下命令
source /etc/profile
運行以下為oracle用戶改變一些系統(tǒng)參數(shù)
sudo cp /etc/security/limits.conf /etc/security/limits.conf.original
echo "#Oracle 12C shell limits:" | sudo tee -a /etc/security/limits.conf
echo "oracle soft nproc 2048" | sudo tee -a /etc/security/limits.conf
echo "oracle hard nproc 16384"| sudo tee -a /etc/security/limits.conf
echo "oracle soft nofile 1024" | sudo tee -a /etc/security/limits.conf
echo "oracle hard nofile 65536" | sudo tee -a /etc/security/limits.conf
echo "oracle soft stack 10240" | sudo tee -a /etc/security/limits.conf
echo "oracle hard stack 32768" | sudo tee -a /etc/security/limits.conf
運行以下命令改變內(nèi)核參數(shù)
echo "#" | sudo tee -a /etc/sysctl.conf
echo "# Oracle 12C entries" | sudo tee -a /etc/sysctl.conf
echo "fs.aio-max-nr=1048576" | sudo tee -a /etc/sysctl.conf
echo "fs.file-max=6815744" | sudo tee -a /etc/sysctl.conf
echo "kernel.shmall=2097152" | sudo tee -a /etc/sysctl.conf
echo "kernel.shmmni=4096" | sudo tee -a /etc/sysctl.conf
echo "kernel.sem=250 32000 100 128" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range=9000 65500" | sudo tee -a /etc/sysctl.conf
echo "net.core.rmem_default=262144" | sudo tee -a /etc/sysctl.conf
echo "net.core.rmem_max=4194304" | sudo tee -a /etc/sysctl.conf
echo "net.core.wmem_default=262144" | sudo tee -a /etc/sysctl.conf
echo "net.core.wmem_max=1048586" | sudo tee -a /etc/sysctl.conf
echo "kernel.shmmax=1073741824" | sudo tee -a /etc/sysctl.conf
為使改變數(shù)據(jù)生效滞欠,執(zhí)行:
sudo sysctl -p
創(chuàng)建啟動腳本
sudo mkdir /etc/rc.d
for i in 0 1 2 3 4 5 6 S
do sudo ln -s /etc/rc$i.d /etc/rc.d/rc$i.d
done
重啟后用oracle用戶登錄古胆。
重啟系統(tǒng)
ljing@ubuntu:~$ sudo init 6
Step 5 : Download Oracle 12C database for Linux
下載oracle文件【注意不要下載錯】
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
下載文件名:
linuxx64_12201_database.zip
創(chuàng)建安裝路徑
sudo mkdir -p /home/oracle/orainst/12.2.0.1
報錯詳情:
oracle is not in the sudoers file.? This incident will be reported.
報錯原因:
其中oracle是你當(dāng)前的用戶名,也就是你的用戶名不在sudoers組中筛璧,沒有權(quán)限使用sudo命令逸绎。
解決辦法:只要修改一下/etc/sudoers文件就行了。
1.進(jìn)入超級用戶模式夭谤。也就是輸入"su-",系統(tǒng)會讓你輸入超級用戶密碼桶良,輸入密碼后就進(jìn)入了超級用戶模式。(注:您也可以直接用root登錄)沮翔;
2.添加文件的寫權(quán)限陨帆,因為sudoers這個文件只允許讀,不允許寫入采蚀。輸入命令"chmod u+w /etc/sudoers"疲牵;
3.編輯/etc/sudoers文件。輸入命令"vi/etc/sudoers",輸入"i"進(jìn)入編輯模式榆鼠,找到這一行:"root ALL=(ALL) ALL"纲爸,在這行下面添加"xxxALL=(ALL) ALL"(這里的xxx是你的用戶名),然后按Esc鍵妆够,輸入":wq"识啦,保存退出;
4.撤銷文件的寫權(quán)限神妹,還原文件的讀寫狀態(tài)颓哮。輸入命令"chmod u-w /etc/sudoers"(一定要記得撤銷,否則可能引起其他問題)
進(jìn)入到下載目錄(默認(rèn)在Home/Downloads目錄下鸵荠,注意大寫)冕茅,把下載好的文件移動到安裝路徑
ljing@ubuntu:~$ cd ./Downloads
##注意:用戶問題,我是在ljing用戶下下載的安裝包,默認(rèn)存放在該用戶的xx目錄下姨伤,所以移動命令要在ljing用戶下執(zhí)行
ljing@ubuntu:~/Downloads$ sudo mv linuxx64_12201_database.zip /home/oracle/orainst/12.2.0.1
切換到Oracle用戶下對壓縮包進(jìn)行解壓
oracle@ubuntu:~$ cd /home/oracle/orainst/12.2.0.1/
oracle@ubuntu:~/orainst/12.2.0.1$ sudo unzip linuxx64_12201_database.zip
解壓完成后哨坪,執(zhí)行l(wèi)s命令查看是否有database文件夾
ls
Step 6 : Installation of Oracle 12C database for Linux
改變文件路徑所屬的用戶組為oracle用戶的dba組
root@ubuntu:~# chown -Rf oracle:dba /home/oracle/orainst/12.2.0.1
執(zhí)行以下命令解決安裝界面亂碼
oracle@ubuntu:~$ export LANG=US
執(zhí)行以下命令開始安裝
/home/oracle/orainst/12.2.0.1/database/runInstaller -ignoreSysPrereqs
這里還遇到過一個錯,很神奇的錯乍楚,什么256個顏色当编?網(wǎng)上找了方法試了沒成功,重新打開一個窗口再執(zhí)行就正常了
安裝過程如下:
剛開始就報錯徒溪。凌箕。哦,不词渤,是警告牵舱,點擊yes 繼續(xù)!
1.是否接受郵件缺虐,不用選芜壁,next,彈框選yes
2.選擇默認(rèn)值:Create and configure a database高氮,然后next
3.選擇Server class 慧妄,然后next
4.選擇默認(rèn)值:Single instance database installation,然后next
5.選擇 Advanced install剪芍,然后next
6.選擇默認(rèn)值Enterprise Edition塞淹,然后next
7.不用修改,next
報錯空間不足
這里罪裹,我誤刪了文件饱普,然后重裝了虛擬機(jī),給分配了100G的空間
推薦分區(qū)工具gparted
界面長這樣状共,ps:真的很喜歡Ubuntu的界面
使用可參考【https://blog.csdn.net/start_0912/article/details/82703938】
解決以后繼續(xù)
8.不用修改套耕,next
9.選擇默認(rèn)值 General Purpose / Transaction Processing ,next
10.這里會有一個默認(rèn)創(chuàng)建容器數(shù)據(jù)庫的勾選(容器數(shù)據(jù)庫是12c的新特性)峡继,先取消冯袍,next
11.按照當(dāng)前建議值設(shè)置,不需要修改
按照默認(rèn)值碾牌,Use Unicode (AL32UTF8)
不勾選 Install sample schemas in the database康愤,next
12.按照默認(rèn)值,選擇File system 舶吗,next
13.不設(shè)置征冷,next
14.next
15.選擇 Use the same password for all accounts,設(shè)置密碼裤翩,next资盅,忽略警告
16.這里就是之前我們創(chuàng)建的用戶組调榄,next
17.install
18.安裝踊赠,等報錯中....(這一步真的耗費了最多時間的)
出現(xiàn)第一個報錯
查看日志
oracle@ubuntu:/u01/app/oraInventory/logs$ tail installActions2019-08-18_11-53-46PM.log
efined reference to `naecta'
collect2: error: ld returned 1 exit status
make: *** [wrap] Error 1
INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/12.2.0/dbhome_1/plsql/lib/ins_plsql.mk'. See '/u01/app/oraInventory/logs/installActions2019-08-18_11-53-46PM.log' for details.
Exception Severity: 1
oracle@ubuntu:/u01/app/oracle/product/12.2.0/dbhome_1/install$ tail make.log
naeu.c:(text.unlikely+0x456d): undefined reference to `naeetau'
/u01/app/oracle/product/12.2.0/dbhome_1/lib//libn12.a(naeu.o): In function `naeucah_terminate_checksum':
naeu.c:(text.unlikely+0x4bed): undefined reference to `naecta'
/u01/app/oracle/product/12.2.0/dbhome_1/lib//libn12.a(naeu.o): In function `naeueai_delt':
naeu.c:(text.unlikely+0x4fc6): undefined reference to `naeetau'
/u01/app/oracle/product/12.2.0/dbhome_1/lib//libn12.a(naeu.o): In function `naeucak_delt':
naeu.c:(text.unlikely+0x5026): und
efined reference to `naecta'
collect2: error: ld returned 1 exit status
make: *** [wrap] Error 1
這個報錯比較多的是Oracle9i安裝遇到的呵扛,然后很蒙,困擾了很久筐带,然后可能是gcc安裝版本過高導(dǎo)致今穿,因為可以安裝多個版本并可以自由切換,類似安裝多個jdk一樣伦籍,我安裝的是4.4蓝晒,成功解決這個問題,詳細(xì)過程如下:
1帖鸦、首先安裝一些依賴包
sudo apt-get install ncurses-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install build-essential
2芝薇、下載所需gcc版本的相關(guān)源文件,列表如下(我這里要安裝的是gcc 4.4.7作儿,gcc下載列表:下載地址:【http://archive.ubuntu.com/ubuntu/pool/universe/g/】):
這里可能需要注意下自己Ubuntu在用的架構(gòu)洛二,來選擇要安裝的內(nèi)容,我是asm64攻锰,所以選的都是后綴asm64的
ljing@ubuntu:~$ sudo dpkg --print-architecture
amd64
下載下面幾個:
cpp-4.4_4.4.7-8ubuntu1_amd64.deb
g++-4.4_4.4.7-8ubuntu1_amd64.deb
gcc-4.4_4.4.7-8ubuntu1_amd64.deb
gcc-4.4-base_4.4.7-8ubuntu1_amd64.deb
libstdc++6-4.4-dev_4.4.7-8ubuntu1_amd64.deb
3晾嘶、新建一個文件夾,把這些deb包拷貝進(jìn)去娶吞,在終端進(jìn)入該文件夾垒迂,執(zhí)行如下命令:
sudo dpkg -i *.deb
使用ls /usr/bin/gcc* -ll查看結(jié)果如下:
4、使用如下命令增加gcc 4.4和gcc 4.8的可選項(此處應(yīng)根據(jù)自己系統(tǒng)中已有的gcc版本來進(jìn)行操作):
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30
5妒蛇、使用如下命令切換版本到gcc-4.4
update-alternatives --config gcc
顯示如下机断,輸入1即是自己需求的gcc 4.4版本:
6.查看當(dāng)前使用gcc版本
gcc --version
解決了!P宥帷:晾隆!@值肌?喽 !
我可能是手殘物臂,不小心點了Abort旺拉,然后退出安裝了,這時候再重新安裝會報一個錯棵磷,(忘了截圖)
【?ins_32016】主要原因是剛剛安裝的時候已經(jīng)在Oracle主目錄寫入內(nèi)容了導(dǎo)致蛾狗,需要刪除 /u01/app/oracle 目錄下內(nèi)容即可
oracle@ubuntu:/u01/app/oracle$ rm -rf product/
還會有個報錯,與上面類似仪媒,也是需要執(zhí)行刪除
oracle@ubuntu:/u01/app$ rm -rf oraInventory/
報錯如下
刪除以后沉桌,可以back谢鹊,然后再next,就不會報錯了
就在我以為他要成功了的時候留凭,又報錯了
根據(jù)提示查看日志
root@ubuntu:~# tail /u01/app/oracle/cfgtoollogs/netca/trace_OraDB12Home1-1908201AM0121.log
[main] [ 2019-08-20 01:01:26.896 PDT ] [ConfigureListener.isPortFree:1155]? Checking if port 1521 is free on local machine...
[main] [ 2019-08-20 01:01:26.901 PDT ] [ConfigureListener.isPortFree:1170]? InetAddress.getByName(127.0.0.1): /127.0.0.1
[main] [ 2019-08-20 01:01:26.902 PDT ] [ConfigureListener.isPortFree:1172]? Local host IP address: ubuntu/127.0.1.1
[main] [ 2019-08-20 01:01:26.902 PDT ] [ConfigureListener.isPortFree:1174]? Local host name: ubuntu
[main] [ 2019-08-20 01:01:26.909 PDT ] [ConfigureListener.isPortFree:1246]? No IP address returned for local host.
[main] [ 2019-08-20 01:01:26.909 PDT ] [ConfigureListener.isPortFree:1250]? Creating ServerSocket on Port:1521, Local IP Address: /127.0.0.1
[main] [ 2019-08-20 01:01:26.909 PDT ] [ConfigureListener.isPortFree:1254]? Created ServerSocket successfully.
[main] [ 2019-08-20 01:01:26.909 PDT ] [ConfigureListener.isPortFree:1260]? Creating ServerSocket on Port:1521
[main] [ 2019-08-20 01:01:26.909 PDT ] [ConfigureListener.isPortFree:1263]? Created ServerSocket successfully.
[main] [ 2019-08-20 01:01:26.910 PDT ] [ConfigureListener.isPortFree:1283]? Returning is Port 1521 free: false
有人說是因為防火墻開啟導(dǎo)致得佃扼,查看防火墻狀態(tài):
oracle@ubuntu:~$ sudo ufw status
Status: inactive
關(guān)閉的,不是防火墻的問題
查看當(dāng)前防火墻狀態(tài)
? 在Ubuntu中 我們使用sudo ufw status命令查看當(dāng)前防火墻狀態(tài);inactive狀態(tài)是防火墻關(guān)閉狀態(tài) active是開啟狀態(tài)蔼夜。
開啟防火墻
? 在Ubuntu中 我們使用sudo ufw enable命令來開發(fā)防火墻 通過sudo ufw status命令查看開啟防火墻后的狀態(tài)為active 說明防火墻開啟成功兼耀。
關(guān)閉防火墻
在Ubuntu中 我們使用sudo ufw disable命令來關(guān)閉防火墻。執(zhí)行該命令之后 我們使用sudo ufw status命令來查看當(dāng)前防火墻的狀態(tài) 如果是inactive 說明我們的防火墻已經(jīng)關(guān)閉掉了求冷。
最后解決辦法瘤运,講真,我也不知道為什么匠题。拯坟。。
參考網(wǎng)址【https://community.oracle.com/message/12990379】
先創(chuàng)建文件夾/etc/oracle韭山,然后用root給他777的權(quán)限
oracle@ubuntu:~$ sudo mkdir /etc/oracle
root@ubuntu:/etc# chmod 777 oracle/
然后就等著吧郁季,需要等一會,終于100%B痈纭9ぁ!续搀!
19.成功
啟動監(jiān)聽
oracle@ubuntu:~$ lsnrctl start
登陸數(shù)據(jù)庫
oracle@ubuntu:~$ sqlplus sys/sys as sysdba
SQL> select 1 from dual;
歐耶塞琼!
最后,總結(jié)一下我遇到的幾個問題禁舷,
1.Ubuntu全屏問題
我常用的命令是
xrandr
xrandr -s 1920x1200
注意后面這條命令要根據(jù)自己屏幕分辨率選擇彪杉,而且他只能識別第一個命令列出的分辨率,還有就是這個命令只能在當(dāng)前登陸用戶下執(zhí)行牵咙,其他用戶執(zhí)行無效
2.Ubuntu網(wǎng)絡(luò)連接問題派近,以及下載速度慢的問題
詳細(xì)見上一篇公眾號
##歡迎關(guān)注我的公眾號:【愛學(xué)習(xí)de小饞貓】,不定期分享各種經(jīng)驗洁桌,學(xué)習(xí)資料渴丸,共同進(jìn)步~~
3.下載版本問題
千萬不要下載錯版本,安裝的時候會辦錯另凌,如果是64位可參考上面我下載的版本谱轨,不要下載哪個Linux on System z(64-bit),安裝的第一步就會報錯(不要問我怎么知道的吠谢,忘了截圖qaq)
4.Ubuntu的磁盤空間問題【INS-32021】
我剛開始只分了20G土童,后來安裝的時候報錯空間不夠(因為前面下載了很多東西,占用空間還挺大的工坊,安裝Oracle需要7.5G空間)献汗,我在分配空間的時候還不小心刪了一個文件(印象里是我分配的一個新磁盤的鏈接文件)敢订,導(dǎo)致我的虛擬機(jī)崩了,什么命令都執(zhí)行不了罢吃,重啟以后就是下面這樣楚午,網(wǎng)上有解決辦法但是太麻煩了,然后重新裝的
4.【ins_plsql.mk】問題
這個問題找了很久解決辦法刃麸,最后看到有人說了一句醒叁,一般是gcc版本過高導(dǎo)致(我的Ubuntu是16.04司浪,默認(rèn)安裝的gcc是5版本的)泊业,這一步又安裝了一個4.4版本的,切換的4.4以后啊易,就沒有這個問題了
5.安裝到一半誤退出導(dǎo)致的【INS-32035】【?ins_32016】問題
這個問題的原因是已經(jīng)安裝過了吁伺,安裝目錄非空導(dǎo)致,詳細(xì)見安裝過程
6.【INS-20802】 Oracle Net Configuration Assistant failed
這個問題也很神奇的租谈,有人說是防火墻未關(guān)閉(我是關(guān)閉的)篮奄;有人說這一步可以跳過,后面再解決割去,但是有人說跳過以后安裝失斂呷础(膽小不敢);無意間看到一個解決辦法呻逆,建了一個文件夾就好了夸赫,而且后面再也沒報錯了,很神奇咖城。茬腿。
整個過程大概就是這樣了
真的很麻煩,我選擇的是高級安裝宜雀,其實有一個典型安裝切平,跟我們之前在windows安裝類似,很簡單一步一步點下去就成功了辐董。
雖然過程很麻煩悴品,但是我覺得學(xué)到的還挺多的,不會了就百度吧简烘,你遇到的問題別人都遇到過苔严,只不過每個人的情況不一樣,解決辦法可能有很多夸研,我用的也只是其中一個辦法邦蜜,希望能幫到你~~
參考Ubuntu 16.04 安裝 Oracle 12.1.0.2