【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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 『無為則無心』Python基礎 — 44、對檔案和資料夾的操作Python
- 【ASK_ORACLE】關於Oracle索引分裂你需要知道的Oracle索引
- DBF檔案怎麼開啟?DBF檔案的開啟方法教程
- python 檔案操作的基礎總結Python
- 如何透過.dbf檔案還原資料庫資料庫
- Python基礎——檔案操作Python
- 將DBF檔案(dBase, FoxPro等)中的資料轉換到SQLiteSQLite
- 學習React之前你需要知道的的JavaScript基礎知識ReactJavaScript
- 檔案IO中基礎操作
- python對檔案的操作Python
- 樹上的一些基礎操作
- git的一些基礎操作命令Git
- 基礎設施即程式碼:你需要知道的一切
- 29-檔案物件基礎操作物件
- ArcGIS Pro SDK 002 對資料檔案的讀取和操作
- pandas的基礎使用,資料庫連線,檔案讀取,切片的使用等基本操作----01資料庫
- Python基礎知識之檔案的讀取操作Python
- 『動善時』JMeter基礎 — 44、JMeter對資料庫的更新操作JMeter資料庫
- 大資料需要掌握的數學基礎大資料
- 資料科學家需要的基礎技能資料科學
- 【Python基礎】Python處理Excel檔案,進行篩選資料、排序等操作及儲存新的Excel檔案PythonExcel排序
- 你需要知道的那些 redis 資料結構(前篇)Redis資料結構
- python對檔案的操作方法Python
- 『動善時』JMeter基礎 — 43、JMeter對資料庫的查詢操作JMeter資料庫
- 你需要知道的kafkaKafka
- 你需要知道的SymbolsSymbol
- 檔案 IO 操作的一些最佳實踐
- 【C++基礎】檔案流讀寫操作C++
- Python基礎入門(9)- Python檔案操作Python
- FastAPI基礎之 表單和檔案操作ASTAPI
- C# 基礎知識系列- 14 IO篇 檔案的操作C#
- js對檔案和二進位制操作的一些方法彙總JS
- 你必須知道的Java基礎知識Java
- 0基礎之你不知道的JDBCJDBC
- Pyspark資料基礎操作集合Spark
- postgreSQL學習(二):pgsql的一些基礎操作SQL
- Java對檔案的操作及UDP,TCPJavaUDPTCP
- c# 對檔案的各種操作C#