一、數據備份(導出) 1、exp命令導出dmp文件(exp -help查看幫助信息) 命令:exp username/[email protected]/orcl file=C:\jds.dmp log=C:\jds.log tables=tablename...;(不寫tables ...
一、數據備份(導出)
1、exp命令導出dmp文件(exp -help查看幫助信息)
命令:exp username/[email protected]/orcl file=C:\jds.dmp log=C:\jds.log tables=tablename...;(不寫tables時表示導出當前用戶所有表)
2、exp備份資料庫中表結構(不要數據)
命令:exp username/[email protected]/orcl file=C:\jds.dmp log=C:\jds.log tables=tablename... rows=n;(不寫tables時表示導出當前用戶所有表)
3、PL/SQL導出
new Report Window--->寫sql將要導出的數據查詢出來--->Export Results導出不同文件類型的數據
二、數據恢復(導入)
1、imp命令導入dmp文件(imp - help查看幫助信息)
命令:imp username/[email protected]:1521/orcl file=C:\jds.dmp full=y;
2、imp命令導入表結構(不要數據)
(1)dmp文件包含數據
命令: imp username/[email protected]:1521/orcl file=C:\jds.dmp full=y rows=n;
(2)dmp文件本身就不包含數據
命令: imp username/[email protected]:1521/orcl file=C:\jds.dmp full=y;
3、PL/SQL導入(貌似只能導入dmp文件)
Tools ---> import tables
4、導入csv文件
csv文件樣式(test.csv):
刪除第一行,確保第一行就是數據內容。
(1)創建對應欄位的表(要導進去數據的表TableEmp)...
(2)創建ctl文件(test.ctl):
--指定外部數據文件(要導入的csv文件) INFILE "G:/test.csv" --指定要導入的表(INSERT 要求導入之前表就為空;APPEND是指在表中追加記錄;REPLACE表示刪除舊記錄‘delete’,替換成新紀錄;TRUNCATE表示刪除舊記錄‘truncate’,替換成新紀錄) INSERT(APPEND,REPLACE,TRUNCATE) INTO TABLE TableEmp --數據中每行記錄預設用“,”隔開(為了防止數據記錄中有‘,’則使用製表符X'09') FIELDS TERMINATED BY X'09' --表中欄位沒有對應值時,允許為空 TRAILING NULLCOLS (columnName1, columnName2...)
(3)執行命令:sqlldr username/userpasswd@orcl control=F:/test.ctl log=F:/test.log
這個表示導入成功的數據行數。excel數據格式的數據可以通過更換數據格式為csv文件格式,再進行導入操作。
三、imp導入dmp文件出現錯誤(表空間“JDS”不存在)解決方案
方案一:
(1)用system用戶登錄,查找導入的目標資料庫的預設表空間,可以根據用戶名查詢
select username, default_tablespace from dba_users where username='ZCL';
(2)執行修改表空間語句(假設目標資料庫的表空間名是:JDS_DATA)
alter tablespace JDS_DATA rename to JDS;
(3)執行imp語句
(4)導入成功後,執行改回原來表空間的名稱
alter tablespace JDS rename to JDS_DATA;
方案二:
根據log信息重新創建對應的表,然後再執行imp語句(註意:要加上ignore=y)