oracle 資料庫表空間

2021-06-19 17:29:29 字數 3149 閱讀 1623

1、 建立表空間

格式:--建立表空間

create tablespace 《表空間名》 datafile  '《表空間檔案儲存物理路徑.ora>'

size 500m

defaultstorage

autoextend on(initial 100m   next 100m   minextents 20   maxextents unlimited)

online;

解釋:1) datafile: 表空間資料檔案存放路徑

2) size: 起初設定為200m

4) 空間名稱mytablespace 與 資料檔案名稱 mytablespace.ora 不要求相同,可隨意命名.

5) autoextend on/off 表示啟動/停止自動擴充套件表空間

6) 例子:

create tablespace mytablespace

datafile'd:\database_oracle_11g_install\product\11.2.0\dbhome_1\mytablespace.ora'

size 500m

default storage

(initial 200m

next 50m

minextents 20

maxextents unlimited)

online;

會出現的錯誤:

minextents引數值會引發的錯誤:

imp-00003: 遇到 oracle 錯誤 1659

ora-01659: 無法分配超出 6 的 minextents (在表空間 tsp1 中)

解決方法:將minextents引數值改小,minextents 1

size引數值會引發的錯誤:

imp-00058: 遇到 oracle 錯誤 1691

ora-01691: lob 段 sa.sys_lob0000064336c00002$$ 無法通過 1024 (在表空間 tsp1 中) 擴充套件

解決方法:將minextents引數值改大,size 2000m

2、oracle中擴大表空間

alter database  datafile 'd:\database_oracle_11g_install\product\11.2.0\dbhome_1\mytablespace.ora'   resize 2000m;

刪除表空間:

drop tablespace mytablespace including contents and datafiles;  把與該錶空間的連線和資料檔案一同刪除

3、建立使用者 (指定預設表空間和臨時表空間指定連線狀態)

create user username profile "default"----->>預設的配置檔案,屬性檔案,檔名大寫

identified by userpwd

default tablespace "tablespace"------------>>預設的表空間,並不一定位於自己建立的表空間中,空間名大寫

temporary tablespace "temp"---------------->>臨時表空間,一般都使用temp,大寫

account unlock;---------------------------->>讓使用者處於解鎖狀態

例子:--建立使用者

create user auser profile default identified by 123456 default

tablespace users temporary tablespace temp account unlock;

ps:oracle自己有乙個表空間為users,如建立的使用者使用users表空間,直接授權使用即可,無需再次建立

同時同乙個使用者的預設表空間只有乙個,但可授權使用多個表空間,授權方式如下:

alter user auser quota unlimited on tp1;

alter user auser quota unlimited on tp2;

查詢當前使用者使用的預設表空間:select * from user_users;

查詢當前使用者下所有表使用的表空間情況:select t.table_name,t.tablespace_name,t.min_extents,t.next_extent,t.max_extents from user_tables t;

4、為使用者授權

授予連線資料庫的許可權,以便使用者可以登入:grant create session to username;

授予表空間使用權:grant resource to username;

授予建立表許可權:grant create table to username;

授權查詢:grant select on dept to tt;

一起授權grant connect,resource,dba to使用者名稱;

例子:grant connect,resource,dba to user;

--解除授權

revoke dba from 《使用者名稱》;

5、刪除使用者

drop user 使用者名稱 cascade;

commit;

6、使用者資訊(賬號,密碼,狀態,預設表空間,使用者建立時間)

select  username,password,account_status,default_tablespace,created from dba_users;

--修改使用者密碼

alter user 使用者名稱 identified by新密碼;

說乙個oracle錯誤:報正在匯出錯誤的統計資訊

[oracle@mwsg1: ~]$oerr exp 00091

00091, 00000, "exporting questionable statistics."

錯誤原因:客戶端與服務端使用的字符集不一致,需調整字符集,貌似不調整也不會影響資料;

查詢所使用的字符集:select * from v$nls_parameters where parameter='nls_characterset';

可以處理:當匯出時加上statistics=none,例如:exp scott/tiger@orcl file=f:\scott.dmp statistics=none

也可以通過設定修改引數nls_characterset的值

Oracle資料庫表空間

永久表空間 表空間是資料庫的邏輯劃分,乙個表空間只屬於乙個資料庫。所有的資料庫物件都存放在指定的表空間中。但主要存放的是表,所以稱作表空間 臨時表空間 oracle臨時表空間主要用來做查詢和存放一些緩衝區的資料。臨時表空間消耗的主要原因是需要讀查詢的中間結果進行排序。重啟資料庫可以釋放臨時表空間 建...

資料庫 oracle資料庫建立表空間

上學的時候就裝過兩次oracle資料庫,但是一直沒有學會使用,缺少的是建立使用者表空間。臨時表空間 資料表空間 給使用者授權 sid 表空間 使用者 表 oracle11g伺服器安裝詳細步驟 教程 源文件 1 sqlplus登入 as sysdba2 建立臨時表空間 createtemporary ...

Oracle資料庫表調整表空間

調整表 table 所屬表空間 調整索引 index 所屬表空間 生成table遷移語句 select alter table table name move tablespace 新錶空間名 from user all tables 生成index遷移語句 select alter index i...