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
- Oracle幾個初始化引數Oracle
- Oracle RAC初始化引數管理Oracle
- oracle 常見初始化引數Oracle
- ORACLE初始化引數的配置Oracle
- Oracle初始化引數的來源Oracle
- ORACLE初始化引數:AUDIT_TRAILOracleAI
- Oracle FILESYSTEMIO_OPTIONS初始化引數Oracle
- ORACLE初始化引數檔案介紹Oracle
- Oracle 並行相關的初始化引數Oracle並行
- Oracle USE_LARGE_PAGES初始化引數Oracle
- Oracle初始化引數設定new(轉)Oracle
- Oracle 9i初始化引數檔案Oracle
- oracle10g初始化引數說明Oracle
- 【原創】Oracle 初始化引數&效能檢視Oracle
- Oracle建庫必備的核心初始化引數Oracle
- Oracle 9i初始化引數檔案(轉)Oracle
- 搭建Oracle DataGurad需要的常用初始化引數Oracle
- Oracle修改初始化引數(initialization parameter)scope的選項Oracle
- Oracle Database 11gR2初始化引數知多少OracleDatabase
- 2 Day DBA-管理Oracle例項-檢視和修改初始化引數-練習:檢視和修改初始化引數Oracle
- ORACLE 25個需要深思熟慮重要的初始化引數Oracle
- Oracle9i初始化引數中文說明[轉貼]Oracle
- 最影響Oracle系統效能的初始化引數(zt)Oracle
- 2 Day DBA-管理Oracle例項-關於初始化引數Oracle
- ORACLE RAC資料庫中的初始化引數的設定Oracle資料庫
- Oracle引數-隱藏引數Oracle
- 2.6.2.2 初始化引數DB_DOMAINAI
- 2.6.1.1 初始化引數檔案示例
- 初始化引數REMOTE_OS_AUTHENTREM
- 【SQL優化器】初始化引數SQL優化
- oracle 引數Oracle
- Linux系統初始化*引數初始化(指令碼)Linux指令碼
- Oracle 11G 資料庫重要的初始化引數設定Oracle資料庫
- oracle11g中的幾個記憶體初始化引數Oracle記憶體
- 區分oracle的初始化引數為靜態還是動態Oracle
- [Oracle]由於初始化引數檔案修改錯誤導致oracle無法startupOracle
- 4.2.1.3 學習如何管理初始化引數