Unlimited Tablespace 許可權 及 “延遲段”特性
1、UNLIMITED TABLESPACE 的含義
一個使用者如果被賦予這個許可權,那就獲得了在所有資料表空間上不限制空間使用的許可權。這個許可權包含在RESOURCE這個ROLE中。
2、實驗
(1)建立測試tablespace
-
SQL> show user
- USER is "SYS"
-
-
SQL> create tablespace tbs1
-
2 datafile '/oradat/TRANS/tbs1_01.dbf' size 100M
-
3 logging
-
4 extent management local
-
5 segment space management auto;
-
-
Tablespace created.
-
-
SQL> create tablespace tbs2
-
2 datafile '/oradat/TRANS/tbs2_01.dbf' size 100M
-
3 logging
-
4 extent management local
-
5 segment space management auto;
-
- Tablespace created.
-
SQL> create user mth identified by mth default tablespace tbs1 temporary tablespace TEMP;
-
- User created.
-
SQL> grant connect,resource to mth;
Grant succeeded.
-
SQL> conn mth/mth
-
Connected.
-
SQL> select * from user_role_privs;
-
-
USERNAME GRANTED_ROLE ADM DEF OS_
-
--------------- ------------ --- --- ---
-
MTH CONNECT NO YES NO
-
MTH RESOURCE NO YES NO
-
SQL> select privilege from user_sys_privs;
-
-
PRIVILEGE
-
----------------------------------------
-
UNLIMITED TABLESPACE
-
-
SQL> conn / as sysdba
-
Connected.
-
SQL> revoke resource from mth;
-
-
Revoke succeeded.
-
-
SQL> conn mth/mth
-
Connected.
-
SQL> select * from user_role_privs;
-
-
USERNAME GRANTED_ROLE ADM DEF OS_
-
--------- ------------ --- --- ---
-
-
MTH CONNECT NO YES NO
-
-
SQL> select privilege from user_sys_privs;
-
- no rows selected
可以看到,UNLIMITED TABLESPACE是包含在在resource中的。
-
SQL> conn / as sysdba
-
Connected.
-
SQL> grant resource to mth;
-
- Grant succeeded.
(3)建立測試表,插入測試資料
-
SQL> conn mth/mth
-
Connected.
-
SQL> create table t1(id number);
-
-
Table created.
-
-
SQL> insert into t1 values(1);
-
-
1 row created.
-
-
SQL> commit;
-
-
Commit complete.
-
-
SQL> create table t2(id number) tablespace tbs2;
-
-
Table created.
-
-
SQL> insert into t2 values(2);
-
-
1 row created.
-
-
SQL> commit;
-
- Commit complete.
(4)收回UNLIMITED TABLESPACE許可權,再做測試。
-
SQL> conn / as sysdba
-
Connected.
-
SQL> revoke unlimited tablespace from mth;
-
-
Revoke succeeded.
-
-
SQL> conn mth/mth;
-
Connected.
-
SQL> create table t3(id number);
-
-
Table created.
-
-
SQL> insert into t3 values(3);
-
insert into t3 values(3)
-
*
-
ERROR at line 1:
-
ORA-01950: no privileges on tablespace 'TBS1'
-
-
SQL> create table t4(id number) tablespace tbs2;
-
-
Table created.
-
-
SQL> insert into t4 values(4);
-
insert into t4 values(4)
-
*
-
ERROR at line 1:
- ORA-01950: no privileges on tablespace 'TBS2'
延遲段:預設將表、索引、LOB的物理空間分配推遲到第一條記錄插入表中時。即有實際的資料插入表中時,再為每個物件按照定義的空間大小,為其分配空間 。此時,才能在相關檢視中看見該表的相關儲存資訊。
-
SQL> select * from v$version where rownum<2;
-
-
BANNER
-
--------------------------------------------------------------------------------
-
- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
當DEFERRED_SEGMENT_CREATION=TRUE時,啟用延遲段特性;反之,不啟用。預設的,資料庫啟用該引數。
-
SQL> show parameter defer
-
-
NAME TYPE VALUE
-
---------------------------- ----------- ----------------
-
- deferred_segment_creation boolean TRUE
-
-
SQL> alter system set deferred_segment_creation=false;
-
-
System altered.
-
-
SQL> show parameter defer
-
-
NAME TYPE VALUE
-
--------------------------- ----------- ----------------
-
- deferred_segment_creation boolean FALSE
-
SQL> alter system set deferred_segment_creation=false;
如果只想限制某個使用者使用該特性,就需要在會話層進行禁用。
(2)會話層禁用
-
SQL> alter session set deferred_segment_creation=false;
-
-
System altered.
-
-
SQL> show parameter defer
-
-
NAME TYPE VALUE
-
--------------------------- ----------- ----------------
-
- deferred_segment_creation boolean FALSE
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30776559/viewspace-2121398/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle unlimited tablespace 許可權的用途OracleMIT
- unlimited tablespace許可權的授予和回收MIT
- unlimited tablespace許可權和quota 配額MIT
- 表空間配額和UNLIMITED TABLESPACE許可權MIT
- 詳解Oracle的unlimited tablespace系統許可權OracleMIT
- 系統許可權UNLIMITED TABLESPACE為什麼如此特殊?MIT
- 使用者有connect,resource,dba角色許可權後回收dba許可權導致無UNLIMITED TABLESPACE許可權造成業務中斷MIT
- 【延遲段建立】Oracle 11gR2的延遲段建立(deferred segment creation)特性Oracle
- Oracle 11gr2 的新特性-延遲段建立Oracle
- 從ORA-01950報錯聊起——令人困惑的Resource角色和隱含unlimited tablespace系統許可權MIT
- Android許可權管理之Permission許可權機制及使用Android
- oracle 11gR2,取消使用者unlimited tablespace 許可權,那麼表空間上的quota也會相應取消OracleMIT
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- 遲來的乾貨 | Kafka許可權管理實戰Kafka
- 許可權之選單許可權
- 許可權控制及AOP日誌
- Oracle11gr2延遲段建立Oracle
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- 許可權系統:一文搞懂功能許可權、資料許可權
- MySQL 使用者及許可權管理?MySql
- MySQL使用者及許可權管理MySql
- 帆軟——目錄及許可權配置
- Linux-許可權管理(ACL許可權)Linux
- SYS使用者物件不支援延遲段物件
- AIX 的許可許可權(轉)AI
- Android系統許可權和root許可權Android
- Android新特性解析一:執行時許可權Android
- 11G的rsource角色與Unlimited TablespaceMIT
- 11.2.0.2版本修改回收UNLIMITED TABLESPACE功能MIT
- 【11gR2新特性】extent延遲建立
- mysql許可權MySql
- MySQL 許可權MySql
- ORACLE許可權Oracle
- mysql 8.0.21使用者及許可權操作MySql
- 使用者及檔案許可權管理
- Android許可權管理之Android 6.0執行時許可權及解決辦法Android
- Linux 許可權管理之目錄許可權限制Linux