關於SYS使用者無法使用延遲段建立的示例
我們知道Oracle有一個延遲段建立的功能,就是建立沒有資料的表的時候,不會分配空間,只有在插入第一條記錄的時候,才會為段分配空間,具體如下:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
SQL> show parameter deferred
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
SQL> conn hr/hr
Connected.
SQL> create table seg_test(c number);
Table created.
SQL> select segment_name from user_segments where segment_name='SEG_TEST';
no rows selected
SQL> insert into seg_test values(1);
1 row created.
SQL> select segment_name,bytes from user_segments where segment_name='SEG_TEST';
SEGMENT_NAME BYTES
-------------------- ----------
SEG_TEST 65536
如果使用SYS使用者建立,具體如下:
SQL> conn / as sysdba
Connected.
SQL> create table seg_test1(c number);
Table created.
SQL> select segment_name,tablespace_name,bytes from dba_segments where segment_name='SEG_TEST1';
SEGMENT_NAME TABLESPACE_NAME BYTES
-------------------- ------------------------------ ----------
SEG_TEST1 SYSTEM 65536
SQL> create table seg_test2(c number) tablespace users;
Table created.
SQL> select segment_name,tablespace_name,bytes from dba_segments where segment_name='SEG_TEST2';
SEGMENT_NAME TABLESPACE_NAME BYTES
-------------------- ------------------------------ ----------
SEG_TEST2 USERS 65536
SQL> create table seg_test3(c number) segment creation deferred;
create table seg_test3(c number) segment creation deferred
*
ERROR at line 1:
ORA-14223: Deferred segment creation is not supported for this table
強制使用segment creation deferred報錯。
可以看到建立了表之後就分配了空間,與建立在哪個表空間沒有關係。
SQL> conn hr/hr
Connected.
SQL> create table emptest3 tablespace system as select * from employees;
Table created.
SQL> select segment_name,bytes from user_segments where segment_name='EMPTEST3';
SEGMENT_NAME BYTES
-------------------- ----------
EMPTEST3 65536
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2072565/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SYS使用者物件不支援延遲段物件
- 【延遲段建立】Oracle 11gR2的延遲段建立(deferred segment creation)特性Oracle
- SYS使用者的表無法建立物化檢視日誌
- Oracle11gr2延遲段建立Oracle
- Oracle 11gr2 的新特性-延遲段建立Oracle
- sys使用者無法連線到DB
- oracle 11g deferred_segment_creation段延遲建立Oracle
- 資料泵無法匯出sys使用者下的表
- oracle延遲事務無法自動推入處理Oracle
- 關於延遲載入,立即載入的問題
- SYS使用者可以登入,其他使用者無法登陸的問題處理
- Oracle SYS使用者無法設定session級別的read onlyOracleSession
- 使用延遲關聯實現高效分頁
- 關於js延遲載入(非同步操作)的方式JS非同步
- Unlimited Tablespace 許可權 及 “延遲段”特性MIT
- MYSQL建立使用者後本地無法登入的原因MySql
- 關於weget “無法建立SSL連線”的解決方法
- 基於rabbitmq延遲外掛實現分散式延遲任務MQ分散式
- Linux版對sys使用者進行審計的示例Linux
- hr使用者示例建立指令碼指令碼
- 下面是一個基於PowerShell的示例指令碼,定期檢測網路延遲並根據延遲的變化手動更新路由表。此示例透過使用 Test-Connection 命令檢測網路延遲,並根據延遲值來決定是否更新路由表。指令碼路由
- 使用Chronicle Queue建立低延遲的TB級別的佇列 - DZone佇列
- 關於setRouteLeaveHook無法使用時的替代方案registerTransitionHookHook
- 建立表空間、回滾段、使用者、表的詳細語法資訊
- 關於無法建立aps.web專案的解決辦法 (轉)Web
- RabbitMQ延遲訊息的延遲極限是多少?MQ
- jquery淡入淡出無延遲程式碼jQuery
- 關於oracle with table as 建立臨時表的用法示例以及使用with as 的優點Oracle
- 【11gR2新特性】extent延遲建立
- 關於號段選取的sql寫法SQL
- osg使用整理(11):延遲渲染
- 建立表空間、回滾段、使用者、表的詳細語法資訊(轉)
- 關於iPhone X下Home鍵的隱藏和延遲響應iPhone
- 【原創】Linux版 對sys使用者進行審計的示例Linux
- 【MySQL】 效能優化之 延遲關聯MySql優化
- 關於多使用者建立相同表實現shell
- 基於Dynomite的分散式延遲佇列MIT分散式佇列
- 如何建立 Laravel 延遲載入的服務提供者Laravel