本文主要為大家介紹了關於Oracle如何更改表空間的資料檔案位置,文中透過範例程式碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧,希望能幫助大家。
表格空間概述
Oracle的表空間屬於Oracle中的儲存結構,是一種用於儲存資料庫物件(如:資料檔案)的邏輯空間,是Oracle中資訊儲存的最大邏輯單元,其下方還包含有段、區、資料塊等邏輯資料型別。表空間是在資料庫中開闢的一個空間,用於存放資料庫的對象,一個資料庫可以由多個表空間組成。可以透過表空間來實現對Oracle的調優。 (Oracle資料庫獨特的高階應用)
表空間的分類
永久表空間:儲存資料庫中需要永久化儲存的對象,例如二維表、檢視、預存程序、索引。
暫存資料表空間:儲存資料庫的中間執行過程,如:儲存order by資料庫排序,分組時產生的暫存資料。操作完成後儲存的內容會自動釋放。臨時表空間是通用的,所的使用者都使用TEMP作為臨時表空間。一般只有tmp一個臨時表空間,如果還需要別的臨時表空間時,可以自行建立。
UNDO表空間:儲存資料修改前的副本。儲存事務所修改的舊址,即被修改之前的資料。當我們對一張表中的資料進行修改的同時會對修改之前的資訊進行保存,為了對資料執行回溯、復原、撤銷的操作。
引言
Oracle資料庫的資料檔案的位置和資訊都被記錄在控製檔中,rm或cp指令是不會也不可能更改控製檔記錄的,這時必須透過alter操作去更改刷新資料庫控製文件中資料檔的相關信息,以此確保資料庫能正常運作。
操作方法
1. 方法1
#c ## 4、online表空間;
offline表空間
SQL> alter tablespace cifdb offline;
cp /u01/app/oracle/oradata/cifdb.dbf /u01/app/oracle/oradata/CIFDB/cifdb.dbf
SQL> alter tablespace cifdb rename datafile '/u01/app/oracle/oradata/cifdb.dbf' to '/u01/app/oracle/oradata/CIFDB/cifdb.dbf';
SQL> alter tablespace cifdb online;
檢查資料檔
SQL> select name from v$datafile;
SQL> select file_name, tablespace_name from dba_data_files where tablespace_name='cifdb';
SQL> shutdown immediate;
cp /u01/app/oracle/oradata/cifdb.dbf /u01/app/oracle/oradata/CIFDB/cifdb.dbf
SQL> startup mount;
SQL> alter database rename file '/u01/app/oracle/oradata/cifdb.dbf' to '/u01/app/oracle/oradata/CIFDB/cifdb.dbf';
SQL> alter database open;
SQL> select name from v$datafile;
SQL> select file_name, tablespace_name from dba_data_files where tablespace_name='cifdb';
以上是Oracle如何更改表空間的資料檔位置的詳細內容。更多資訊請關注PHP中文網其他相關文章!