我前兩天發了安裝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 密碼;