Oracle表空間設置和管理淺析
前言
表空間是 Oracle 特有的一種邏輯結構,是管理和組織 Oracle 數(shù)據(jù)文件一種方式,一個Oracle 數(shù)據(jù)庫能夠有一個或多個表空間,而一個表空間則對應一個或多個物理的數(shù)據(jù)庫文件。Oracle 的表空間分為永久空間和臨時表空間,同時又分為 smallfile tablespace和 bigfile tablespace。表空間管理是 Oracle dba的一項重要日常工作。
今天小編就從永久表空間管理和臨時表空間管理兩個維度,詳細介紹 Oracle表空間管理的具體操作。
永久表空間管理
1.1 創(chuàng)建表空間
參數(shù)說明:
- EXTENT MANAGEMENT LOCAL AUTOALLOCATE:區(qū)大小由系統(tǒng)自動分配。
- BLOCKSIZE 8K:塊大小為8K。
- SEGMENT SPACE MANAGEMENT AUTO:段管理是自動的。
- FLASHBACK ON:開啟閃回。
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;
注:日常工作中建議通過增加數(shù)據(jù)文件的方式給表空間擴容,因為對于在線業(yè)務系統(tǒng)來說,通過修改數(shù)據(jù)文件大小的方式,對業(yè)務會產(chǎn)生一定的影響。
1.3 重命名表空間
1) 設置表空間脫機
SQL> ALTER TABLESPACE USERS OFFLINE NORMAL;
2) 用一個操作系統(tǒng)實用程序重新命名此文件如UNIX的cp或mv,或者windows的copy命令
$cp /u01/app/oracle/test01.dbf /u02/app/oracle/test01.dbf
3) 在數(shù)據(jù)文件在線之前使用以下命令重命名數(shù)據(jù)庫中的數(shù)據(jù)文件
SQL> ALTER TABLESPACE USERS RENAME DATAFILE '/u01/app/oracle/oradata/TSH1/users01.dbf' TO '/u02/app/oracle/oradata/TSH1/users01.dbf'
4)設置表空間online
SQL> ALTER TABLESPACE USERS ONLINE ;
1.4 設置表空間只讀
1) 設置表空間只讀
SQL> ALTER TABLESPACE USERS READ ONLY;
2) 設置表空間再次可寫
SQL> ALTER TABLESPACE USERS READ WRITE;
1.5 設置表空間脫機、聯(lián)機
1)設置表空間脫機
SQL> ALTER TABLESPACE USERS OFFLINE NORMAL;
2)設置表空間聯(lián)機
SQL> ALTER TABLESPACE USERS ONLINE;
1.6 刪除表空間
SQL> DROP TABLESPACE USERS INCLUDING CONTENTS AND DATAFILES;
1.7 修改表空間為默認永久表空間
1)修改表空間為默認永久表空間
SQL>ALTER DATABASE DEFAULT TABLESPACE users;
2)查詢當前數(shù)據(jù)庫默認的永久表空間
SQL>SELECT property_value from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';
臨時表空間管理
2.1 創(chuàng)建臨時表空間
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ù)說明:
- EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M:區(qū)管理為本地管理,且區(qū)大小為1M。
2.2 修改臨時表空間
SQL> ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/TSH1/temp01.dbf' RESIZE 60M;
2.3 刪除臨時表空間
SQL> DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
2.4 臨時表空間組管理
2.4.1 創(chuàng)建臨時表空間組
SQL> CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/app/oracle/oradata/TSH1/temp01.dbf' SIZE 31M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED TABLESPACE GROUP tmpgrp1;
說明:
增加一個名為tmpgrp1的臨時表空間組。
2.4.2 給臨時表空間組增加表空間
SQL> ALTER TABLESPACE temp02 TABLESPACE GROUP tmpgrp2;
2.4.3 將一個組設置為默認臨時表空間
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tmpgrp1;
表空間管理涉及的視圖
為了管理ORACLE數(shù)據(jù)庫的表空間,要熟悉幾個關鍵的字典視圖:
- DBADATAFILES
- DBA_TABLESPACES
- DBAFREESPACE
- DBA_SEGMENTS
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關文章
Linux系統(tǒng)下啟動/關閉Oracle數(shù)據(jù)庫
在Linux系統(tǒng)上開啟關閉Oracle數(shù)據(jù)庫是一個常見的任務,可以通過多種方法來實現(xiàn),這篇文章主要給大家介紹了關于Linux系統(tǒng)下啟動/關閉Oracle數(shù)據(jù)庫的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07使用IDEA對Oracle數(shù)據(jù)庫進行簡單增刪改查操作
這篇文章主要介紹了使用IDEA對Oracle數(shù)據(jù)庫進行簡單增刪改查操作,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01通過Navicat連接Oracle數(shù)據(jù)庫的詳細步驟
本文介紹如何通過Navicat 連接Oracle數(shù)據(jù)庫,以往總是使用Oracle客戶端來連接Oracle數(shù)據(jù)庫,但是Oracle客戶端一般有幾百M的大小,而且安裝繁瑣配置麻煩,如果可以通過Navicat直接連接Oracle則會非常輕松方便,需要的朋友可以參考下2023-10-10Kettle連接Oracle數(shù)據(jù)庫方法((Oracle19c&Oracle11g))
這篇文章主要介紹了Kettle連接Oracle數(shù)據(jù)庫方法((Oracle19c&Oracle11g)),包括oracle驅動jar包,連接oracle的過程,思路很簡單需要的朋友可以參考下2022-11-11Oracle批量插入數(shù)據(jù)的三種方式【推薦】
本文給大家?guī)砣Noracle批量插入數(shù)據(jù)的方法,每種方法都是通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2018-06-06