我前兩天發了安裝oracle12c的方法,但是我雖然在虛擬機器試驗成功了,正式伺服器安裝的時候發現還是不行,安裝頁面卡空白,也沒有解決辦法,所以我就放棄了介面安裝找命令列安裝的辦法,找了一些之後發現都比較麻煩,但是我發現19c有rpm包,可以用rpm包的安裝法,但是畢竟不是同一個版本我就去檢視版本的區別,一查發現原來19c也是屬於12版本的升級版,只不過後邊的版本都是由年份命名了,而且比我之前的12201版本還穩定,相當於12203版本,廢話不多說馬上安裝
準備工作
首先去Oracle官網下載19c的rpm安裝包下載連結:
https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
下載完成之後再去下載另一個依賴包oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html
進入頁面按ctrl+F搜尋preinstall-19c找到名字為
這個的安裝包就下載圈出來的這一個就行
然後再準備第三個安裝包 http://www.rpmfind.net/linux/rpm2html/search.php?query=compat-libstdc%2B%2B-33(x86-64)
下載這個安裝包
上傳安裝包到伺服器
這裡我使用的是winscp工具,把這三個安裝包上傳到伺服器的 /opt目錄
然後使用root使用者遠端工具登入連線伺服器
第一步
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
先安裝這些依賴包,然後可以多執行幾次也沒關係
第二步
cd /opt
第三步
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
第四步
rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
第五步
rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm
這一步可以先試試能不能用 yum源裡下載 yum install -y oracle-database-ee-19c-1.0-1.x86_64.rpm 如果這個方式可以下載安裝的話就可以省去去oracle官網下載oracle安裝包的步驟了
不管用哪個方式安裝最後安裝完了顯示的是這個
然後安裝完了之後現在只是安裝上了oracle,但是還沒有資料庫
我們要建立資料庫
在這裡建立資料庫有兩種方式一種是它安裝完給的方法執行這個指令碼
還有一種是在桌面環境下的終端裡執行輸入dbca會彈出視覺化的安裝介面,但是這個方法我在正式伺服器上試的時候也是卡空白所以我就用它給的方法建立資料庫了
第六步
vim /etc/init.d/oracledb_ORCLCDB-19c configure
這個地方改為false,這是問你要不要建立容器化資料庫,如果是true以後建立的使用者好像是都要加c##
所有我就設為false瞭然後儲存退出
第七步
/etc/init.d/oracledb_ORCLCDB-19c configure
這樣資料庫就安裝成功了切換到oracle使用者
su oracle
sqlplus連線
sqlplus / as sysdba
這個時候提示我們找不到命令,設定一下環境變數
vim ~/.bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
修改後
然後重新整理一下環境變數使其生效
source ~/.bash_profile
然後再次輸入sqlplus / as sysdba
登入成功了,如果這個時候出現讓輸入使用者名稱和密碼的情況說明可能沒切換成oracle使用者
如果切換了還是不行解決辦法是在資料庫的安裝目錄修改sqlnet.ora檔案資料庫預設建立位置是/opt/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora所以直接執行
vim /opt/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora
加入 SQLNET.AUTHENTICATION_SERVICES =all 這句話儲存退出
如果還是不行就切換回root使用者然後切換Oracle使用者的時候使用 su - oracle
連線成功之後我們就修改一下使用者密碼
修改成功我們就可以用navicat連線了,連線前我們先關閉防火牆,或者開啟1521埠不然會連線超時,這裡我打開了1521埠
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
這個地方是ORCLCDB了不是orcl瞭然后角色是sysdba
ok連線成功,system不屬於dba使用者了所以system登入的時候不用選成systemdba,修改system密碼同上進入sqlplus裡
alter user 使用者名稱 identified by 密碼;