首頁 資料庫 mysql教程 Oracle10g新特性:Recycle Bin回收站

Oracle10g新特性:Recycle Bin回收站

Jun 07, 2016 pm 03:12 PM
bin 新特性 特性

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle10g提供了类似操作系统中的回收站功能。当drop table的时候,实际上只是将其重命名,并将table以及相关联的对象如index,constraint等放到回收站(RecycleBin)中,后续如果发现drop错了table

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

    Oracle10g提供了类似操作系统中的回收站功能。当drop table的时候,实际上只是将其重命名,并将table以及相关联的对象如index,constraint等放到回收站(RecycleBin)中,后续如果发现drop错了table,可以使用flashback table命名将回收站中的table还原,这就是Oracle10g的Flashback Drop功能。

    1.什么是Recycle Bin

    实际上,Recycle Bin只是一个保存被drop的对象的一个数据字典表。所以,可以通过如下语句查询回收站中的信息:select * from recyclebin

    除非拥有sysdba权限,每个用户只能看到属于自己的对象。所以,对于用户来说,好像每个人都拥有自己的回收站。即使用户有删除其他schema对象的权限,也只能在recyclebin中看到属于自己的对象。

    做个小试验:SQL> conn ning/ning已连接。

    SQL> drop table test;

    表已删除。

    SQL> drop table test.test;

    表已删除。

    SQL> select object_name,original_name from recyclebin;

    OBJECT_NAME ORIGINAL_NAME

------------------------------ --------------------------------

    BIN$xJlIkIFVR/yau1Qb8ocxxQ==$0 TEST

    SQL> conn test/test已连接。

    SQL> select object_name,original_name from recyclebin;

    OBJECT_NAME ORIGINAL_NAME

------------------------------ --------------------------------

    BIN$1PKEiRExRN2g3tqEEWLfyw==$0 TEST

    以下几种drop不会将相关对象放进RecycleBin:

    * drop tablespace:会将RecycleBin中所有属于该tablespace的对象清除* drop user:会将RecycleBin中所有属于该用户的对象清除* drop cluster:会将RecycleBin中所有属于该cluster的成员对象清除* drop type:会将RecycleBin中所有依赖该type的对象清除

    RecycleBin中的对象会被系统自动按照规则重命名,这是为了防止命名冲突。命名格式为:BIN$unique_id$version

    其中unique_id是26个字符的对象唯一标识符,version则是对象在数据库中的版本号。

    SQL> create table t(id int);

    表已创建。

    SQL> drop table t;

    表已删除。

    SQL> select object_name,original_name from recyclebin;

    OBJECT_NAME ORIGINAL_NAME

------------------------------ --------------------------------

    BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T

    SQL> create table t(id int);

    表已创建。

    SQL> drop table t;

    表已删除。

    SQL> select object_name,original_name from recyclebin;

    OBJECT_NAME ORIGINAL_NAME

------------------------------ --------------------------------

    BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T BIN$pc+kkUM7QjuQeCDGtwlzgQ==$0 T

    可以看到,删除table t后,重建一个名为t的table,再次删除,其unique_id是不一样的。

    这时,做一个还原看看:

    SQL> select object_name,original_name from recyclebin;

    OBJECT_NAME ORIGINAL_NAME

------------------------------ --------------------------------

    BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T

    这里,Oracle选择了最后一次删除的T表还原。

    再次删除:SQL> drop table t;

    表已删除。

    SQL> select object_name,original_name from recyclebin;

    OBJECT_NAME ORIGINAL_NAME

------------------------------ --------------------------------

    BIN$4bNgZiMGTA63iwA5xflh5A==$0 T BIN$+7J5MgT2RbCX+tka+zjpgA==$0 T

    可以看到unique_id又变了。所以,通过这种命名方式,避免了对于删除table后又重建了同名table的情况可能造成的命名冲突。

[1] [2] [3] [4] 

Oracle10g新特性:Recycle Bin回收站

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

bin是什麼文件 bin是什麼文件 Jan 23, 2024 pm 03:33 PM

bin檔案是一種電腦檔案格式,是「二進位檔案」的縮寫。 bin檔案通常用於儲存和傳輸電腦程式或資料。在軟體開發中,編譯器將原始碼轉換為二進位形式,產生可執行的bin檔。這些bin檔案包含了電腦程式的機器碼,可以直接在電腦上執行。因為二進位檔案包含了底層的機器指令,所以它們通常比文字檔案更有效率和快速。

