欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

部署Oracle 12c企業(yè)版數(shù)據(jù)庫( 安裝及使用)

 更新時間:2019年11月27日 10:05:12   作者:筱振  
這篇文章主要介紹了部署Oracle 12c企業(yè)版數(shù)據(jù)庫( 安裝及使用),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

本次博文以O(shè)racle 12c數(shù)據(jù)庫的64位企業(yè)版為例,學(xué)習(xí)如何在Centos 操作系統(tǒng)中的安裝和基本配置,包括安裝的準(zhǔn)備等。

博文大綱:
一、安裝Oracle 12c
二、創(chuàng)建Oracle 12c數(shù)據(jù)庫
三、Oracle 12c數(shù)據(jù)庫的啟動與關(guān)閉
四、將Oracle數(shù)據(jù)庫設(shè)置為開機自啟動

一、安裝Oracle 12c

1.安裝CentOS 7操作系統(tǒng)的注意事項

由于本次安裝Oracle 12c軟件是在CentOS 7系統(tǒng)上實現(xiàn)的,那么首次安裝CentOS 7操作系統(tǒng)有幾點要求:

  • 防火墻的配置選項設(shè)置為禁用;
  • SELinux設(shè)置為禁用;
  • 默認安裝設(shè)置為軟件開發(fā);
  • 內(nèi)核選擇3.10.0-862.el7.x86_64及以上版本;

2.前置條件的準(zhǔn)備

Oracle數(shù)據(jù)庫是一個相對龐大的應(yīng)用軟件,對服務(wù)器的系統(tǒng)類型、內(nèi)存和交換分區(qū)、硬盤空阿金、內(nèi)核參數(shù)、軟件環(huán)境、用戶環(huán)境等都有相應(yīng)的要求。只要滿足了這些必備的條件,才能確保Oracle 12c安裝成功并穩(wěn)定運行。

(1)系統(tǒng)及配置要求

