使用PL/SQL連接oracle數據庫,並將數據進行導出備份和導入恢復


使用PL/SQL連接oracle數據庫,並將數據進行導出備份和導入恢復

這種操作百度一搜一大片,今天整理以前做的項目時自己備份了一下數據庫,試着將數據進行導出備份和導入恢復了一下;下面是操作過程;

1 開啟服務

2 配置監聽

找到下面文件:

記事本打開

 

 

在導航器的下拉菜單中選擇:將數據庫添加到樹,

然后點擊確定

 

然后使用PL/SQL就可以登錄了;

3 建立新表空間和新用戶

使用system用戶登錄;執行如下sql語句建立表空間和新用戶,以及給用戶授權

建立表空間

Create tablespace myyyjc datafile 'D:\app\Administrator\oradata\sunlichengdata\myyyjc.dbf' size 10m autoextend on ;

刪除表空間

--Drop tablespace myyyjc including contents and datafiles cascade constraints;

建立新用戶

create user slc identified by slc default tablespace myyyjc;

授權

grant connect,resource to slc;

grant dba to slc;

吊銷授權

--Revoke dba from slc;

4 導出原數據庫結構和數據

然后,以老用戶yyjc登錄系統導出數據庫結構和數據;

工具à導出用戶對象(U)

此步驟導出的是sql文件---建表語句(包括存儲結構)。

工具à導出表;

此步驟導出的是dmp文件---表結構及數據;

這里PL/SQL工具包含三種方式導出Oracle表結構及數據,三種方式分別為:Oracle Export 、SQL Inserts、PL/SQL Developer 其中Oracle Export導出的.dmp是二進制文件,可跨平台,還能包含權限,效率不錯,用的最為廣泛。

5 導入原數據庫結構和數據到新表空間

為了檢驗,導出的這兩個文件是否能用,使用新用戶登錄,將數據導入到新表空間試試;

 

工具à導入表;

工具à導入表;

我導入表結構時,沒反應,可能是因為.sql文件中包含了有大字段blob,clob,long),不能導出。不過我繼續導入.dmp文件后,表和數據都導進去了;

查了一下:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html

以上值得注意的是,我們導出Oracle對象和數據的時候,默認還是原來Oracle數據庫的表空間和數據庫用戶名稱的,如果我們想要在新的數據庫服務器中指定不同的表空間和數據庫用戶對象,那么我們就需要替換生成的sql腳本,並在第一步指定合理的表空間和數據庫用戶;也許也有可能是表空間不同的原因,但是數據是導進去了的,說明導出的備份數據是能用的;

 

PS:可以用下面sql(查某個數據庫所有表的所有記錄)檢驗一下兩次的記錄數是不是一樣的哦:

use information_schema;

SELECT SUM(t.rows) total
from (
select table_name name,table_rows rows from tables
where TABLE_SCHEMA = '數據庫名'
order by table_rows desc) as t ;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM