部署Oracle 12c企業版數據庫

在計算機信息安全領域中,數據庫系統無疑有着舉足輕重的地位。比如:SQL Server、MySQL、DB2、Oracle等,都是比較知名的數據庫管理軟件,由於Oracle數據庫的安全性,所以在一些比較重要的場合被普遍使用,比如:電信、銀行、政府部門等。

本次博文以Oracle 12c數據庫的64位企業版爲例,學習如何在Centos 操作系統中的安裝和基本配置,包括安裝的準備等。

博文大綱:
一、安裝Oracle 12c
二、創建Oracle 12c數據庫
三、Oracle 12c數據庫的啓動與關閉
四、將Oracle數據庫設置爲開機自啓動

一、安裝Oracle 12c

1.安裝CentOS 7操作系統的注意事項

由於本次安裝Oracle 12c軟件是在CentOS 7系統上實現的,那麼首次安裝CentOS 7操作系統有幾點要求:

  • 防火牆的配置選項設置爲禁用;
  • SELinux設置爲禁用;
  • 默認安裝設置爲軟件開發;
  • 內核選擇3.10.0-862.el7.x86_64及以上版本;

2.前置條件的準備

Oracle數據庫是一個相對龐大的應用軟件,對服務器的系統類型、內存和交換分區、硬盤空阿金、內核參數、軟件環境、用戶環境等都有相應的要求。只要滿足了這些必備的條件,才能確保Oracle 12c安裝成功並穩定運行。

(1)系統及配置要求

Oracle 12c明確支持的Linux操作系統包括Oracle Linux 7、Oracle Linux 6、Oracle Linux 5、Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 6、Red Hat Enterprise Linux 5等,因爲Red Hat Enterprise 和CentOS屬於同步並行的操作系統,所以Oracle 12 c同樣支持CentOS 7、CentOS 6、CentOS 5操作系統。在其他Linux系統中安裝時,個別軟件或配置文件可能需要進行適當的調整。

[root@localhost ~]# cat /etc/centos-release                            //查看系統版本信息
CentOS Linux release 7.5.1804 (Core) 
[root@localhost ~]# uname -r                                     //查看系統內核信息
3.10.0-862.el7.x86_64

Linux操作系統要求:

  • 物理內存:必須高於1GB,對於VMware虛擬機建議不少於2GB;
  • 交換空間:物理內存爲1~2GB時,交換分區爲物理內存的1.5~2倍;物理內存爲2~16GB時,交換分區於物理內存大小相同;物理內存超過16GB時,交換分區使用16GB就可以了;

如果交換分區空間不足的話,可以使用以下方式擴展交換分區

[root@localhost ~]# dd if=/dev/zero of=/swap_file bs=1024 count=2097152                
//這是擴展了2GB的交換分區,2097152除以1024等於2048,所以是2GB
[root@localhost ~]# mkswap /swap_file
[root@localhost ~]# swapon /swap_file
//完成之後,再次查詢就會發現交換分區多了2GB的空間
[root@localhost ~]# grep MemTotal /proc/meminfo
MemTotal:        7992344 kB
[root@localhost ~]# grep SwapTotal /proc/meminfo
SwapTotal:      18568716 kB                                                 //交換分區空間及內存空間已經滿足要求

對於Oracle 12c數據庫,若程序文件和數據文件安裝在同一分區,則該分區硬盤空間的最要要求爲企業級爲6.4G,標準版6.1G;除此之外,還應確保/tmp目錄的可用空間不少於1G。總的來說,建議安裝Oracle 12c準備至少15G的硬盤空間。

[root@localhost ~]# df -hT /tmp             //查看/tmp目錄的磁盤使用情況
文件系統                類型  容量  已用  可用 已用% 掛載點
/dev/mapper/centos-root xfs    50G   21G   30G   42% /
//很明顯,滿足了要求

安裝Oracle數據庫前,要求規劃好主機名和IP。服務器的主機名、IP地址應提前確認無誤,一旦Oracle數據庫安裝完成,建議不要輕易的修改主機名,否則會導致數據庫啓動失敗。方法如下:

[root@localhost ~]# sed -i '1c oracle' /etc/hostname
//設置主機名爲oracle
[root@localhost ~]# echo -e "192.168.1.1 oracle" >> /etc/hosts
//添加主機名與IP地址的對應關係

(2)軟件環境要求

Oracle 12c的安裝過程通常是在圖形界面中進行,因此建議使用已安裝有GNOME中文桌面環境的CentOS服務器,軟件開發工具當然是必不可少的,應使用yum方式安裝以下必要的軟件環境。

