Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)

要实现Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)操作,首先需要从老的数据库上做expdp(导出)操作,命令如下:

备注:schemas,你用“用户 user”来理解就很容易了,每个模式(user)下可以有一套互不干扰的对象。

你如果想要访问其他模式的对象,需要指定schema的name,实际就是指定username。

下面这些步骤是我在实际工作中实践过的,

准备工作:首先用Xshell连接到Linux服务器,并切换至oracle账号,

Last login: Fri Jul 21 13:49:22 CST 2017 on pts/1    (成功切换)

切换到

SQL>

然后依次执行如下命令:

1、sys用户登录创建目录

2、sys用户下创建表空间

(创建表空间,设置文件自动增长空间大小)

3、sys用户下创建用户

(创建用户名,设置密码,并指明默认表空间和临时表空间)

(给用户授予dba、基础、开发权限)

4、sys用户下

(将目录的读写权限授予用户)

5、DOS下Impdp还原

第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;

发表回复