中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解Restrict Session與Restricted Mood

發布時間:2021-11-04 17:20:16 來源:億速云 閱讀:298 作者:柒染 欄目:建站服務器

如何理解Restrict Session與Restricted Mood,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

查閱Oracle官方文檔,看到SYSDBASYSOPER兩個特殊的系統權限System Privilege。在兩個權限可以進行的操作中,有一個名為Restricted Session的權限項目,做一下深入的研究。

 

啟動Oracle數據庫服務器,是一個階段性的操作。大體上分為nomountmountOpen三個階段。下面是在linux平臺上進行的分階段啟動演示。

 

//連接到一個空實例上,注意,這里驗證使用的是OS驗證方式;

SQL> conn / as sysdba

Connected to an idle instance.

 

//nomount狀態啟動,實例進程啟動,SGA空間分配,參數文件加載;

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area  414298112 bytes

Fixed Size                  1336904 bytes

Variable Size             310380984 bytes

Database Buffers           96468992 bytes

Redo Buffers                6111232 bytes

 

//控制文件加載應用,定位數據文件;

SQL> alter database mount;

 

Database altered.

 

//打開數據庫文件,實現操作;

SQL> alter database open;

 

Database altered.

 

 

在啟動之后,數據庫用戶就可以進行連接。

 

啟動restricated mode

 

作為DBA,是可以控制啟動階段和進程的。不同的階段,可以進行不同類型的操作,如備份各種類型文件。

 

有時候,我們希望只有特定的一些用戶可以連入數據庫,比如管理員級別用戶。在這種時候,我們可以使用restricted mode方式啟動數據庫。

 

啟用restricted mode方式啟動和運行數據庫后,只有那些具有create sessionrestricted session權限的用戶,才能登錄入系統數據庫。默認情況下,只有SYSDBASYSOPER用戶擁有restricted session權限。意味著只有數據庫管理權限的用戶才能進行restricted mode下的數據管理工作。

 

還有一點要注意,在restricted mode下,用戶即使擁有restricted session權限,只能本地登錄并且不經過監聽程序才可以。Remote方式登錄是被拒絕的。

 

通常,在下面的情況下才考慮使用restricted mode進行維護工作。

 

ü        需要進行導入和導出數據。這個過程中,數據完整性是不能保證的,最好還是禁止應用用戶登入;

ü        使用SQL*Loader進行數據加載;

ü        臨時性的拒絕一般用戶連入訪問數據;

ü        執行特定的數據移植和升級操作;

 

使用startup restrict命令,就可以以restricted mode方式啟動數據庫。

 

 

SQL> startup restrict

ORACLE instance started.

 

Total System Global Area  414298112 bytes

Fixed Size                  1336904 bytes

Variable Size             310380984 bytes

Database Buffers           96468992 bytes

Redo Buffers                6111232 bytes

Database mounted.

Database opened.

 

此時,從客戶端嘗試登錄。

 

首先,嘗試在本地local登錄

 

//本地繞過監聽器程序登錄,是通過的。

SQL> conn / as sysdba;

Connected.

SQL> select count(*) from dba_objects;

 

  COUNT(*)

----------

     72461

 

//監聽器本地登錄

SQL> conn sys/sys@wilson as sysdba;

ERROR:

ORA-12526: TNS:listener: all appropriate instances are in restricted mode //報錯,被拒絕

 

 

Warning: You are no longer connected to ORACLE.

 

//restricted session權限用戶

SQL> conn scott/tiger@wilson;

ERROR:

ORA-12526: TNS:listener: all appropriate instances are in restricted mode //連接被拒絕

 

//本機非權限登錄

SQL> conn scott/tiger 

ERROR:

ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege

 

 

這次換使用遠程登錄

 

SQL> conn sys/sys@wilson as sysdba;

ERROR:

ORA-12526: TNS: 監聽程序: 所有適用例程都處于受限模式

 

SQL> conn /@wilson as sysdba;

ERROR:

ORA-12526: TNS: 監聽程序: 所有適用例程都處于受限模式

 

SQL> conn scott/tiger@wilson as sysdba;

ERROR:

ORA-12526: TNS: 監聽程序: 所有適用例程都處于受限模式

 

試驗結果比較怪異,

1、restricted mode是一種連接模式,似乎受到監聽器的攔截;

2、繞過監聽器程序之后,要進行權限驗證;

 

兩個條件均滿足,驗證了用戶是具有權限,且是登錄本地的用戶。

 

監聽器狀態有什么特殊的嗎?

 

 

[oracle@oracle11g ~]$ lsnrctl status

 

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-JAN-2011 15:23:08

 

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

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle11g)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date                04-JAN-2011 14:55:16

Uptime                    0 days 0 hr. 27 min. 52 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/oracle/network/admin/listener.ora

Listener Log File         /u01/diag/tnslsnr/oracle11g/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))

Services Summary...

Service "wilson" has 1 instance(s).

  Instance "wilson", status RESTRICTED, has 1 handler(s) for this service...

Service "wilsonXDB" has 1 instance(s).

  Instance "wilson", status RESTRICTED, has 1 handler(s) for this service...

The command completed successfully

 

看到,監聽器對于數據庫的狀態是了解的。這樣就可以理解監聽器報錯12526了。

 

 

恢復狀態

 

通過alter system命令,可以將數據庫系統從restricted mode轉化回正常模式。

 

SQL> alter system disable restricted session;

 

System altered.

 

 

//稍稍等待一下,因為動態注冊可能需要一會更新

SQL> conn scott/tiger@wilson;

Connected.

SQL> select count(*) from emp;

 

  COUNT(*)

----------

        14

 

 

 

Open狀態的系統限制訪問

 

在數據庫處在open狀態的時候,我們也可以通過alter system命令,強行將系統模式轉化到restricted mode。命令為:

 

 

SQL> alter system enable restricted session;

 

System altered.

 

 

這時,系統會轉入到restricted模式。注意,這個時候是可能有其他session正在連入數據庫,不同的結構是由不同的處理方式的。

 

ü        在單實例的環境中,如果系統沒有安裝Oracle RestartOracle管理一個工具),所有用戶會話都不會受到影響。所以,在轉換到restricted mode之后,進行管理工作之前,要手工的kill掉所有的用戶會話;

ü        在單實例的環境中,如果有Oracle Restart組件,所有被Oracle Restart管理的服務都被做離線處理,所有user session自動終止。沒有被Restart管理的服務的連接,是不會離線的;

ü        RAC環境下,實例的服務都是被Oracle Clusterware管理,都會自動終止掉。沒有被Clusterware管理的組件,是不會離線處理的;

Restricted Mode是一種管理工具,在管理生產環境的時候還是比較實用的。

看完上述內容,你們掌握如何理解Restrict Session與Restricted Mood的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍山县| 新余市| 左云县| 高安市| 遂溪县| 廉江市| 石台县| 威宁| 天水市| 永年县| 渭南市| 崇州市| 茌平县| 平塘县| 鄂托克前旗| 大宁县| 涟源市| 渭南市| 屏边| 长宁区| 政和县| 泸定县| 西贡区| 克什克腾旗| 沅陵县| 江安县| 保靖县| 东兰县| 民权县| 原阳县| 土默特右旗| 阿荣旗| 彰化市| 咸阳市| 合江县| 南和县| 石楼县| 晋城| 乌拉特后旗| 汉源县| 玉龙|