oracle建立表空間 使用者 授權

2021-08-30 14:38:44 字數 3707 閱讀 3106

建立表空間示例如下:

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...