数据泵方式导出导入库

数据泵方式导出导入库

前提条件:两个数据库编码相同,且数据库版本必须相同。
查看Oracle数据库字符集(编码)的SQL语句:
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
执行这个查询后,将会返回当前数据库的字符集设置。
查看Oracle数据库版本的SQL语句:
SELECT * FROM V$VERSION;
或:
SELECT banner FROM V$VERSION WHERE ROWNUM = 1;
执行上述查询,会显示数据库服务器及其组件的版本信息,其中包括数据库实例的主要版本号和其他相关组件的版本。第一种方式会返回所有组件的版本详情,第二种方式则只显示第一条记录,通常包含了核心数据库的基本版本信息。

1.导出dmp文件

导出命令:

expdp 用户/密码@IP/示例名称 directory=DMP_DIR dumpfile=导出文件名.dmp schemas=用户
例:expdp oracletest/qwerqwer@13.9.7.71/orcl directory=DMP_DIR dumpfile=oracle_back.dmp schemas= oracletest

名词解释:

expdp: 这是Oracle Data Pump Export的命令行工具,用于将数据库对象从数据库中导出到磁盘文件。
oracletest/qwerqwer@13.9.7.71/orcl:这部分定义了数据库的连接信息。
oracletest:这是数据库的用户名。
qwerqwer:这是该用户的密码。
13.9.7.71:这是数据库服务器的IP地址。
/orcl:这是数据库的实例名或服务名。
directory=DMP_DIR:指定在数据库服务器端用于存放导出文件的目录对象名为DMP_DIR。这个目录必须在数据库中事先被创建为DIRECTORY类型对象,并且要有足够的权限供当前用户写入。
dumpfile=oracle_back.dmp:指定导出的数据文件名称为oracle_back.dmp,这个文件会被存放在上述的DMP_DIR目录下。
schemas=oracletest:表示只导出名为oracletest的模式下的所有对象和数据。如果省略schemas参数或者指定schemas=all,则会导出整个数据库的所有对象和数据。
这个命令的作用是:通过数据库用户oracletest的身份连接到位于13.9.7.71服务器上的orcl数据库实例,并将oracletest模式下的所有数据库对象和数据,使用Data Pump导出功能,以oracle_back.dmp的文件名保存在数据库服务器的DMP_DIR目录下。

2.检查DMP_DIR是否存在

注:DMP_DIR为存放dmp文件路径的名称,可通过sql select * from DBA_DIRECTORIES WHERE DIRECTORY_NAME ='DMP_DIR';
查询到的路径即是数据库服务器上存放DMP文件的路径。查询该路径是否存在,若不存在则需创建并赋权后才能导入目标库。若存在则忽略此步骤
创建文件路径sql : create directory DMP_DIR as '/tmp';
给指定用户赋予在该目录的操作权限:
grant read,write on directory DMP_DIR to 用户名;
例:
grant read,write on directory DMP_DIR to oracletest;

3.导入dmp文件

导入命令:

impdp 用户/密码@IP/示例名称 directory=DMP_DIR dumpfile=oracle_back.dmp schemas=用户 remap_schema=导出用户:用户 remap_tablespace=导出时的表空间:当前用户表空间
例子:```impdp oracletest/com_qwer@13.3.2.155/orcl directory=DMP_DIR dumpfile=oracle_back.dmp remap_schema=oracletest:oracleprod remap_tablespace=ORACLETEST_DATA:ORACLEPROD_DATA``

命令详细解释如下:

impdp: 这是Oracle Data Pump Import的命令行工具,用于将之前使用expdp导出的数据文件导入到数据库中。
oracletest/com_qwer@13.3.2.155/orcl:这部分定义了连接到数据库所需的凭据。
oracletest:这是执行导入操作时所使用的数据库用户名。
com_qwer:这是该用户的密码。
13.3.2.155:这是目标数据库服务器的IP地址或主机名
/orcl:这是目标数据库实例的服务名或SID。directory=DMP_DIR:指定在数据库服务器端用于读取导入文件的目录对象名为DMP_DIR。与导出时一样,这个目录也必须在数据库中被创建为DIRECTORY类型对象,并且当前用户要有足够的权限来访问此目录中的文件。
dumpfile=oracle_back.dmp:指出要从哪个dmp文件中导入数据,此处为oracle_back.dmp,它应位于上述的DMP_DIR目录下。remap_schema=oracletest:oracleprod:这是一个转换选项,指示在导入过程中将源模式(schema)oracletest的所有对象和数据重映射到目标数据库中的oracleprod模式下。这意味着原本属于oracletest的所有表、序列、存储过程等将在导入后归属于oracleprod方案。remap_tablespace=ORACLETEST_DATA:ORACLEPROD_DATA:同样是一个转换选项,表示在导入过程中将源表空间ORACLETEST_DATA中的所有对象重新定位到目标数据库的ORACLEPROD_DATA表空间。这样,原来存储在ORACLETEST_DATA表空间的对象在导入后将存放在ORACLEPROD_DATA表空间内。
这条命令总体的作用是:通过数据库用户oracletest的身份连接到13.3.2.155服务器上的orcl数据库实例,从DMP_DIR目录下的oracle_back.dmp文件中导入数据,并在导入过程中进行以下转换:

  1. 将所有来自源数据库中oracletest模式下的对象和数据迁移到目标数据库的oracleprod模式。
  2. 同时将原属ORACLETEST_DATA表空间的对象导入后放入ORACLEPROD_DATA表空间中。
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值