Oracle 12c明確支持的Linux操作系統(tǒng)包括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屬于同步并行的操作系統(tǒng),所以O(shè)racle 12 c同樣支持CentOS 7、CentOS 6、CentOS 5操作系統(tǒng)。在其他Linux系統(tǒng)中安裝時,個別軟件或配置文件可能需要進行適當(dāng)?shù)恼{(diào)整。

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

Linux操作系統(tǒng)要求:

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

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

[root@localhost ~]# dd if=/dev/zero of=/swap_file bs=1024 count=2097152        
//這是擴展了2GB的交換分區(qū),2097152除以1024等于2048,所以是2GB
[root@localhost ~]# mkswap /swap_file
[root@localhost ~]# swapon /swap_file
//完成之后,再次查詢就會發(fā)現(xiàn)交換分區(qū)多了2GB的空間
[root@localhost ~]# grep MemTotal /proc/meminfo
MemTotal:    7992344 kB
[root@localhost ~]# grep SwapTotal /proc/meminfo
SwapTotal:   18568716 kB                         //交換分區(qū)空間及內(nèi)存空間已經(jīng)滿足要求

對于Oracle 12c數(shù)據(jù)庫,若程序文件和數(shù)據(jù)文件安裝在同一分區(qū),則該分區(qū)硬盤空間的最要要求為企業(yè)級為6.4G,標(biāo)準(zhǔn)版6.1G;除此之外,還應(yīng)確保/tmp目錄的可用空間不少于1G??偟膩碚f,建議安裝Oracle 12c準(zhǔn)備至少15G的硬盤空間。

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

安裝Oracle數(shù)據(jù)庫前,要求規(guī)劃好主機名和IP。服務(wù)器的主機名、IP地址應(yīng)提前確認無誤,一旦Oracle數(shù)據(jù)庫安裝完成,建議不要輕易的修改主機名,否則會導(dǎo)致數(shù)據(jù)庫啟動失敗。方法如下:

[root@localhost ~]# sed -i '1c oracle' /etc/hostname
//設(shè)置主機名為oracle
[root@localhost ~]# echo -e "192.168.1.1 oracle" >> /etc/hosts
//添加主機名與IP地址的對應(yīng)關(guān)系

(2)軟件環(huán)境要求

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

[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
//使用本地光盤或者網(wǎng)絡(luò)yum都可以

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

(3)內(nèi)核要求

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

內(nèi)核參數(shù)調(diào)整體現(xiàn)在/etc/sysctl.conf文件中,主要包括與內(nèi)存調(diào)度、端口范圍、打開文件數(shù)、I/O請求等相關(guān)的一些設(shè)置,相關(guān)數(shù)值不可低于安裝要求。如下:

[root@localhost ~]# vim /etc/sysctl.conf 
         ………………            //省略部分內(nèi)容,在末尾添加即可!
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           //重新加載配置文件

各參數(shù)詳解:

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

(4)Oracle用戶環(huán)境要求

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

[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:所有的身份驗證令牌已經(jīng)成功更新。
[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的安裝任務(wù)應(yīng)以運行用戶oracle的身份執(zhí)行,需適當(dāng)調(diào)整oracle用戶的環(huán)境配置以滿足需求。

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

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

進程會話限制可以采用pam_limits認證模塊來實現(xiàn),通過修改登錄程序login的PAM設(shè)置以啟用該認證,然后修改/etc/security/limits.conf 文件,使用戶oracle能夠打開的進程數(shù)、進程使用的文件數(shù)加大。

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

配置oracle用戶資源限制,不配置也不會影響oracle數(shù)據(jù)庫的成功安裝,但是考慮到若有糟糕的sql語句對服務(wù)器資源的無限占用,導(dǎo)致長時間對用戶請求無響應(yīng),建議提前限制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

準(zhǔn)備工作完成后重新啟動系統(tǒng),重啟之后,再次檢查之前的配置是否生效。

3.Oracle 12c安裝過程

Oracle的中文官方網(wǎng)址是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

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

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

執(zhí)行完成后會彈出圖形化界面,進行以下操作:














執(zhí)行過程中,會有這樣的提示信息:

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


Web頁面訪問如下:



接下來使用命令行進行登錄訪問:

首先需要解決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> 

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

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

退出當(dāng)前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數(shù)據(jù)庫

二、創(chuàng)建Oracle 12c數(shù)據(jù)庫

如果在安裝oracle產(chǎn)品時不創(chuàng)建數(shù)據(jù)庫,那么要使用oracle系統(tǒng)就必須先創(chuàng)建數(shù)據(jù)庫。如果在安裝oracle時選擇建立數(shù)據(jù)庫,也可以再創(chuàng)建第二個數(shù)據(jù)庫(不過為了使oracle數(shù)據(jù)庫充分利用系統(tǒng)資源,建議一個服務(wù)器上只創(chuàng)建一個數(shù)據(jù)庫)。
創(chuàng)建數(shù)據(jù)庫的方法有兩種:通過圖形化界面,或者采用“CREATE DATABASE”命令,這里說一下圖形化界面創(chuàng)建數(shù)據(jù)庫的方法:

[oracle@oracle ~]$ dbca         //使用oracle用戶創(chuàng)建數(shù)據(jù)庫
//執(zhí)行這條命令就會彈出圖形化界面創(chuàng)建數(shù)據(jù)庫

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

彈出的圖形化界面如下:






數(shù)據(jù)庫已經(jīng)創(chuàng)建完成!

三、Oracle 12c數(shù)據(jù)庫的啟動與關(guān)閉

oracle數(shù)據(jù)庫的啟動與關(guān)閉是日常工作之一。對于大多數(shù)oracle DBA來說,啟動和關(guān)閉oracle數(shù)據(jù)庫最常用的方式是在命令行方式下執(zhí)行。

1.啟動、關(guān)閉Oracle數(shù)據(jù)庫

要啟動和關(guān)閉數(shù)據(jù)庫,必須具有Oracle管理員權(quán)限的用戶登錄,通常以具有SYSDBA權(quán)限的用戶登錄。

(1)數(shù)據(jù)庫的啟動

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

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

nomount選項僅僅啟動一個oracle實例,讀取init.ora初始化參數(shù)文件、啟動后臺進程、初始化SGA。當(dāng)實例啟動后,系統(tǒng)將顯示一個SGA內(nèi)存結(jié)構(gòu)和大小的列表,如下:

[oracle@oracle ~]$ sqlplus / as sysdba          //以oracle用戶登錄數(shù)據(jù)庫

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 命令啟動實例并且裝載數(shù)據(jù)庫,但是沒有打開數(shù)據(jù)庫。oracle系統(tǒng)讀取控制文件中關(guān)于數(shù)據(jù)文件和重做日志文件的內(nèi)容,但并不打開該文件。這種打開方式常在數(shù)據(jù)庫維護操作中使用,如對數(shù)據(jù)文件的更名、改變重做日志及打開歸檔模式等。在這種打開方式下,除了可以看到SGA系統(tǒng)列表以外,系統(tǒng)還會給出“數(shù)據(jù)庫裝載完畢”的提示。

SQL> alter database mount; 
//由于上面已經(jīng)執(zhí)行了startup nomount命令,所以再更改它的狀態(tài),就需要使用該命令

3)startup(正常時使用的命令)

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

如果采用startup nomount或者startup mount的數(shù)據(jù)庫打開方式,必須采用alter database命令來執(zhí)行裝載或打開數(shù)據(jù)庫的操作。

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

SQL> alter database open;       

正常來說,可以直接使用下面一條命令來正常啟動數(shù)據(jù)庫,如下:

SQL> startup      //在數(shù)據(jù)庫關(guān)閉狀態(tài)下執(zhí)行該命令,數(shù)據(jù)庫會依次啟動、裝載、打開。
ORACLE 例程已經(jīng)啟動。

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

(2)數(shù)據(jù)庫的關(guān)閉

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

2)shutdown immediate
shutdown immediate是常用的一種關(guān)閉數(shù)據(jù)庫的方式。若即想很快地關(guān)閉數(shù)據(jù)庫,又想讓數(shù)據(jù)庫“干凈”的關(guān)閉,則常采用這種方式。

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

3)shutdown transactional
shutdown transactional 命令常用來計劃關(guān)閉數(shù)據(jù)庫,它會等待當(dāng)前連接到系統(tǒng)且正在活動的事務(wù)執(zhí)行完畢,運行該命令后,任何新的連接和事務(wù)都是不允許的。它所有活動的事務(wù)執(zhí)行完成后,數(shù)據(jù)庫將以和shutdown immediate同樣的方式關(guān)閉數(shù)據(jù)庫。

4)shutdown abort
shutdown abort是關(guān)閉數(shù)據(jù)庫方式的最后選擇,是在沒有任何辦法關(guān)閉數(shù)據(jù)庫的情況下不得不采用的方式,一般不要采用。在下列情況出現(xiàn)時可以考慮采用這種方式關(guān)閉數(shù)據(jù)庫。

  • 數(shù)據(jù)庫處于一種非正常工作狀態(tài),不能用shutdown normal或shutdown immediate命令關(guān)閉數(shù)據(jù)庫;
  • 需要立即關(guān)閉數(shù)據(jù)庫;
  • 在啟動數(shù)據(jù)庫實例時遇到問題。

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

