oracle對錶空間的操作

2021-08-09 16:10:21 字數 4056 閱讀 6269

動態效能檢視

當oracle資料庫在啟動的時候就會建立動態效能檢視,當關閉的時候就會刪除動態效能檢視。 o

racle資料庫的動態檢視都是以v_$開始的,並且oracle為每個動態效能檢視提供相應的同義詞,並且同義詞是以v$開始。例如:v_$datafile的同義詞為v$datafile;動態檢視所有者為 sys 一般情況有dba或者特權使用者來查詢動態效能檢視。用到的不多。

管理表空間和資料檔案

表空間是資料庫的邏輯組成部分,從物理上講,資料庫資料存放在資料檔案中;從邏輯上講:資料庫則是存放在表空間中,表空間由乙個或是多個資料檔案組成。

資料庫的邏輯結構

oracle中邏輯結構包括表空間、段、區和塊。

說明一下資料庫由表空間構成,而表空間由段構成,段有事由區構成,區有是由oracle塊構成的這樣的一種結構。可以提高資料庫的效率。

表空間是沒有限制的,使用資料檔案構成。

表空間用於從邏輯上組織資料庫的資料,資料庫邏輯上是由乙個或者多個表空間組成。通常表空間可以達到作用:

1. 控制資料庫占用的磁碟空間。

2. dba可以將不同資料型別部署到不同的位置,這樣有利於提高i/o效能,有利於備份和恢復等管理操作。

建立表空間

create tablespace 命令,需要注意的是,一般情況下,建立表空間的特權使用者或者是dba來執行。如果用其他使用者來建立,則需要具備 create tablespace的系統許可權。

建立資料表空間

建立資料庫後為方便管理表,最好建立自己的表空間。

create tablespace 表空間名 datafile

『d:\資料夾名\***.dbf

』(檔名)size 20m (空間大小,不能超500m)uniform size 128k(區大小)

create tablespace hfc datafile 'd:\hfc\hfc.dbf'size 20m uniform size 128k;

使用表空間

create table hfc (id number(4),name varchar(10))tablespace hfc;

改變表空間的狀態

建立表空間的時候,他是處於聯機(online)狀態。此時可以訪問。並且表空間是可讀可寫的,查詢資料庫,表空間執行各種語句,但是在進行系統維護的時候,可能需要改變表空間的狀態。有特權使用者和 dba來進行操作。

表空間離線/聯機 a

lter tablespace 空間名 offline/online;

唯讀表空間

建立表空間的時候,表空間可以讀寫,如果只不希望表空間執行。

update,delete, insert操作。就可把表修改為唯讀。 a

lter tablespace 空間名 read only/read write;

知道表空間名,顯示該錶空間的所有表

select *from all_tables where tablespace_name=

』空間名』;

知道表查詢表空間

select tablespace_name,table_name from user_tables where table_name=

』hfc』;

system 表空間是不能進行讀寫的,因為這個是系統表空間,一般情況下,普通表空間是可以讀寫限制的。

刪除表空間

特權使用者和dba使用者來操作,具備drop tablespace的系統許可權。 d

rop tablespace

『表空間名字

』including contents(資料庫物件) and datafiles(資料庫檔案也刪除);

擴充套件表空間

表空間是有資料檔案組成,空間大些實際是資料庫檔案相加後的大小,如果空間滿了再向裡面存放資料就會出現空間不足的錯誤

例子:1.建立乙個表空間 hfc

2.建立乙個表hfc,結構和emp一樣。

像表中加資料 insert into  hfc select *from emp;

3. 出現無法擴充套件的問題。

4. 擴充套件表空間,為其增加儲存空間 3種方法:

第一種:增加資料檔案

alter tablespace  hfc  add datafile 『d:\hfc.dbf』size 20m;

第二種手動增加資料檔案的大小

alter database datafile 'd:\hfc.dbf'

(把原來的擴充到80)

resize 80m;

第三種自動增長

alter tablespace hfc 『d:\hfc.dbf』autoextend on next 10m maxsize 500m;

alter database datafile 'd:\hfc\hfc.dbf' autoextend on next 50m maxsize 500m;

/*分為四步 */

/*第1步:建立臨時表空間  */

create temporary tablespace user_temp  

tempfile 'd:\oracle\oradata\oracle9i\user_temp.dbf'

size 50m  

autoextend on  

next 50m maxsize 20480m  

extent management local;  

/*第2步:建立資料表空間  */

create tablespace user_data  

logging  

datafile 'd:\oracle\oradata\oracle9i\user_data.dbf'

size 50m  

autoextend on  

next 50m maxsize 20480m  

extent management local;  

/*第3步:建立使用者並指定表空間  */

create user username identified by password  

default tablespace user_data  

temporary tablespace user_temp;  

/*第4步:給使用者授予許可權  */

grant connect,resource,dba to username;

移動資料檔案

資料檔案所在的磁碟壞掉,該檔案就不能使用,這樣就需要將這些檔案的副本移動到其他磁碟然後恢復。

1.確定資料檔案所在的表空間 s

elect tablespace_name from dba_data_files where file_name=

』d:\hfc.dbf』;

2.使表空間離線

確保資料檔案的一致性,將表空間轉換成offline a

lter tablespace hfc offline ;

1. 資料遷移

host move d:\hfc.dbf c:\hfc.dbf;

2. 物理修改完後執行alter tablespace hfc rename datafile d:\hfc.dbf c:\hfc.dbf; 對資料庫檔案進行邏輯修改

3. 表空間聯機

移動資料後聯機資料庫

alter tablespace hfc online ;

顯示表空間的資訊

查詢資料字典檢視 dba_tablespace 顯示表空間資訊 s

elect tablespace_name from dba_tablespaces;

顯示表空間所包含的資料檔案

查詢資料字典檢視 dba_data_files 可顯示表空間所包含的資料檔案 s

elect file_name, bytes from dba-data_files where  tablespace _name=

』hfc』;

總結1. 資料檔案和表空間的作用

2. 常用表空間(索引表空間,undo表空間,臨時表空間,非標準塊表空間)。

3. 表空間的狀態(online ,offline ,read write ,read only)狀態方法,以及改變表空間的方法。

4. 移動資料的原因

oracle對錶空間進行操作

1.更改資料檔案大小 alter database datafile filename resize 大小 2.向表空間新增資料檔案 alter tablespace 表空間名 add datafile filename size 10 autoextend on 3.表空間唯讀 alter tab...

Oracle 對錶空間無操作許可權

設定使用者的表空間users的大小 對使用者c user01的表空間users不限制大小 alter user c user01 quota unlimited on users 為使用者c user01的表空間users分配5m儲存空間 alter user c user01 quota 5m o...

Oracle 對錶的操作

給表增加字段 alter table 表名 add 欄位名 型別 default 預設值 修改表字段 alter table 表名 modify 要修改的字段 型別 如果你是以a使用者登入資料庫,想檢視a使用者下所有的表,用這個語句 select table name from user table...