【ASK_ORACLE】你需要知道的對資料檔案dbf的一些基礎操作
實驗環境
搭建平臺:VMware Workstation
OS:OL 7.5
DB:Oracle 12.2.0.1
一些操作命令
我們知道在作業系統OS層面對檔案的操作有複製、移動、重新命名、覆蓋一些操作,在對Oracle資料庫的資料檔案也能實現同樣的操作,只不過區別是使用Oracle的命令而不是OS的命令。
1. 移動dbf
在OS裡,移動命令是mv, Oracle的命令是 move … to …,舉個例子:
(1)建立一個測試表空間
SQL> create tablespace testtbs datafile '/u01/app/oracle/oradata/orcl/testtbs01.dbf' size 100m;
然後再檢查一下OS裡只有這一個檔案:
$ updatedb $ locate testtbs01.dbf /u01/app/oracle/oradata/orcl/testtbs01.dbf ##已經確定只有一個
(2)移動新建的dbf檔案到新目錄
SQL> alter database move datafile '/u01/app/oracle/oradata/orcl/testtbs01.dbf' to '/home/oracle/orcl/testtbs01.dbf';
再次檢查一下:
$ updated && locate testtbs01.dbf /home/oracle/orcl/testtbs01.dbf ##已經移動到新目錄了
SQL> select file_name,online_status from dba_data_files; ##在資料庫裡檢查一下(這裡省略了不相關的輸出) FILE_NAME ---------------------------------------------------------------------------------------------------- ONLINE_ ------- /home/oracle/orcl/testtbs01.dbf ONLINE
2. 重新命名dbf
在OS裡, 移動和重名了都是mv命令,Oracle也是如此,都是使用move … to …,舉個例子(由於操作一模一樣,這裡就僅展示命令):
SQL> alter database move datafile '/home/oracle/orcl/testtbs01.dbf' to '/home/oracle/orcl/testtbs0101.dbf';
3. 複製dbf
在OS裡,複製命令是cp,Oracle的命令是move … to … KEEP,舉個例子:
(1)給testtbs表空間新增一個dbf檔案
SQL> alter tablespace testtbs add datafile '/u01/app/oracle/oradata/orcl/testtbs02.dbf' size 100m;
然後再檢查一下OS裡只有這一個檔案:
$ updatedb $ locate testtbs02.dbf /u01/app/oracle/oradata/orcl/testtbs02.dbf ##已經確定只有一個
(2)複製dbf到新目錄
SQL> alter database move datafile '/u01/app/oracle/oradata/orcl/testtbs02.dbf' to '/home/oracle/orcl/testtbs02.dbf' keep;
$ updatedb $ locate testtbs02.dbf /home/oracle/orcl/testtbs02.dbf /u01/app/oracle/oradata/orcl/testtbs02.dbf ##此時就有兩個同樣的檔案了
SQL> select file_name,online_status from dba_data_files; ##在資料庫裡檢查一下(這裡省略了不相關的輸出) FILE_NAME ---------------------------------------------------------------------------------------------------- ONLINE_ ------- /home/oracle/orcl/testtbs02.dbf ONLINE /u01/app/oracle/oradata/orcl/testtbs02.dbf ONLINE
4. 覆蓋dbf
在OS裡的覆蓋命令是先cp,後rm老檔案,但Oracle一條命令就能搞定move … to … REUSE,舉個例子,比如我們把第3步在/home下的testtbs02.dbf給覆蓋回去:
(1)執行覆蓋操作
SQL> alter database move datafile ‘/home/oracle/orcl/testtbs02.dbf’ to ‘/u01/app/oracle/oradata/orcl/testtbs02.dbf’ reuse;
(2)檢查檢查一下OS裡只有這一個檔案
$ updatedb $ locate testtbs02.dbf /u01/app/oracle/oradata/orcl/testtbs02.dbf ##已經確定只有一個
(3)資料庫裡檢查一下
SQL> select file_name,online_status from dba_data_files; ##在資料庫裡檢查一下(這裡省略了不相關的輸出) FILE_NAME ---------------------------------------------------------------------------------------------------- ONLINE_ ------- /u01/app/oracle/oradata/orcl/testtbs02.dbf ONLINE
注:
如果是ASM,上面的操作是一樣的,比如執行移動mv操作:
SQL> alter database move datafile '+data/data/orcl/datafile/test01.dbf' to '+data02/data/orcl/datafile/test01.dbf';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2927164/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dataguard中需要注意的一些資料檔案操作
- 【ASK_ORACLE】關於Oracle索引分裂你需要知道的Oracle索引
- ABAP對字元的一些基礎操作字元
- 你需要知道的演算法之基礎篇演算法
- 『無為則無心』Python基礎 — 44、對檔案和資料夾的操作Python
- DBF檔案怎麼開啟?DBF檔案的開啟方法教程
- 修復DBF資料表檔案的簡單方法 (轉)
- 學習React之前你需要知道的的JavaScript基礎知識ReactJavaScript
- 關於Android的.so檔案你所需要知道的Android
- 只有.dbf資料檔案進行資料庫恢復資料庫
- 如何透過.dbf檔案還原資料庫資料庫
- python 檔案操作的基礎總結Python
- .ora檔案、.dbf檔案和.dat檔案的區別
- Go基礎之--位操作中你所不知道的用法Go
- 基礎設施即程式碼:你需要知道的一切
- 關於 Git 你需要知道的一些事情Git
- Python基礎——檔案操作Python
- Spark基礎-Scala檔案操作Spark
- 檔案IO中基礎操作
- 對於undotbs01.dbf檔案太大的處理辦法
- git的一些基礎操作命令Git
- 樹上的一些基礎操作
- 對錶列的基礎操作
- 將DBF檔案(dBase, FoxPro等)中的資料轉換到SQLiteSQLite
- 資料科學家需要的基礎技能資料科學
- 大資料需要掌握的數學基礎大資料
- 29-檔案物件基礎操作物件
- 你應該知道的JSP基礎JS
- 你需要知道的那些 redis 資料結構(前篇)Redis資料結構
- pandas的基礎使用,資料庫連線,檔案讀取,切片的使用等基本操作----01資料庫
- 『動善時』JMeter基礎 — 44、JMeter對資料庫的更新操作JMeter資料庫
- 基礎篇- 沙盒以及檔案的操作和存取
- 你需要知道的kafkaKafka
- 你需要知道的SymbolsSymbol
- 你需要知道的requestAnimationFramerequestAnimationFrame
- 檔案操作的一些疑問
- python對檔案的操作Python
- 0基礎之你不知道的JDBCJDBC