oracle數據庫導入導出步驟

數據庫備份(導出):php

首先:鏈接dba數據庫方法:鏈接數據庫用sysdba,用戶名: sys 密碼: oraclesql

第一種方法:數據庫

sqlplus /nologoracle

conn sys/oracle@41SGEORA as sysdbaide

第二種方法:工具

sqlplus sys/oracle@41SGEORA as sysdba測試


一.數據庫導出對象

1.備份整個數據庫get

1)、全庫方式,導出整個數據庫中全部的對象,但並不包括sys用戶中的對象,即數據字典沒法導出。it

exp user/pwd@db_name full=y file=D:\database.dmp log=D:\database.log


/*xx銀行數據庫

###備份 ivsd60

exp ivsd60/ivsd60@41SGEORA full=y grants=y file=C:\Database\oracle_exp\ivsd60\ivsd60.dmp log=C:\Database\oracle_exp\ivsd60\ivsd60_exp.log

*/


2)、用戶方式:導出某一用戶下全部的對象,受權了權限的用戶能夠導出其餘用戶所擁有的對象。做爲全庫導出的補充應用

exp user/pwd@db_name owner=(system,sys) file=D:\owner.dmp log=D:\owner.log


2.備份數據庫表

1)、表方式:只導出某一用戶下指定的表,而不是全部的表。

exp user/pwd@db_name tables=(tb1,tb2) file= D:\table.dmp log=e:\table.log


3.補充:將數據庫中的表table1中的字段filed1以"00"打頭的數據導出

exp user/pwd@db_name tables=(table1) query=" where filed1 like '00%'" file=D:\query.dmp log=d:\query.log


***上面是經常使用的導出 **更多參數exp help=y 查看


二.建立數據庫用戶

1.登陸dba用戶:

第一種方法:

#sqlplus /nolog

#conn sys/oracle@166 as sysdba

第二種方法:

#sqlplus sys/oracle@166 as sysdba

2.經過dba用戶建立數據庫用戶

/*xx銀行數據庫

###ivsd60 用戶

create user ivsd60 identified by ivsd60;

grant dba to ivsd60;

##測試用戶是否建立成功

conn ivsd60/ivsd60;

*/


三.數據庫導入:

一、所有導入

imp user/pwd@db_name full=y file=D:\database.dmp log=d:\impdatabase.log ignore=y


/*xx銀行數據庫

###導入 ivsd60

imp ivsd60/ivsd60@166 full=y file=C:\Database\oracle_exp\ivsd60\ivsd60.dmp log=C:\Database\oracle_exp\ivsd60\ivsd60_imp.log ignore=y

*/


二、選擇表導入 將D:\table.dmp中的表table1 導入

imp user/pwd@db_name file=D:\table.dmp log=d:\imptable.log tables=(table1) 

若是源表已經存在,導入時報錯。在後面加上 ignore=y 就能夠了。

很多狀況要先是將表完全刪除,而後導入。或建立和原表同樣結構的臨時表而後導入到臨時表中。


備註:語句執行中可能碰上的問題:

***EXP-00091 正在導出有問題的統計信息 

緣由:字符集問題

解決:exp命令加statistics=none選項


expdp和impdp (數據泵)是Oracle10G新引入的工具.它不但包括了imp/exp的功能,還進行了擴充與增強。其速度也快。但只能在數據庫服務端運行。

使用示例以下:http://www.oracle-base.com/articles/10g/OracleDataPump10g.php


--修改數據庫密碼

alter user ivsd60 identified by oracle;

--刪除數據庫用戶和數據

drop user ivsd60 cascade;


四.注意事項:

1.exp導出時會報命令不存在,則須要在exp、imp前面加上$,如$exp、 $imp。

2.導出表時須要用dba權限,公司這邊的數據庫dba用戶名:sys,密碼:oracle

登陸命令:sqlplus sys/oracle@SID as sysdba;

3.用dba登陸導出數據時遇到以下錯誤:EXP-00008: 遇到 ORACLE 錯誤 904 ORA-00904: "POLTYP": 標識符無效 EXP-00000: 導出終止失敗時,

則須要在dba用戶下刷一下腳本:@?/rdbms/admin/catexp.sql ,而後從新使用exp導出。

相關文章
相關標籤/搜索