- SChema
- Schema在Oracle中可以看成是一個特定的使用者,其所涵蓋的內容包括了有 table , view , store procedure的所有集合,所以在一般的操作上都會說需要帳號(schema)以及密碼來進行資料處理。
- Table Space
- 顧名思義,表格空間,指的是您可以指定將所要使用的 table檔案內容,都指定寫到某個特定的physical disk ,對於每個不同的表格都可以獨立指定,當然也可以統一使用預設值來指定(在文厚的範例中可以看到)。
- Data File
- 對於資料儲存的概念上,若是以操作SQL Server來看,通常都是一個 dbf檔就是把所有資料庫上的檔案內容通通儲存在這,好處是單一檔案便於管理、備份,但相對地若萬一資料成長得過於龐大時,就會需要做資料搬移、切割的動作,以提高整體維護性。
- 在Oracle的設計上,就因為有Table Space的觀念,所以可以指定不同的 data file可以存放不同的指定資料(table)內容,也可因應表格空間的成長狀況,來做檔案新增的動作。
- Polices
- 對於schema的權限管理上,預設是沒有提供任何權限的,需要做grant policy的動作才能讓使用者進行連線、資料庫存取行為。
以下是一個簡單的範例用來說明上述的概念
Scenario : 我想要建立一個KimUser的 Schema(帳號),然後將資料表儲存在一個特定的資料夾裡,對於資料成長情況我期望她是可以自動的增長,直到我認為這個資料表的data file 達到我預期的上限
create tablespace kimuserts1 datafile 'd:\app\mydb\kimuserts1_1.dbf' size 1024m autoextend on next 1024m maxsize 16g;
-- 建立表格空間 kimuserts1,並指定datafile存放至d:\~~,初始的檔案大小為1g,並自動於即將到達檔案上限時自動再增長1g,直到16gb為止。
create tablespace kimuseridxts1 datafile 'd:\app\mydb\kimuseridxts1_1.dbf' size 1024m autoextend on next 1024m maxsize 16g;
--建立表格空間kimuseridxts1,這是用來指定index 所存放的表格空間
create user kimuser identified by kimuser default tablespace kimuserts1 temporary tablespace temp quota unlimited on kimuserts1;
-- 建立使用者Schema kimuser,預設密碼kimuser,以及預設的表格空間存放在 kimuserts1並使其使用檔案表格空間上限無上限
alter user kimuser quota unlimited on kimuseridxts1;
--變更 index tablespace 空間使用上限
grant resource , connect to kimuser;
--讓kimuser 可以有資源存取權以及連線權限
2 則留言:
HumanK you are seriously... I feel proud to be your classmate.
當我發現我有個這樣的朋友兼兄弟 真是非常的驚喜與意外
請繼續努力
張貼留言