在關(guān)閉數(shù)據(jù)庫時最好使用shutdown immediate方式,因為這種方式安全且相對較快。不是萬不得已不要使用shutdown abort 方式,因為這種方式會造成數(shù)據(jù)丟失,并且恢復(fù)數(shù)據(jù)庫也需要較長時間。

2.啟動、關(guān)閉oracle監(jiān)聽進程

當(dāng)oracle數(shù)據(jù)庫實例啟動完成后,為了使客戶端用戶能連接到oracle實例,DBA還需要在oracle所在的服務(wù)器上使用lsnrctl命令啟動監(jiān)聽進程。如果數(shù)據(jù)庫實例關(guān)閉,一般也要關(guān)閉監(jiān)聽進程。

(1)啟動監(jiān)聽

啟動監(jiān)聽是oracle用戶在操作系統(tǒng)下執(zhí)行的命令,可以直接在lsnrctl后加參數(shù),也可在該命令提示符后進行操作,具體如下:

[oracle@oracle ~]$ lsnrctl       //執(zhí)行該命令

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     //啟動監(jiān)聽
啟動/u01/app/oracle/product/12.2.0/dbhome_1//bin/tnslsnr: 請稍候...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
系統(tǒng)參數(shù)文件為/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
寫入/u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml的日志信息
監(jiān)聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
監(jiān)聽: (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
監(jiān)聽程序參數(shù)文件     /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
監(jiān)聽程序日志文件     /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
監(jiān)聽端點概要...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
監(jiān)聽程序不支持服務(wù)
命令執(zhí)行成功

也可以直接使用以下命令“來啟動監(jiān)聽:

[oracle@oracle ~]$ lsnrctl start     //啟動監(jiān)聽

(2)關(guān)閉監(jiān)聽

[oracle@oracle ~]$ lsnrctl stop     //關(guān)閉監(jiān)聽

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)))
命令執(zhí)行成功

四、將Oracle數(shù)據(jù)庫設(shè)置為開機自啟動

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

[root@oracle ~]# vim /etc/rc.local 
su - oracle -c 'dbstart'             //啟動數(shù)據(jù)庫
su - oracle -c 'lsnrctl start'           //啟用監(jiān)聽進程
[root@oracle ~]# chmod +x /etc/rc.d/rc.local
//添加執(zhí)行權(quán)限

重啟之后,進行驗證:

[root@oracle ~]# netstat -anpt | grep 5500        //oracle數(shù)據(jù)庫的監(jiān)聽端口
tcp6    0   0 :::5500         :::*          LISTEN   2144/tnslsnr    
[root@oracle ~]# netstat -anpt | grep 1521      //oracle數(shù)據(jù)庫監(jiān)聽進程
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  - 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pl/sql連接遠程oracle服務(wù)器的配置教程

    pl/sql連接遠程oracle服務(wù)器的配置教程

    這篇文章主要為大家詳細介紹了pl/sql連接遠程oracle服務(wù)器的配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • oracle如何恢復(fù)被覆蓋的存儲過程

    oracle如何恢復(fù)被覆蓋的存儲過程

    如果你不小心覆蓋了之前的存儲過程,那得趕緊閃回,時長越長閃回的可能性越小,下面為大家介紹下恢復(fù)原理
    2014-05-05
  • ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法

    ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法

    這篇文章主要介紹了ORACLE出現(xiàn)錯誤1033和錯誤ORA-00600的解決方法,需要的朋友可以參考下
    2014-07-07
  • oracle實現(xiàn)多行合并的方法

    oracle實現(xiàn)多行合并的方法

    這篇文章主要介紹了oracle實現(xiàn)多行合并的方法,實例講述了oracle10g以后提供的函數(shù)WMSYS.WM_CONCAT的使用技巧,需要的朋友可以參考下
    2015-01-01
  • ORACEL使用腳本來修改表結(jié)構(gòu)

    ORACEL使用腳本來修改表結(jié)構(gòu)

    修改表結(jié)構(gòu)在某些時候還是需要用到的,下面為大家介紹下使用腳本來修改表結(jié)構(gòu),感興趣的朋友不要錯過
    2013-12-12
  • Oracle 11g服務(wù)器安裝詳細步驟圖文詳解

    Oracle 11g服務(wù)器安裝詳細步驟圖文詳解

    Oracle 11g提供了高性能、伸展性、可用性和安全性,并能更方便地在低成本服務(wù)器和存儲設(shè)備組成的網(wǎng)格上運行 ,相對過往版本而言,Oracle 11g具有了與眾不同的特性。接下來通過本文給大家介紹Oracle 11g服務(wù)器安裝詳細步驟圖文詳解,需要的朋友參考下吧
    2017-11-11
  • Oracle歸檔日志文件(查看、配置、刪除)

    Oracle歸檔日志文件(查看、配置、刪除)

    歸檔日志是非活動的重做日志備份.通過使用歸檔日志,可以保留所有重做歷史記錄,本文主要介紹了Oracle歸檔日志文件(查看、配置、刪除),具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • oracle如何使用java source調(diào)用外部程序

    oracle如何使用java source調(diào)用外部程序

    這篇文章主要為大家介紹了oracle如何使用java source調(diào)用外部程序,感興趣的小伙伴們可以參考一下
    2016-09-09
  • ORACLE分區(qū)表轉(zhuǎn)換在線重定義DBMS_REDEFINITION

    ORACLE分區(qū)表轉(zhuǎn)換在線重定義DBMS_REDEFINITION

    這篇文章主要為大家介紹了ORACLE分區(qū)表轉(zhuǎn)換在線重定義DBMS_REDEFINITION表,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • oracle添加序號列3種方法大全

    oracle添加序號列3種方法大全

    Oracle是眾多的關(guān)系型數(shù)據(jù)庫系統(tǒng)之一,它可以為表格中的每一行創(chuàng)建唯一的序號列,這篇文章主要給大家介紹了關(guān)于oracle添加序號列的3種方法大全,需要的朋友可以參考下
    2024-03-03

最新評論