共計 1805 個字符,預計需要花費 5 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章主要介紹了 Oracle 更改表空間中數據文件位置的案例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
表空間概述
Oracle 的表空間屬于 Oracle 中的存儲結構,是一種用于存儲數據庫對象 (如:數據文件) 的邏輯空間,是 Oracle 中信息存儲的最大邏輯單元,其下還包含有段、區、數據塊等邏輯數據類型。表空間是在數據庫中開辟的一個空間,用于存放數據庫的對象,一個數據庫可以由多個表空間組成。可以通過表空間來實現對 Oracle 的調優。(Oracle 數據庫獨特的高級應用)
表空間的分類
永久表空間:存儲數據庫中需要永久化存儲的對象,比如二維表、視圖、存儲過程、索引。
臨時表空間:存儲數據庫的中間執行過程,如:保存 order by 數據庫排序,分組時產生的臨時數據。操作完成后存儲的內容會被自動釋放。臨時表空間是通用的,所的用戶都使用 TEMP 作為臨時表空間。一般只有 tmp 一個臨時表空間,如果還需要別的臨時表空間時,可以自己創建。
UNDO 表空間:保存數據修改前的副本。存儲事務所修改的舊址,即被修改之前的數據。當我們對一張表中的數據進行修改的同時會對修改之前的信息進行保存,為了對數據執行回滾、恢復、撤銷的操作。
引言
Oracle 數據庫的數據文件的位置和信息都被記錄在控制文件中,rm 或 cp 命令是不會也不可能更改控制文件記錄的,這時必須通過 alter 操作去更改刷新數據庫控制文件中數據文件的相關信息,以此確保數據庫能夠正常運行。
操作方法
1. 方法 1
主要步驟:
1、offline 表空間:alter tablespace tablespace_name offline;
2、復制數據文件到新的目錄;
3、rename 修改表空間,并修改控制文件;
4、online 表空間;
offline 表空間
SQL alter tablespace cifdb offline;
復制數據文件到新的目錄
cp /u01/app/oracle/oradata/cifdb.dbf /u01/app/oracle/oradata/CIFDB/cifdb.dbf
rename 修改表空間
SQL alter tablespace cifdb rename datafile /u01/app/oracle/oradata/cifdb.dbf to /u01/app/oracle/oradata/CIFDB/cifdb.dbf
online 表空間
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
2. 方法 2
主要步驟:
1、關閉數據庫;
2、復制數據文件到新的位置;
3、啟動數據庫到 mount 狀態;
4、通過 SQL 修改數據文件位置;
5、打開數據庫;
關閉數據庫
SQL shutdown immediate;
復制數據文件到新的位置
cp /u01/app/oracle/oradata/cifdb.dbf /u01/app/oracle/oradata/CIFDB/cifdb.dbf
啟動數據庫到 mount 狀態
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
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“Oracle 更改表空間中數據文件位置的案例”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!
向 AI 問一下細節