Oracle SQL92_SECURITY初始化引數
這篇文章透過例子討論sql92_security初始化引數的作用。
sql92_security
Oracle 11.1.0:
Parameter Name: | sql92_security | ||
Description: | require select privilege for searched update/delete | ||
Type: | BOOL | Obsoleted: | FALSE |
Can ALTER SESSION: | FALSE | Can ALTER SYSTEM: | FALSE |
參考文章:
當sql92_security被設定成TRUE時,對錶執行UPDATE/DELETE操作時會檢查當前使用者是否具備相應表的SELECT許可權。下面的例子展示了該引數的作用:
C:\Users\LIUBINGLIN>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期二 5月 21 18:17:45 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter sql92
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
sql92_security boolean
FALSE
SQL> show user
USER 為 "SYS"
SQL> select * from a.atest;
ID NAME
---------- ----------------------------------------
1 aaa
2 bbb
3 ccc
4 ddd
SQL> grant update,delete on a.atest to b;
授權成功。
SQL> connect b/oracle123123
已連線。
SQL> select * from a.atest;
select * from a.atest
*
第 1 行出現錯誤:
ORA-01031: 許可權不足
SQL> delete from a.atest where id=4;
已刪除 1 行。
SQL> commit;
提交完成。
SQL> update a.atest set name='abc' where id=3;
已更新 1 行。
SQL> commit;
提交完成。
SQL> connect / as sysdba
已連線。
SQL> select * from a.atest;
ID NAME
---------- ----------------------------------------
1 aaa
2 bbb
3 abc
SQL> show parameter sql92
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
sql92_security boolean
FALSE
SQL> alter system set sql92_security=true scope=spfile;
系統已更改。
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 263639040 bytes
Fixed Size 1384012 bytes
Variable Size 167772596 bytes
Database Buffers 88080384 bytes
Redo Buffers 6402048 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL> connect b/oracle123123
已連線。
SQL> select * from a.atest;
select * from a.atest
*
第 1 行出現錯誤:
ORA-01031: 許可權不足
SQL> delete from a.atest where id=3;
delete from a.atest where id=3
*
第 1 行出現錯誤:
ORA-01031: 許可權不足
SQL> update a.atest set id='abc' where id=2;
update a.atest set id='abc' where id=2
*
第 1 行出現錯誤:
ORA-01031: 許可權不足
SQL> connect / as sysdba
已連線。
SQL> grant select on a.atest to b;
授權成功。
SQL> connect b/oracle123123
已連線。
SQL> delete from a.atest where id=3;
已刪除 1 行。
SQL> commit;
提交完成。
SQL> update a.atest set name='abc' where id=2;
已更新 1 行。
SQL> commit;
提交完成。
SQL> select * from a.atest;
ID NAME
---------- ----------------------------------------
1 aaa
2 abc
--end--
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-761681/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle初始化引數的來源Oracle
- 16 初始化引數
- 2.6 指定初始化引數
- 2.7.5 SPFILE初始化引數
- Oracle 核心引數Oracle
- 0607-引數初始化策略
- Oracle:PDB 引數管理Oracle
- 2.6.9.1 關於 COMPATIBLE初始化引數
- 2.6.8.2 UNDO_TABLESPACE 初始化引數
- 2.6.8.1 UNDO_MANAGEMENT 初始化引數
- 2.6.2.2 初始化引數DB_DOMAINAI
- 2.6.2.1 初始化引數DB_NAME
- 2.6.1.1 初始化引數檔案示例
- 2.7.7 清除初始化引數的值
- 2.7.6 改變初始化引數值
- 所有初始化引數說明(轉)
- MogDB 2.1.1 初始化引數概要說明
- 2.6.5.1 DB_BLOCK_SIZE 初始化引數BloC
- 4.2.1.3 學習如何管理初始化引數
- PyTorch常用引數初始化方法詳解PyTorch
- webpack 流程解析(2):引數初始化完成Web
- ORACLE並行相關的引數Oracle並行
- Oracle GoldenGate常用引數詳解OracleGo
- oracle rac 核心引數詳解Oracle
- Oracle Table建立引數說明Oracle
- Oracle JDBC ResultSet引數測試OracleJDBC
- 使用 XmlCommand 對Oracle傳引數XMLOracle
- Oracle RAC引數檔案管理Oracle
- java 執行緒池的初始化引數解釋和引數設定Java執行緒
- 2.4.5 Step 4: 建立初始化引數檔案
- 2.6.1.2 平文字初始化引數檔案格式
- 初始化引數遊標之cursor_sharing
- oracle O7_DICTIONARY_ACCESSIBILITY 引數Oracle
- [20190917]oracle引數deferred屬性.txtOracle
- Oracle面試寶典-引數篇Oracle面試
- Oracle RAC修改引數檔案位置Oracle
- Oracle ENABLE=broken引數與TCP KeepAliveOracleTCP
- 未初始化變數引發執行時故障變數
- 2.7.6.2 設定或修改初始化引數的值