Backup And Recovery User's Guide-執行閃回刪除操作
執行閃回刪除操作
使用FLASHBACK TABLE…TO BEFORE DROP語句從回收站恢復物件。
可以指定表在回收站中的名稱或原始的名稱。
場景:
假設錯誤地刪除了表。
許多次你被請求在測試庫中刪除表,但這次你意外地連線到了生產庫並刪除了hr.employee_demo表。
規劃:使用FLASHBACK TABLE獲取刪除的物件
練習:獲取刪除的表
--1. 使用SQL*Plus連線到目標資料庫,並從回收站獲取被刪除的表的名稱 --1.1 ORIGINAL NAME和RRECYCLEBIN NAME分別為物件的原始名稱和在回收站中的名稱 SHOW RECYCLEBIN;
ORIGINAL NAME RECYCLEBIN NAME TYPE DROP TIME ---------------- --------------------------------- ------------ ------------- EMPLOYEE_DEMO BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0 TABLE 2005-04-11:17:08:54
--1.2 也可以檢視USER_RECYCLEBIN和DBA_RECYCLEBIN來獲取表的名稱 SELECT object_name AS recycle_name, original_name, type FROM recyclebin;
RECYCLE_NAME ORIGINAL_NAME TYPE -------------------------------- --------------------- ---------- BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0 EMPLOYEE_DEMO TABLE BIN$JKS983293M1dsab4gsz/I249==$0 I_EMP_DEMO INDEX
-- 如果你計劃手動地還原依賴物件的原始名稱,則在還原表之前要確保清楚每個依賴的物件的系統產生的回收站的名稱 -- 注意:物件檢視例如DBA_OBJECTS不顯示回收站物件 -- 2. (可選),查詢在回收站中的表.必須在查詢中使用物件的回收站名稱而不是原始名稱 SELECT * FROM "BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0"; -- 注意:如果你具有必須的許可權,則也可以在回收站中的表上使用閃回查詢,但只能使用回收站名稱而不是原始名稱。 -- 不能在回收站中的物件上執行DML和DDL操作。 --3. 獲取刪除的表. 使用FLASHBACK TABLE ... TO BEFORE DROP --3.1 使用回收站物件名稱,要用雙引號引起來,因為在名稱中有特殊字元 FLASHBACK TABLE "BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0" TO BEFORE DROP; --3.2 使用原始名稱 FLASHBACK TABLE HR.EMPLOYEE_DEMO TO BEFORE DROP; --3.3 給還原後的表指定新的名稱 FLASHBACK TABLE "BIN$KSD8DB9L345KLA==$0" TO BEFORE DROP RENAME TO hr.emp_demo; --4. (可選)驗證所有依賴的物件仍然是系統產生的回收站物件名稱 SELECT INDEX_NAME FROM USER_INDEXES WHERE TABLE_NAME = 'EMPLOYEE_DEMO';
INDEX_NAME ------------------------------ BIN$JKS983293M1dsab4gsz/I249==$0
--5. 將獲取的索引改名為原始的名稱 ALTER INDEX "BIN$JKS983293M1dsab4gsz/I249==$0" RENAME TO I_EMP_DEMO; --6. 如果獲取的表在它被放入回收站之前具有引用約束,則重建約束。這步必須手動完成,因為回收站不會保留引用約束。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1096758/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [重慶思莊每日技術分享]-執行DROP USER ... CASCADE操作刪除很慢
- PostgreSQL DBA(28) - Backup&Recovery#1(基本操作)SQL
- Flashback Drop閃回刪除功能實踐
- 【Flashback】Flashback Drop閃回刪除功能實驗
- MySQL使用binlog2sql閃回誤刪除資料MySql
- vue+element-ui操作刪除(單行和批量刪除)VueUI
- [20210803]刪除user$的恢復準備.txt
- Laravel 軟刪除操作Laravel
- PostgreSQL DBA(31) - Backup&Recovery#4(搭建流複製)SQL
- recovery資料夾可以刪除嗎 win10的recovery資料夾有什麼用Win10
- flowable的查詢操作和刪除操作
- MySQL工具之binlog2sql閃回操作MySql
- 刪除k8s叢集K8S
- 刪除所有正在執行和退出的docker例項Docker
- DM7閃回與閃回查詢
- ORA-19815: WARNING: db_recovery_file_dest_size閃回區爆滿問題處理
- Cookie新增、獲取以及刪除操作Cookie
- 主鍵的建立、新增、刪除操作
- redis cluster節點/新增刪除操作Redis
- mybatis mapper.xml批次刪除操作MyBatisAPPXML
- 2.4、User’s guide (Coroutines)GUIIDE
- PostgreSQL DBA(29) - Backup&Recovery#2(日期格式導致的錯誤)SQL
- 刪除當前目錄下的所有可執行檔案
- C++ 順序容器的刪除操作C++
- vue對table的某一行的資料進行編輯,刪除操作Vue
- MongoDB 備份恢復啟動後執行操作報錯:Error:couldn't add user:not masterMongoDBErrorAST
- PostgreSQL DBA(30) - Backup&Recovery#3(資料檔案損壞恢復)SQL
- win10 recovery資料夾可以刪除嗎_Win10系統盤的recovery資料夾有什麼用Win10
- 當刪除oracle資料庫user時發生row cache lock 等待事件Oracle資料庫事件
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- mysql資料庫誤刪除操作說明MySql資料庫
- oracle資料庫建立、刪除索引等操作Oracle資料庫索引
- kindeditor 圖片管理增加刪除操作按鈕
- windows10更新助手怎麼刪除_windows10更新助手刪除操作方法Windows
- PHP執行流程回顧PHP
- 【漏洞預警】WordPress檔案刪除功能引發程式碼執行漏洞
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- 2.6.3 指定閃回區
- JavaScript | JavaScript刪除表格除標題行(第一行)的所有行JavaScript