表空間的建立 日常維護管理

2022-09-14 00:45:30 字數 3329 閱讀 9253

01 建立資料表空間

本地管理的表空間:

create tablespace test01 

datafile '/oracle/oradata/orcl/test01a.dbf'

size 2m

autoextend off

segment space management auto;

autoextend off —不自動擴充套件

segment space management auto —自動段管理,推薦

不自動擴充套件表空間

create tablespace test02 logging datafile 

'/oracle/oradata/orcl/test02a.dbf' size 2m autoextend off,

'/oracle/oradata/orcl/test02b.dbf' size 2m autoextend off

extent management local

segment space management auto;

自動擴充套件表空間

create tablespace test03 logging datafile 

'/oracle/oradata/orcl/test03a.dbf' size 2m autoextend on next 1m maxsize 20m,

'/oracle/oradata/orcl/test03b.dbf' size 2m autoextend on next 1m maxsize 20m

extent management local

segment space management auto;

建立大表空間:

create bigfile tablespace bigtbs datafile 

'/u02/oracle/data/bigtbs01.dbf' size 50g;

02 建立臨時表空間

create temporary tablespace temp1 

tempfile '/oracle/oradata/orcl/temp1.dbf' size 5m autoextend off;

03 建立undo表空間

create undo tablespace testundo1 

datafile '/oracle/oradata/orcl/testundo1.dbf' size 2m autoextend off;

04 表空間的擴充套件與修改大小

表空間新增資料檔案

alter tablespace temp1 

add tempfile '/oracle/oradata/orcl/temp1b.dbf' size 5m autoextend off;

alter tablespace test01 

add datafile '/oracle/oradata/orcl/test01b.dbf' size 1m autoextend off;

修改表空間檔案大小

alter database 

datafile '/oracle/oradata/orcl/test02b.dbf' resize 2m;

select name, bytes from v$tempfile;

alter database 

tempfile '/oracle/oradata/orcl/temp1.dbf' resize 5m;

05 表空間重新命名

alter tablespace test03 rename to test04;

06 刪除表空間

drop tablespace testundo1; -- 直接刪除表空間,而不刪除對應的資料檔案

drop tablespace test04 including contents and datafiles; --加上該選項 則連同資料檔案 一起刪除了

如果出現:ora-02449: unique/primary keys in table referenced by foreign keys

select p.owner,

p.table_name,

p.constraint_name,

f.table_name referencing_table,

f.constraint_name foreign_key_name,

f.status fk_status

from dba_constraints p,

dba_constraints f,

dba_tables t

where p.constraint_name = f.r_constraint_name

and f.constraint_type = 'r'

and p.table_name = t.table_name

and t.tablespace_name = upper('&tablespace_name')

order by 1,2,3,4,5;

刪除表空間和對應的表空間檔案

drop tablespace test04 including contents and datafiles cascade constraints;

07 更改表空間的讀寫模式

alter tablespace test01 read only; --test01表空間唯讀
alter tablespace test01 read write;--test01表空間可讀寫

檢視表空間的狀態

select tablespace_name,status from dba_tablespaces;

表的讀寫模式

alter table test read only;--讓表唯讀

alter table test read write;--讓錶可讀寫

alter tablespace users offline;--離線user表空間

alter database datafile 6 offline;--離線6號資料檔案

alter database datafile 6 offline for drop;--離線6號資料檔案,並需要恢復

recover datafile 6;--恢復6號檔案

SYSAUX表空間管理維護

1.統計資訊 1 更改歷史統計資訊儲存日期 select dbms stats.get stats history retention from dual exec dbms stats.alter stats history retention 10 2 清除在某個時間戳之前資料,可以使用purg...

oracle建立使用者,分配表空間,表空間維護

建立表空間和臨時表空間 create tablespace test logging datafile d tablespace test.dbf size 50m autoextend on next 1m maxsize 20480m extent management local create...

oracle表空間管理與維護

系統中必須的表空間 system sysaux temp undo 表空間的分類 永久表空間 存放永久性資料,如表,索引等。臨時表空間 不能存放永久性物件,用於儲存資料庫排序,分組時產生的臨時資料。undo表空間 儲存資料修改前的鏡象。select tablespace name,檢視表空間的名字及...