[root@localhost ~]# yum -y install binutils compat-* gcc gcc-c++  glibc   glibc-devel ksh \
 libaio libaio-devel libgcc libstdc++ libstdc++-devel  libXi libXtst make sysstat \
 unixODBC unixODBC-devel
//使用本地光盤或者網絡yum都可以

Oracle 12c自身集成了Java運行環境,但安裝界面對中文的支持並不完善,因此若希望使用中文的Oracle安裝界面,建議提前安裝好Java軟件包。

(3)內核要求

爲了確保數據庫運行穩定,Oracle 12c針對Linux內核參數,進程會話限制提出了一些要求,其中一部分設置可以在安裝過程中自動檢測並進行修復,但並一定很完整,所以最好的做法是根據安裝文檔提前進行配置。

內核參數調整體現在/etc/sysctl.conf文件中,主要包括與內存調度、端口範圍、打開文件數、I/O請求等相關的一些設置,相關數值不可低於安裝要求。如下:

[root@localhost ~]# vim /etc/sysctl.conf 
                  ………………                        //省略部分內容,在末尾添加即可!
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_max = 4194304
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@localhost ~]# sysctl -p                      //重新加載配置文件

各參數詳解:

  • fs.aio-max-nr:此參數限制併發未完成的請求,應該設置避免I/O子系統故障;
  • fs.file-max:該參數決定了系統中所允許的最大可以打開的文件數量;
  • kernel.shmall:該參數控制可以使用的共享內存的總頁數;.
  • kernel.shmmax:是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。
    建議:
    32位linux系統:可取最大值爲4GB(4294967296bytes)-1byte,即4294967295。建議值爲多於內存的一半,所以如果是32爲系統,一般可取值爲4294967295。
    64位linux系統:可取的最大值爲物理內存值-1byte,建議值爲多於物理內存的一半,例如,如果爲12GB物理內存,可取1210241024*1024-1=12884901887。
  • kernel.shmmni:該參數是共享內存段的最大數量。shmmni缺省值4096,一般肯定是夠用了。
  • kernel.sem:
    以kernel.sem = 250 32000 100 128爲例:
    250是參數semmsl的值,表示一個信號量集合中能夠包含的信號量最大數目。
    32000是參數semmns的值,表示系統內可允許的信號量最大數目。
    100是參數semopm的值,表示單個semopm()調用在一個信號量集合上可以執行的操作數量。
    128是參數semmni的值,表示系統信號量集合總數。
  • net.ipv4.ip_local_port_range:表示應用程序可使用的IPv4端口範圍;
  • net.core.rmem_default:表示套接字接收緩衝區大小的缺省值;
  • net.core.rmem_max:表示套接字接收緩衝區大小的最大值;
  • net.core.wmem_default:表示套接字發送緩衝區大小的缺省值;
  • net.core.wmem_max:表示套接字發送緩衝區大小的最大值;

(4)Oracle用戶環境要求

Oracle 12c需要固定的運行用戶oracle、安裝組oinstall、管理組dba,這些賬號應提前創建好。用於存放Oracle程序及數據庫文件的基本目錄也應提前創建好。

[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd -g oinstall -G dba oracle
[root@localhost ~]# echo '123456' | passwd --stdin oracle
更改用戶 oracle 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost ~]# mkdir -p /u01/app/oracle
[root@localhost ~]# chown -R oracle:oinstall /u01/app
[root@localhost ~]# chmod -R 775 /u01/app/oracle

Oracle 12c的安裝任務應以運行用戶oracle的身份執行,需適當調整oracle用戶的環境配置以滿足需求。

[root@localhost ~]# vim /home/oracle/.bash_profile
                  ………………                        //省略部分內容,在末尾添加即可!
umask 022
ORACLE_BASE=/u01/app/oracle  #oracle基本目錄 
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/ #安裝家目錄
ORACLE_SID=orcl #定義數據庫實例名稱
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8 #是針對Oracle語言、地區、字符集的設置 
PATH=$PATH:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8 #LANG是針對Linux系統的語言、地區、字符集的設置。  
DISPLAY=:0.0 #在哪個終端可以使用圖形 
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID DISPLAY  #將變量導出爲全局變量

(5)oracle用戶資源限制要求

進程會話限制可以採用pam_limits認證模塊來實現,通過修改登錄程序login的PAM設置以啓用該認證,然後修改/etc/security/limits.conf 文件,使用戶oracle能夠打開的進程數、進程使用的文件數加大。