mdk產生bin檔案的方法 mdk產生bin檔案的方法 Oct 10, 2023 am 09:56 AM

使用MDK產生bin檔案的方法包括建立工程、編寫應用程式程式碼、設定輸出路徑和名稱、進行編譯和連結等步驟。詳細介紹:1、開啟MDK軟體,創建一個新的工程。在“Project”選單中選擇“New Project”,然後選擇目標裝置的型號和供應商;2、在彈出的對話方塊中,選擇工程的儲存路徑和名稱,並點擊“Save”按鈕等等。

掌握Spring MVC的關鍵概念:了解這些重要特性 掌握Spring MVC的關鍵概念:了解這些重要特性 Dec 29, 2023 am 09:14 AM

了解SpringMVC的關鍵特性:掌握這些重要的概念,需要具體程式碼範例SpringMVC是一種基於Java的Web應用開發框架,它透過模型-視圖-控制器(MVC)的架構模式來幫助開發人員建立靈活可擴展的Web應用程式。了解和掌握SpringMVC的關鍵特性將使我們能夠更有效地開發和管理我們的網路應用程式。本文將介紹一些SpringMVC的重要概念

PHP 8.3發布:新功能一覽 PHP 8.3發布:新功能一覽 Nov 27, 2023 pm 12:52 PM

PHP8.3發布:新功能一覽隨著技術的不斷發展和需求的不斷變化,程式語言也不斷更新和改進。作為一種廣泛應用於網頁開發的腳本語言,PHP一直在不斷進步,為開發者提供更強大和高效的工具。最近發布的PHP8.3版本帶來了許多期待已久的新功能和改進,以下讓我們來看看這些新特性的一覽。非空屬性的初始化在過去的PHP版本中,如果一個類別的屬性沒有明確賦值,它的值

學習PHP8的新特性,深入理解最新技術的指南 學習PHP8的新特性,深入理解最新技術的指南 Dec 23, 2023 pm 01:16 PM

深入解析PHP8的新特性,幫助您掌握最新技術隨著時間的推移,PHP程式語言一直在不斷演進和改進。最近發布的PHP8版本為開發者提供了許多令人興奮的新功能和改進,為我們的開發工作帶來了更多便利和效率。在本文中,我們將深入解析PHP8的新特性,並提供具體的程式碼範例,旨在幫助您更好地掌握這些最新的技術。 JIT編譯器PHP8引進了JIT(Just-In-Time)編

Golang中有類似類別的物件導向特性嗎? Golang中有類似類別的物件導向特性嗎? Mar 19, 2024 pm 02:51 PM

在Golang(Go語言)中並沒有傳統意義上的類別的概念,但它提供了一種稱為結構體的資料類型,透過結構體可以實現類似類別的物件導向特性。在本文中,我們將介紹如何使用結構體實現物件導向的特性,並提供具體的程式碼範例。結構體的定義和使用首先,讓我們來看看結構體的定義和使用方式。在Golang中,結構體可以透過type關鍵字定義,然後在需要的地方使用。結構體中可以包含屬

選擇適用的Go版本,依需求和特性 選擇適用的Go版本,依需求和特性 Jan 20, 2024 am 09:28 AM

隨著網路的快速發展,程式語言也不斷演化和更新。其中,Go語言作為一種開源的程式語言,在近年來備受關注。 Go語言的設計目標是簡單、有效率、安全且易於開發和部署。它具有高並發、快速編譯和記憶體安全等特性,讓它在Web開發、雲端運算和大數據等領域中有著廣泛的運用。然而,目前Go語言也有不同的版本可供選擇。在選擇合適的Go語言版本時,我們需要考慮需求和特性兩個面向。首

php8有什麼新特性 php8有什麼新特性 Sep 25, 2023 pm 01:34 PM

php8新特性有JIT 編譯器、型別推導、命名參數、聯合型別、屬性、錯誤處理改進、非同步程式支援、新的標準函式庫函數和匿名類的擴充等。詳細介紹:1、JIT編譯器,PHP8引入了JIT編譯器,這是一個重要的效能改進,JIT編譯器可以對一些高頻執行的程式碼進行即時編譯和最佳化,從而提高運行速度;2、類型推導,PHP8引入了類型推導功能,允許開發者在宣告變數時自動推導出變數的類型等等。

See all articles