溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Oracle表空間設(shè)置和管理淺析

發(fā)布時(shí)間:2020-09-26 05:59:55 來(lái)源:腳本之家 閱讀:169 作者:老王談運(yùn)維 欄目:數(shù)據(jù)庫(kù)

前言

表空間是 Oracle 特有的一種邏輯結(jié)構(gòu),是管理和組織 Oracle 數(shù)據(jù)文件一種方式,一個(gè)Oracle 數(shù)據(jù)庫(kù)能夠有一個(gè)或多個(gè)表空間,而一個(gè)表空間則對(duì)應(yīng)一個(gè)或多個(gè)物理的數(shù)據(jù)庫(kù)文件。Oracle 的表空間分為永久空間和臨時(shí)表空間,同時(shí)又分為 smallfile tablespace和 bigfile tablespace。表空間管理是 Oracle dba的一項(xiàng)重要日常工作。

Oracle表空間設(shè)置和管理淺析

今天小編就從永久表空間管理和臨時(shí)表空間管理兩個(gè)維度,詳細(xì)介紹 Oracle表空間管理的具體操作。

永久表空間管理

1.1 創(chuàng)建表空間

Oracle表空間設(shè)置和管理淺析

參數(shù)說(shuō)明:

  • EXTENT MANAGEMENT LOCAL AUTOALLOCATE:區(qū)大小由系統(tǒng)自動(dòng)分配。
  • BLOCKSIZE 8K:塊大小為8K。
  • SEGMENT SPACE MANAGEMENT AUTO:段管理是自動(dòng)的。
  • FLASHBACK ON:開(kāi)啟閃回。

1.2 修改表空間

1、修改數(shù)據(jù)文件大小

SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/TSH1/users01.dbf'
RESIZE 10M;

2、增加表空間數(shù)據(jù)文件

ALTER TABLESPACE USERS ADD DATAFILE '/u01/app/oracle/oradata/TSH1/users02.dbf' SIZE 20M AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED;

注:日常工作中建議通過(guò)增加數(shù)據(jù)文件的方式給表空間擴(kuò)容,因?yàn)閷?duì)于在線(xiàn)業(yè)務(wù)系統(tǒng)來(lái)說(shuō),通過(guò)修改數(shù)據(jù)文件大小的方式,對(duì)業(yè)務(wù)會(huì)產(chǎn)生一定的影響。

1.3 重命名表空間

1) 設(shè)置表空間脫機(jī)

SQL> ALTER TABLESPACE USERS OFFLINE NORMAL;

2) 用一個(gè)操作系統(tǒng)實(shí)用程序重新命名此文件如UNIX的cp或mv,或者windows的copy命令

$cp /u01/app/oracle/test01.dbf /u02/app/oracle/test01.dbf

3) 在數(shù)據(jù)文件在線(xiàn)之前使用以下命令重命名數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件

SQL> ALTER TABLESPACE USERS RENAME DATAFILE
'/u01/app/oracle/oradata/TSH1/users01.dbf'
TO
'/u02/app/oracle/oradata/TSH1/users01.dbf'

4)設(shè)置表空間online

SQL> ALTER TABLESPACE USERS ONLINE ;

1.4 設(shè)置表空間只讀

1) 設(shè)置表空間只讀

SQL> ALTER TABLESPACE USERS READ ONLY;

2) 設(shè)置表空間再次可寫(xiě)

SQL> ALTER TABLESPACE USERS READ WRITE;

1.5 設(shè)置表空間脫機(jī)、聯(lián)機(jī)

1)設(shè)置表空間脫機(jī)

SQL> ALTER TABLESPACE USERS OFFLINE NORMAL;

2)設(shè)置表空間聯(lián)機(jī)

SQL> ALTER TABLESPACE USERS ONLINE;

1.6 刪除表空間

SQL> DROP TABLESPACE USERS INCLUDING CONTENTS AND DATAFILES;

1.7 修改表空間為默認(rèn)永久表空間

1)修改表空間為默認(rèn)永久表空間

SQL>ALTER DATABASE DEFAULT TABLESPACE users;

2)查詢(xún)當(dāng)前數(shù)據(jù)庫(kù)默認(rèn)的永久表空間

SQL>SELECT property_value from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';

臨時(shí)表空間管理

Oracle表空間設(shè)置和管理淺析

2.1 創(chuàng)建臨時(shí)表空間

SQL> CREATE TEMPORARY TABLESPACE TEMP TEMPFILE 
 '/u01/app/oracle/oradata/TSH1/temp01.dbf' SIZE 31M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

參數(shù)說(shuō)明:

  • EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M:區(qū)管理為本地管理,且區(qū)大小為1M。

2.2 修改臨時(shí)表空間

SQL> ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/TSH1/temp01.dbf'
RESIZE 60M;

2.3 刪除臨時(shí)表空間

SQL> DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;

2.4 臨時(shí)表空間組管理

2.4.1 創(chuàng)建臨時(shí)表空間組

SQL> CREATE TEMPORARY TABLESPACE TEMP TEMPFILE 
 '/u01/app/oracle/oradata/TSH1/temp01.dbf' SIZE 31M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
TABLESPACE GROUP tmpgrp1;

說(shuō)明:

增加一個(gè)名為tmpgrp1的臨時(shí)表空間組。

2.4.2 給臨時(shí)表空間組增加表空間

SQL> ALTER TABLESPACE temp02 TABLESPACE GROUP tmpgrp2;

2.4.3 將一個(gè)組設(shè)置為默認(rèn)臨時(shí)表空間

SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tmpgrp1;

表空間管理涉及的視圖

為了管理ORACLE數(shù)據(jù)庫(kù)的表空間,要熟悉幾個(gè)關(guān)鍵的字典視圖:

  • DBADATAFILES
  • DBA_TABLESPACES
  • DBAFREESPACE
  • DBA_SEGMENTS

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI