Linux服务器下对Oracle数据库expdp(导出)和impdp(导⼊)紧接上篇⽂章,Oracle数据库架构已经创建完成,我的需求是:将⽼服务器上的数据库迁移到新的数据库上。
这就⽤到impdp(导⼊)操作。
要想实现对新数据库的impdp(导⼊)⼯作,
⾸先需要从⽼的数据库上做expdp(导出)操作,命令如下:
expdp⽤户名/密码 schemas=iirspublish dumpfile=导出数据库名.dmp DIRECTORY=⽬录名 logfile=导出⽇志.log 备注:schemas,你⽤“⽤户 user”来理解就很容易了,每个模式(user)下可以有⼀套互不⼲扰的对象。
你如果想要访问其他模式的对象,需要指定schema的name,实际就是指定username。
下⾯这些步骤是我在实际⼯作中实践过的,
准备⼯作:⾸先⽤Xshell连接到Linux服务器,并切换⾄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>
然后依次执⾏如下命令:
1、sys⽤户登录创建⽬录
SQL>create directory dir_iirsuserbaknew as '/u01/app/oracle/oradata'; (创建⽬录并分配存放路径)
linux创建新用户和密码2、sys⽤户下创建表空间
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;(创建表空间,设置⽂件⾃动增长空间⼤⼩)
3、sys⽤户下创建⽤户
SQL>create user iirsuser identified by "iirsuser" Default tablespace IIRSUSER Temporary tablespace temp; (创建⽤户名,设置密码,并指明默认表空间和临时表空间)
SQL>grant dba,connect,resource to iirsuser; (给⽤户授予dba、基础、开发权限)
4、sys⽤户下
SQL>Grant read,write on directory dir_iirsuserbaknew to iirsuser;  (将⽬录的读写权限授予⽤户)
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账号下执⾏。
需要解释的是:
impdp ⽤户名/"密码"@sid directory=⽬录 dumpfile=⽼数据库expdp得到的实例名.dmp remap_tablespace=⽼数据库空间名:新数据库空间名
remap_schema=⽼数据库⽤户名:新数据库⽤户名 logfile=impdb⽇志名.log transform=该参数可以去掉,应⽤于适⽤对象的元数据转换
需要强调的是:
问题1:如果你在操作的过程中忘记了⾃⼰建的⽬录,可以⽤命令(select * from dba_directories;)查询;
问题2:如果想删除新还原好的数据库实例,那么需要执⾏以下操作
1)、⾸先删除⽤户
-----drop USER c#iirsuser CASCADE;
2)、其次删除表空间包括表空间的内容和数据⽂件
-
----drop tablespace IIRSUSER including contents and datafiles cascade constraints; 3)、最后删除⽬录
-----drop directory dir_iirsuserbaknew;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。