在實際應用中,我們需要實現對數據的備份,其實現方式主要有冷備份和熱備份兩種。現在我們主要討論熱備份的具體操作。熱備份也稱為聯機備份,在數據庫的存檔模式下進行備份。oracel數據庫默認存檔模式為關閉狀態,要實現數據的熱備份,需要改變數據庫的存檔模式,將其打開。並且需要注意的是數據庫的存檔模式的操作需要在MOUNT實例中進行,且數據庫不能處於OPEN狀態。下面將進行詳細介紹:
1. 打開存檔模式:
1.1 首先使用sqlplus登錄到sys用戶,使用SQL:archive log list 查看當前數據庫的存檔模式。
此時可以看出當前數據庫為默認的非存檔模式。
1.2 使用SQL:alter system set log_archive_start=true scope=spfile; --修改系統的日志方式為存檔模式--
shutdown immediate; --關閉數據庫,因為不能在open狀態下進行操作--
startup mount; --啟動mount實例,但不是啟動數據庫--
alter database archivelog; --更改數據庫為存檔模式--
1.3 此時我們使用SQL:archive log list 進行查看,已經更改為存檔模式。
1.4 最后別忘了使用SQL:alter database open;打開數據庫。
2. 關閉存檔模式:
前面已經提到,數據的存檔模式的操作必須要在mount實例中進行,且數據庫要處於非open狀態。所有關閉存檔模式前,我們需要查看當前數據庫的狀態,並且關閉數據庫,啟動mount實例,才可進行操作。其具體操作為:
2.1 使用SQL:select status from v$instance;查看當前數據庫的狀態,正常情況下一般都處於open狀態。
2.2 使用SQL:shutdown immediate; --關閉數據庫,因為數據庫當前狀態為open--
startup mount; --啟動mount實例--
alter database noarchivelog; --改變數據庫存檔模式為非存檔模式--
2.3 此時使用SQL:archive log list 查看,存檔模式已經變更為非存檔模式。
2.4 再次使用SQL:select status from v$instance;進行查看數據庫的當前狀態,當前狀態為mount狀態。
2.5 最后別忘記使用SQL:alter database open;打開數據庫。
2.6 再次使用SQL:select status from v$instance;查看數據庫狀態,為open狀態。
最后使用快捷鍵Crtl + C 退出sqlplus。
轉載:https://blog.csdn.net/weixin_38133660/article/details/80623953