[root@localhost ~]# vim /etc/pam.d/login 
                  ………………                        //省略部分內容,在末尾添加即可!
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@localhost ~]# vim /etc/security/limits.conf
                  ………………                        //省略部分內容,在末尾添加即可!
oracle soft nproc 2047                     #設置進程數軟限制           
oracle hard nproc 16384                  #設置進程數硬限制
oracle soft nofile 1024                     #設置文件數軟限制
oracle hard nofile 65536                 #設置文件數硬限制
oracle soft  stack 10240                 # Oracle軟堆棧限制

配置oracle用戶資源限制,不配置也不會影響oracle數據庫的成功安裝,但是考慮到若有糟糕的sql語句對服務器資源的無限佔用,導致長時間對用戶請求無響應,建議提前限制oracle用戶資源。

[root@localhost ~]# vim /etc/profile
if [  $USER  =  "oracle" ];then
  if [ $SHELL = "/bin/ksh" ];then
     ulimit -p 16384
     ulimit -n 65536
  else
     ulimit -u 16384 -n 65536
  fi
fi

準備工作完成後重新啓動系統,重啓之後,再次檢查之前的配置是否生效。

3.Oracle 12c安裝過程

Oracle的中文官方網址是https://www.oracle.com/index.html 可以自行進行下載,也可通過本人提供的Oracle安裝包 進行安裝。

[root@oracle ~]# cd /
[root@oracle /]# unzip /root/linuxx64_12201_database.zip 
//進入根目錄對下載的Oracle軟件包進行解壓
[root@oracle /]# ls database/                     //解壓之後生成database目錄
install  response  rpm  runInstaller  sshsetup  stage  welcome.html

授權允許用戶oracle使用圖形終端,例如執行:xhost + oracle@localhost,表示允許用戶oracle從本機訪問,或者執行xhost + 表示取消所有限制,這裏執行xhost +即可。

[root@oracle /]# xhost +                    //一定要以root用戶的身份在圖形環境中操作
[root@oracle /]# su - oracle                           //切換到oracle用戶
[oracle@oracle ~]$ cd /database/
[oracle@oracle database]$ export DISPLAY=:0.0                    設置DISPLAY環境變量
[oracle@oracle database]$ ./runInstaller            //執行安裝腳本

執行完成後會彈出圖形化界面,進行以下操作:
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
執行過程中,會有這樣的提示信息:
部署Oracle 12c企業版數據庫

[root@oracle ~]# /u01/app/oraInventory/orainstRoot.sh
[root@oracle ~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh
//執行第二個腳本,遇到提示,一路回車即可!

部署Oracle 12c企業版數據庫
Web頁面訪問如下:
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
接下來使用命令行進行登錄訪問:
首先需要解決sqlplus命令行方向鍵不能使用的問題,方法如下:
獲取rlwrap軟件包

[root@oracle ~]#  yum -y install ncurses* readline*                 //安裝軟件包所需依賴
[root@oracle ~]# tar zxf rlwrap-0.30.tar.gz.zip -C /usr/src
[root@oracle ~]# cd /usr/src/rlwrap-0.30/
[root@oracle rlwrap-0.30]# ./configure && make && make install
//使用root身份進行編譯安裝,安裝完成後即可使用!
[oracle@oracle ~]$  rlwrap sqlplus "/ as sysdba"

SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 10:51:44 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

連接到: 
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> 

這樣登錄到數據庫庫時,就可以使用方向鍵了。但是這樣每次登錄數據庫時都需要使用 rlwrap 命令稍嫌麻煩,可以進行一下操作:

[oracle@oracle ~]$ vim /home/oracle/.bash_profile 
                         ………………             //在末尾添加以下內容
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
//就是將命令創建別名而已

退出當前oracle用戶,重新登錄纔可使用。

[oracle@oracle ~]$ sqlplus sys/123456 as sysdba
//使用命令行登錄
SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 10:57:41 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

連接到: 
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> 

或者

[oracle@oracle ~]$ sqlplus /nolog

SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 10:59:10 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

SQL> conn sys/123456 as sysdba
已連接。
//也可以使用這樣方式登錄Oracle數據庫

二、創建Oracle 12c數據庫

如果在安裝oracle產品時不創建數據庫,那麼要使用oracle系統就必須先創建數據庫。如果在安裝oracle時選擇建立數據庫,也可以再創建第二個數據庫(不過爲了使oracle數據庫充分利用系統資源,建議一個服務器上只創建一個數據庫)。
創建數據庫的方法有兩種:通過圖形化界面,或者採用“CREATE DATABASE”命令,這裏說一下圖形化界面創建數據庫的方法:

[oracle@oracle ~]$ dbca                  //使用oracle用戶創建數據庫
//執行這條命令就會彈出圖形化界面創建數據庫

如果沒有彈出窗口,可以參考前面的步驟,以root用戶運行“xhost +”命令,再以oracle身份運行“export DISPLAY=:0.0”命令。

彈出的圖形化界面如下:
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
部署Oracle 12c企業版數據庫
數據庫已經創建完成!

三、Oracle 12c數據庫的啓動與關閉

oracle數據庫的啓動與關閉是日常工作之一。對於大多數oracle DBA來說,啓動和關閉oracle數據庫最常用的方式是在命令行方式下執行。

1.啓動、關閉Oracle數據庫

要啓動和關閉數據庫,必須具有Oracle管理員權限的用戶登錄,通常以具有SYSDBA權限的用戶登錄。

(1)數據庫的啓動

啓動一個數據庫需要三個步驟:①啓動oracle實例(非裝載階段);②由實例裝載數據庫(裝載階段);③打開數據庫(打開階段)。
在startup命令中,可以使用不同的選項來控制數據庫的不同啓動步驟。

1)startup nomount(該命令不常用)

