oracle創建表空間自增空間管理


表空間(tablespace)、段(segment)、區(extent)、塊(block),這些都是oracle數據庫在數據文件中組織數據的基本單元

1.創建表空間
create tablespace SIRM2 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 1024M --存儲地址 初始大小1G
autoextend on next 10M maxsize unlimited   --每次擴展10M,無限制擴展
EXTENT MANAGEMENT local  autoallocate
segment space management auto;

創建表空間,名稱為SIRM2 ;
2. 表空間有一個數據文件*.dbf,大小為1024MB;
3. 允許表空間自動擴展(autoextends),每次增長10MB(next 10M),並且不限制最大大小;
4. 說明表空間本地(local)管理,並自動分配范圍(autoallocate),用戶不能指定范圍的大小;
5. 段空間(segment)的空間管理上使用bitmaps(auto)來管理數據塊。使用AUTO會比使用MANUAL有更好的空間利用率,與效能上的提升。

在Oracle 8i以前,可以有兩種選擇,一種是在字典中管理(DICTIONARY),另一種是本地管理(LOCAL ),從9I開始,只能是本地管理方式.因為LOCAL 管理方式有很多優點.
在字典中管理(DICTIONARY): 將數據文件中的每一個存儲單元做為一條記錄,所以在做DM操作時,就會產生大量的對這個管理表的Delete和Update操作.做大量數據管理時,將會產生很多的DM操作,嚴得的影響性能,同時,長時間對表數據的操作,會產生很多的磁盤碎片,這就是為什么要做磁盤整理的原因.
本地管理(LOCAL): 用二進制的方式管理磁盤,有很高的效率,同進能最大限度的使用磁盤. 同時能夠自動跟蹤記錄臨近空閑空間的情況,避免進行空閑區的合並操作。
SEGMENT SPACE MANAGEMENT
磁盤擴展管理方法:
SEGMENT SPACE MANAGEMENT: 使用該選項時區大小由系統自動確定。由於 Oracle 可確定各區的最佳大小,所以區大小是可變的。


2.創建用戶
 create user test  identified by test 
default tablespace SIRM2
  temporary tablespace TEMP
  profile DEFAULT;
3.授權
grant dba to test;
grant connect to test;
grant resource to test;

4.代碼例子

--查看表空間
select distinct tablespace_name from dba_free_space;
--創建表空間
create tablespace XH_History_WS
datafile 'D:\app\bailongfei123\oradata\orcl\XH_History_WS.dbf'
size 120M   --存儲地址 初始大小120M
autoextend on next 10M maxsize unlimited   --每次擴展10M,無限制擴展
EXTENT MANAGEMENT local  autoallocate   ---說明表空間本地(local)管理,並自動分配范圍(autoallocate),用戶不能指定范圍的大小
segment space management auto;     --段空間(segment)的空間管理上使用bitmaps(auto)來管理數據塊。使用AUTO會比使用MANUAL有更好的空間利用率,與效能上的提升
--刪除表空間
drop tablespace XH_History_WS including contents and datafiles;

--創建用戶
create user XH_Bai_History_WS
identified by tiger
default tablespace XH_History_WS;

-----
alter user 用戶 quota unlimited on 表空間A;
alter user 用戶 quota unlimited on 表空間B;
--或者放開所有表空間
grant unlimited tablespace to 用戶;
--或者索性給所有權限
grant resource,connect,dba to 用戶;
--查詢用戶
select * from all_users;

--授權
grant connect to XH_Bai_History_WS;-- --是授予最終用戶的典型權利,最基本的權力,能夠連接到ORACLE數據庫中,並在對其他用戶的表有訪問權限時,做SELECT、UPDATE、INSERTT等操作
grant resource to XH_Bai_History_WS;--是授予開發人員的,能在自己的方案中創建表、序列、視圖等。
grant dba to XH_Bai_History_WS;--是授予系統管理員的,擁有該角色的用戶就能成為系統管理員了,它擁有所有的系統權限
--revoke
revoke  connect,resource from java_user;
grant create view to java_user
--創建視圖權限,一般網上找都是說的這句,但是光有這句還是無法創建 
grant create  view to XH_Bai_History_WS; 

--授予查詢權限 
grant select any table to B; 

--授予權限 
grant select any dictionary to B; 


--以上3項地后就能正常創建視圖了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM