Linux上还原备份的ORACLE数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zouhuu/article/details/53352715

命令:impdp:

Impdpwsdt/wsdt@testdb

table_exitst_actio=replace

directory=DATA_PUMP_DIR

dumpfile=wsdt112backup20161125.expdp

schemmas=wsdt

remap_tablespace=BPEDB :OLSH_DB:BPEDB

详细步骤见底下:


1)wsdt/wsdt:数据库用户名/密码

2)testdb:实例名称

1.先找在服务器上找到Oracle的安装目录:

打开Linux命令行界面:

切换为Oracle用户: su –oracle

以sysdba方式来打开sqlplus:sqlplus“/as sysdba”

查看表空间的放置位置,这样就可以找到Oracle的安装目录了:

Selectname from v$datafile

找到配置文件:tnsnames.ora

相对于我的Oracle安装路径来说,命令

cd/app/oracle/11g/network/admin –》进入

cattansnames.ora->查看文件

Service_name= testdb : testdb 就是数据库实例名称;一般都是arcl

3)table_exists_action=replace

当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;

APPEND:会追加数据,为TRUNCATE时,导入作业会截断表,然后 为其追加新数据;

REPLACE:导入作业会删除已存在表,重建表并追加数据,注意,

TRUNCATE:选项不适用与簇表和 NETWORK_LINK选项;

4) directory=DIR_DP:目录名称

expadp导出或impadp导入数据文件存放的路径:

创建目录必须具有DBA角色或者赋予了CREATE ANYDIRECTORY权限

如果普通用户被赋予了CREATE ANY DIRECTORY权限,那么用户就自动具备目录的READ和WRITE权限。注意:CREATE DIRECTORY语句不会创建磁盘的真实目录,如果目录是无效的,数据泵作业会报错:
查看目录:打开sqlplus 执行

Select directory_name,grantee,privilege

From user_tab_privs t, all_directories d

where t.table_name=d.directory_name ;

查询出可以使用的目录名称

5)dumpfile=wsdt112backup20161125.expdp:要导入的.expdp文件

该文件必须放在对应逻辑目录的路径里面去

6)schemas=wsdt:

表空间的名称

7)remap_tablespace=OLSH_DB:BPEDB

将源表空间的所有对象导入到目标表空间中:

猜你喜欢

转载自blog.csdn.net/zouhuu/article/details/53352715