oracle數據庫的導出和導入

簡單導出數據(Export)和導入數據(Import) 
Oracle支持三種方式類型的輸出: 
(1)、表方式(T方式),將指定表的數據導出。 
(2)、用戶方式(U方式),將指定用戶的所有對象及數據導出。 
(3)、全庫方式(Full方式),瘵數據庫中的所有對象導出。 
數據導入(Import)的過程是數據導出(Export)的逆過程,分別將數據文件導入數據庫和將數據庫數據導出到數據文件。 
 
將數據庫TEST完全導出,用戶名zna 密碼zna 導出到D:\exp.dmp中
    exp zna/znar@zna file=c:\exp.dmp full=y
    將數據庫中system用戶與sys用戶的表導出
    exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
    將數據庫中的表table1 、table2導出
    exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 
    將數據庫中的表table1中的字段filed1以”00″打頭的數據導出
    exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\” where filed1 like '00%'\”
    將D:\daochu.dmp 中的數據導入 TEST數據庫中。
    imp system/manager@TEST   file=d:\daochu.dmp
    上面可能有點問題,因爲有的表已經存在,然後它就報錯,對該表就不進行導入。
    在後面加上 ignore=y 就可以了。
    將d:\daochu.dmp中的表table1 導入
    imp system/manager@TEST   file=d:\daochu.dmp   tables=(table1) 
 
 
以上是基本的導入和導出的命令,如果你想把數據庫從這臺服務器遷移到另一臺服務器,但是發現另一臺服務器上有同樣的環境的時候怎麼辦呢?
唯一的辦法就是刪除掉對應的用戶空間,和用戶對象,導入的時候重建。
刪除的方法:
drop tablespace XXXX INCLUDING CONTENTS;    
drop user XXXX cascade;
 
 
刪除完以後,進行以下的重建操作:
//創建臨時表空間
create temporary tablespace test_temp 
tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' 
size 32m 
autoextend on 
next 32m maxsize 2048m
extent management local;
//創建數據表空間
create tablespace test_data
logging
datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf' 
size 32m 
autoextend on 
next 32m maxsize 2048m
extent management local;
//創建用戶並指定表空間
create user testserver_user identified by testserver_user
default tablespace test_data
temporary tablespace test_temp;
//給用戶授予權限
grant connect,resource to testserver_user;
# 對用戶授權
grant create session,dba to angeos;
CREATE SESSION是一個系統特權,它可以爲用戶提供連接數據庫的能力。
DBA是一個具有超過120個系統特權的角色,所以它可以讓用戶在數據庫中完成幾乎任何工作。
 
 
以上的操作均以sysdba的身份進行,完成建立用戶和授權以後,就可以採用imp的方式,把所有的對象信息都一併導入了。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章