UNIX下 oracle expdp,Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)
Linux服務(wù)器下對Oracle數(shù)據(jù)庫expdp(導(dǎo)出)和impdp(導(dǎo)入)
緊接上篇文章,Oracle數(shù)據(jù)庫架構(gòu)已經(jīng)創(chuàng)建完成,我的需求是:將老服務(wù)器上的數(shù)據(jù)庫遷移到新的數(shù)據(jù)庫上。
這就用到impdp(導(dǎo)入)操作。
要想實現(xiàn)對新數(shù)據(jù)庫的impdp(導(dǎo)入)工作,
首先需要從老的數(shù)據(jù)庫上做expdp(導(dǎo)出)操作,命令如下:
expdp?用戶名/密碼 schemas=iirspublish
dumpfile=導(dǎo)出數(shù)據(jù)庫名.dmp DIRECTORY=目錄名 logfile=導(dǎo)出日志.log
備注:schemas,你用“用戶
user”來理解就很容易了,每個模式(user)下可以有一套互不干擾的對象。
你如果想要訪問其他模式的對象,需要指定schema的name,實際就是指定username。
下面這些步驟是我在實際工作中實踐過的,
準(zhǔn)備工作:首先用Xshell連接到Linux服務(wù)器,并切換至oracle賬號,
[root@localhost ~]# su - oracle
Last login: Fri Jul 21 13:49:22 CST 2017 on
pts/1????(成功切換)
[oracle@localhost ~]$ sqlplus sys/ as sysdba
切換到
SQL>
然后依次執(zhí)行如下命令:
1、sys用戶登錄創(chuàng)建目錄
SQL>create directory dir_iirsuserbaknew as
'/u01/app/oracle/oradata'; (創(chuàng)建目錄并分配存放路徑)
2、sys用戶下創(chuàng)建表空間
SQL>create tablespace IIRSUSER datafile
'/u01/app/oracle/oradata/IIRSUSER01' size 100m Autoextend on next
100m,'/u01/app/oracle/oradata/IIRSUSER02' size 100m Autoextend on
next 100m Extent management local uniform size
200k;(創(chuàng)建表空間,設(shè)置文件自動增長空間大小)
3、sys用戶下創(chuàng)建用戶
SQL>create user iirsuser identified by
"iirsuser" Default tablespace IIRSUSER Temporary tablespace temp;
(創(chuàng)建用戶名,設(shè)置密碼,并指明默認(rèn)表空間和臨時表空間)
SQL>grant dba,connect,resource to
iirsuser;?(給用戶授予dba、基礎(chǔ)、開發(fā)權(quán)限)
4、sys用戶下
SQL>Grant read,write on directory
dir_iirsuserbaknew to
iirsuser;??(將目錄的讀寫權(quán)限授予用戶)
5、DOS下Impdp還原
[oracle@localhost ~]$impdp iirsuser/"iirsuser"@orcl
directory=dir_iirsuserbaknew dumpfile=ExpIirspublish20170814.dmp
remap_tablespace=IIRSPublish:IIRSUSER
remap_schema=iirspublish:iirsuser
logfile=impdbiirspublish20170814.log transform=oid:n
第5步需要退出(exit)SQL命令行至Oracle賬號下執(zhí)行。
需要解釋的是:
impdp 用戶名/"密碼"@sid directory=目錄
dumpfile=老數(shù)據(jù)庫expdp得到的實例名.dmp remap_tablespace=老數(shù)據(jù)庫空間名:新數(shù)據(jù)庫空間名
remap_schema=老數(shù)據(jù)庫用戶名:新數(shù)據(jù)庫用戶名 logfile=impdb日志名.log
transform=該參數(shù)可以去掉,應(yīng)用于適用對象的元數(shù)據(jù)轉(zhuǎn)換
需要強(qiáng)調(diào)的是:
問題1:如果你在操作的過程中忘記了自己建的目錄,可以用命令(select * from
dba_directories;)查詢;
問題2:如果想刪除新還原好的數(shù)據(jù)庫實例,那么需要執(zhí)行以下操作
1)、首先刪除用戶
-----drop USER c#iirsuser CASCADE;
2)、其次刪除表空間包括表空間的內(nèi)容和數(shù)據(jù)文件
-----drop tablespace IIRSUSER including contents and
datafiles cascade constraints;
3)、最后刪除目錄
-----drop directory dir_iirsuserbaknew;
總結(jié)
以上是生活随笔為你收集整理的UNIX下 oracle expdp,Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hybbs接口php,HYBBS
- 下一篇: 支持linux系统摄像头模块,在Linu