環(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)的意思。
這里有兩點(diǎn)要注意:第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發(fā)生相同的變化;第二,ln的鏈接又軟鏈接 和硬鏈接兩種,軟鏈接就是ln -s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間,硬鏈接ln ** **,沒有參數(shù)-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
如果你用ls察看一個目錄時,發(fā)現(xiàn)有的文件后面有一個@的符號,那就是一個用ln命令生成的文件,用ls -l命令去察看,就可以看到顯示的link的路徑了。
驗(yàn)證軟件接的正確性
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
修改后點(diǎn)擊右上角的save 保存,然后關(guān)閉
配置環(huán)境變量
然后執(zhí)行如下命令
ljing@ubuntu:~$ source /etc/profile
ljing@ubuntu:~$ echo $JAVA_HOME
/usr/lib/jvm/jdk1.8.0_221
Step 2 : Oracle Installation Prerequisites
運(yùn)行以下命令來安裝依賴項(xiàng)
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有一定的危險性,因?yàn)榭赡軙潞芏嗄幌M碌能浖瑢?dǎo)致原來的一些需要依賴舊包的軟件無法運(yùn)行,所有,使用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)境所需要的安裝包
說明:因?yàn)椴煌姹镜腢buntu,或者不同的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
運(yùn)行以下命令進(jìn)行偽裝Ubuntu系統(tǒng)
ljing@ubuntu:~$ echo 'Red Hat Linux release 6' | sudo tee -a /etc/redhat-release
運(yùn)行以下命令為啟動環(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
運(yùn)行以下為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
運(yùn)行以下命令改變內(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)限,因?yàn)閟udoers這個文件只允許讀,不允許寫入。輸入命令"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í)行就正常了
安裝過程如下:
剛開始就報錯。。哦,不,是警告,點(diǎn)擊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.安裝,等報錯中....(這一步真的耗費(fèi)了最多時間的)
出現(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)致,因?yàn)榭梢园惭b多個版本并可以自由切換,類似安裝多個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的可選項(xiàng)(此處應(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版本:
切換到gcc4.4
6.查看當(dāng)前使用gcc版本
gcc --version
查看當(dāng)前gcc版本
解決了!!!!!!!
我可能是手殘,不小心點(diǎn)了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
有人說是因?yàn)榉阑饓﹂_啟導(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%!!!!
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)驗(yàn),學(xué)習(xí)資料,共同進(jìn)步~~
3.下載版本問題
千萬不要下載錯版本,安裝的時候會辦錯,如果是64位可參考上面我下載的版本,不要下載哪個Linux on System z(64-bit),安裝的第一步就會報錯(不要問我怎么知道的,忘了截圖qaq)
4.Ubuntu的磁盤空間問題【INS-32021】
我剛開始只分了20G,后來安裝的時候報錯空間不夠(因?yàn)榍懊嫦螺d了很多東西,占用空間還挺大的,安裝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)閉的);有人說這一步可以跳過,后面再解決,但是有人說跳過以后安裝失敗(膽小不敢);無意間看到一個解決辦法,建了一個文件夾就好了,而且后面再也沒報錯了,很神奇。。
整個過程大概就是這樣了
真的很麻煩,我選擇的是高級安裝,其實(shí)有一個典型安裝,跟我們之前在windows安裝類似,很簡單一步一步點(diǎn)下去就成功了。
雖然過程很麻煩,但是我覺得學(xué)到的還挺多的,不會了就百度吧,你遇到的問題別人都遇到過,只不過每個人的情況不一樣,解決辦法可能有很多,我用的也只是其中一個辦法,希望能幫到你~~
參考Ubuntu 16.04 安裝 Oracle 12.1.0.2