建立表空間示例如下:
create tablespace "sample"
logging
datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m
extent management local segment space management auto
上面的語句分以下幾部分:
第一 : create tablespace "sample" 建立乙個名為 "sample" 的表空間 .
對錶空間的命名 , 遵守 oracle 的命名規範就可了 .
oracle 可以建立的表空間有三種型別 :
(1)temporary: 臨時表空間 , 用於臨時資料的存放 ;
建立臨時表空間的語法如下 :
create temporary tablespace "sample"......
(2)undo : 還原表空間 . 用於存入重做日誌檔案 .
建立還原表空間的語法如下 :
create undo tablespace "sample"......
(3) 使用者表空間 : 最重要 , 也是用於存放使用者資料表空間
可以直接寫成 : create tablespace "sample"
temporary 和 undo 表空間是 oracle 管理的特殊的表空間 . 只用於存放系統相關資料 .
第二 : logging
有 nologging 和 logging 兩個選項 ,
nologging: 建立表空間時 , 不建立重做日誌 .
logging 和 nologging 正好相反 , 就是在建立表空間時生成重做日誌 .
用 nologging 時 , 好處在於建立時不用生成日誌 , 這樣表空間的建立較快 , 但是沒能日誌 , 資料丟失後 , 不能恢復 , 但是一般我們在建立表空間時 , 是沒有資料的 , 按通常的做法 , 是建完表空間 , 並匯入資料後 , 是要對資料做備份的 , 所以通常不需要表空間的建立日誌 , 因此 , 在建立表空間時 , 選擇 nologging, 以加快表空間的建立速度 .
第三 : datafile 用於指定資料檔案的具體位置和大小 .
如 : datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m
說明檔案的存放位置是 'd:\oracle\oradata\ora92\luntan.ora' , 檔案的大小為 5m.
如果有多個檔案 , 可以用逗號隔開 :
datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m,
'd:\oracle\oradata\ora92\dd.ora' size 5m
但是每個檔案都需要指明大小 . 單位以指定的單位為準 如 5m 或 500k.
對具體的檔案 , 可以根據不同的需要 , 存放大不同的介質上 , 如磁碟陣列 , 以減少 io 竟爭 .
指定檔名時 , 必須為絕對位址 , 不能使用相對位址 .
第四 : extent management local 儲存區管理方法
在 oracle 8i 以前 , 可以有兩種選擇 , 一種是在字典中管理 (dictionary), 另一種是本地管理 (local ), 從 9i 開始 , 只能是本地管理方式 . 因為 local 管理方式有很多優點 .
在字典中管理 (dictionary): 將資料檔案中的每乙個儲存單元做為一條記錄 , 所以在做 dm 操作時 , 就會產生大量的對這個管理表的 delete 和 update 操作 . 做大量資料管理時 , 將會產生很多的 dm 操作 , 嚴得的影響效能 , 同時 , 長時間對錶資料的操作 , 會產生很多的磁碟碎片 , 這就是為什麼要做磁碟整理的原因 .
本地管理 (local): 用二進位制的方式管理磁碟 , 有很高的效率 , 同進能最大限度的使用磁碟 . 同時能夠自動跟蹤記錄臨近空閒空間的情況,避免進行空閒區的合併操作。
第五 : segment space management
磁碟擴充套件管理方法 :
segment space management: 使用該選項時區大小由系統自動確定。由於 oracle 可確定各區的最佳大小,所以區大小是可變的。
uniform segment space management: 指定區大小,也可使用預設值 (1 mb) 。
第六 : 段空間的管理方式 :
auto: 只能使用在本地管理的表空間中 . 使用 local 管理表空間時 , 資料塊中的空閒空間增加或減少後,其新狀態都會在位圖中反映出來。點陣圖使 oracle 管理空閒空間的行為更加自動化,並為管理空閒空間提供了更好的性 , 但對含有 lob 欄位的表不能自動管理 .
manual: 目前已不用 , 主要是為向後相容 .
第七 : 指定塊大小 . 可以具體指定表空間資料塊的大小 .
建立例子如下 :
1 create tablespace "sample"
2 logging
3 datafile 'd:\oracle\oradata\ora92\sample.ora' size 5m,
4 'd:\oracle\oradata\ora92\dd.ora' size 5m
5 extent management local
6 uniform segment space management
7* auto
sql> /
表空間已建立。
要刪除表空間進 , 可以
sql> drop tablespace sample;
表空間已丟棄。
建立使用者示例如下:
--以dba身份連線到sys或system使用者
conn sys/tbsoft as sysdba;
--刪除使用者(如使用者不存在,則可省略此步驟)
drop user news cascade;
--建立使用者
create user news identified by news;
create user news identified by news default tablespace dbspace; //帶表空間的使用者
create user news identified by news default tablespace
test_data temporary tablespace test_temp; //帶表空間的使用者
--給使用者賦權
grant connect,resource to news;
grant dba to username; --授予dba許可權
grant unlimited tablespace to username;--授予不限制的表空間
grant select any table to username; --授予查詢任何表
grant select any dictionary to username;--授予 查詢 任何字典
-- 新使用者登入
conn news/news;
oracle建立表空間,使用者,授權
pl sql developer 連線 oracle安裝在虛擬機器 pl sql developer oracle client oracle server tnsnames.ora服務 pl sql連線oracle時,資料庫的名填寫 在tns中設定的服務名 tns位置在product 10.2.0...
oracle 建立表空間 使用者 授權
在plsql工具中執行以下語句,可建立oracle表空間。分為四步 第1步 建立臨時表空間 create temporary tablespace yuhang temp tempfile d oracledata yuhang temp.dbf size 50m autoextend on nex...
Oracle建立表空間,使用者,授權
建立臨時表空間sql create temporary tablespace tempspacename 2 tempfile f oracle tempfile name.dbf 3 size 50m 4 autoextend on 5next 50m maxsize 20480m 6 exten...