nomount選項僅僅啓動一個oracle實例,讀取init.ora初始化參數文件、啓動後臺進程、初始化SGA。當實例啓動後,系統將顯示一個SGA內存結構和大小的列表,如下:

[oracle@oracle ~]$ sqlplus / as sysdba                    //以oracle用戶登錄數據庫

SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 11:18:36 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

連接到: 
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> startup nomount       

2)startup mount(某些時候會用到該命令)
startup mount 命令啓動實例並且裝載數據庫,但是沒有打開數據庫。oracle系統讀取控制文件中關於數據文件和重做日誌文件的內容,但並不打開該文件。這種打開方式常在數據庫維護操作中使用,如對數據文件的更名、改變重做日誌及打開歸檔模式等。在這種打開方式下,除了可以看到SGA系統列表以外,系統還會給出“數據庫裝載完畢”的提示。

SQL> alter database mount; 
//由於上面已經執行了startup nomount命令,所以再更改它的狀態,就需要使用該命令

3)startup(正常時使用的命令)
startup命令完成啓動實例,裝載數據庫和打開數據庫三個步驟。此時,數據庫使數據文件和重做日誌文件在線,通常還會請求一個或者多個回滾段;系統除了可以看到前面startup mount 方式下的所有提示外,還會給出一個“數據庫已經打開”的提示;數據庫系統處於正常的工作狀態,可以接收用戶的請求。

如果採用startup nomount或者startup mount的數據庫打開方式,必須採用alter database命令來執行裝載或打開數據庫的操作。

前面兩條命令都執行過了(startup nomount和alter database mount),所以這裏再執行下面命令,數據庫就可以說是正確啓動完成了。如下:

SQL> alter database open;             

正常來說,可以直接使用下面一條命令來正常啓動數據庫,如下:

SQL> startup           //在數據庫關閉狀態下執行該命令,數據庫會依次啓動、裝載、打開。
ORACLE 例程已經啓動。

Total System Global Area 1593835520 bytes
Fixed Size          8793256 bytes
Variable Size        1023411032 bytes
Database Buffers      553648128 bytes
Redo Buffers            7983104 bytes
數據庫裝載完畢。
數據庫已經打開。

(2)數據庫的關閉

對於數據庫的關閉,有四種不同的關閉選項。
1)shutdown normal
shutdown normal是shutdown命令的默認選項。也就是說,如果用戶發出shutdown命令,即執行shutdown normal命令。
發出該命令後,任何新的連接都將不再允許連接到數據庫。在數據庫關閉之前,oracle將等待目前連接的所有用戶都從數據庫中退出後纔開始關閉數據庫。採用這種方式關閉數據庫,在下一次啓動時不需要進行任何的實例恢復。但需要注意的是,採用這種方式時,也許關閉一個數據庫需要幾天或更長的時間。

2)shutdown immediate
shutdown immediate是常用的一種關閉數據庫的方式。若即想很快地關閉數據庫,又想讓數據庫“乾淨”的關閉,則常採用這種方式。

發出該命令後,當前正在被oracle處理的SQL語句立即中斷,系統中任何沒有提交的事務全部回滾。如果系統中存在一個很長的未提交的事務,那麼採用這種方式關閉數據庫也需要一段時間(該事務回滾時間)。系統不會等待連接到數據庫的所有用戶退出系統,而會強行回滾當前所有的活動事務,然後斷開所有的連接用戶。

3)shutdown transactional
shutdown transactional 命令常用來計劃關閉數據庫,它會等待當前連接到系統且正在活動的事務執行完畢,運行該命令後,任何新的連接和事務都是不允許的。它所有活動的事務執行完成後,數據庫將以和shutdown immediate同樣的方式關閉數據庫。

4)shutdown abort
shutdown abort是關閉數據庫方式的最後選擇,是在沒有任何辦法關閉數據庫的情況下不得不採用的方式,一般不要採用。在下列情況出現時可以考慮採用這種方式關閉數據庫。

  • 數據庫處於一種非正常工作狀態,不能用shutdown normal或shutdown immediate命令關閉數據庫;
  • 需要立即關閉數據庫;
  • 在啓動數據庫實例時遇到問題。

    發出該命令後,所有正在運行的SQL語句將立即中止,所有未提交的事務將不回滾,oracle也不等待目前連接到數據庫的用戶退出系統;下一次啓動數據庫時需要實例恢復,因此,下一次啓動可能比平時需要更多的時間。

在關閉數據庫時最好使用shutdown immediate方式,因爲這種方式安全且相對較快。不是萬不得已不要使用shutdown abort 方式,因爲這種方式會造成數據丟失,並且恢復數據庫也需要較長時間。

2.啓動、關閉oracle監聽進程

當oracle數據庫實例啓動完成後,爲了使客戶端用戶能連接到oracle實例,DBA還需要在oracle所在的服務器上使用lsnrctl命令啓動監聽進程。如果數據庫實例關閉,一般也要關閉監聽進程。

(1)啓動監聽

啓動監聽是oracle用戶在操作系統下執行的命令,可以直接在lsnrctl後加參數,也可在該命令提示符後進行操作,具體如下:

[oracle@oracle ~]$ lsnrctl              //執行該命令

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 25-9月 -2019 21:59:04

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

歡迎來到LSNRCTL, 請鍵入"help"以獲得信息。

LSNRCTL> start          //啓動監聽
啓動/u01/app/oracle/product/12.2.0/dbhome_1//bin/tnslsnr: 請稍候...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
系統參數文件爲/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
寫入/u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml的日誌信息
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名                      LISTENER
版本                      TNSLSNR for Linux: Version 12.2.0.1.0 - Production
啓動日期                  25-9月 -2019 21:59:12
正常運行時間              0 天 0 小時 0 分 0 秒
跟蹤級別                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
監聽程序參數文件          /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
監聽程序日誌文件          /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
監聽端點概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
監聽程序不支持服務
命令執行成功

也可以直接使用以下命令“來啓動監聽:

[oracle@oracle ~]$ lsnrctl start         //啓動監聽

(2)關閉監聽

[oracle@oracle ~]$ lsnrctl stop         //關閉監聽

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 25-9月 -2019 22:00:31

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
命令執行成功

四、將Oracle數據庫設置爲開機自啓動

[root@oracle ~]# vim /etc/oratab 
                           ………………            //修改以下內容
orcl:/u01/app/oracle/product/12.2.0/dbhome_1:Y

[root@oracle ~]# vim /etc/rc.local 
su - oracle -c 'dbstart'                         //啓動數據庫
su - oracle -c 'lsnrctl start'                     //啓用監聽進程
[root@oracle ~]# chmod +x /etc/rc.d/rc.local
//添加執行權限

重啓之後,進行驗證:

[root@oracle ~]# netstat -anpt | grep 5500                //oracle數據庫的監聽端口
tcp6       0      0 :::5500                 :::*                    LISTEN      2144/tnslsnr        
[root@oracle ~]# netstat -anpt | grep 1521           //oracle數據庫監聽進程
tcp        0      0 192.168.1.1:24251       192.168.1.1:1521        ESTABLISHED 1816/ora_lreg_orcl  
tcp6       0      0 :::1521                 :::*                    LISTEN      2144/tnslsnr        
tcp6       0      0 192.168.1.1:1521        192.168.1.1:24251       ESTABLISHED 2144/tnslsnr        
tcp6       0      0 192.168.1.1:1521        192.168.1.1:24143       TIME_WAIT   -  

———————— 本文至此結束,感謝閱讀 ————————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章