Oracle数据库迁移-怎样将原服务器数据迁移到另一个服务器?

avatar
作者
猴君
阅读量:2

开始引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中.

数据泵导出导入(EXPDP和IMPDP)的作用

1,实现逻辑备份和逻辑恢复.

2,在数据库用户之间移动对象.

3,在数据库之间移动对象

4,实现表空间搬移.

数据泵导出导入与传统导出导入的区别

传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;

EXP和IMP是客户段工具程序,它们既可以在可以客户端使用,也可以在服务端使用.

EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用

IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件.

数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.

导出功能

使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.

因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.

CREATE DIRECTORY dump_dir AS '/home/oracle/dump_dir';

GRANT READ, WIRTE ON DIRECTORY dump_dir TO public;

注意:这个目录赋权限给oracle用户

1,导出表

Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp logfile=tab.log TABLES=dept,emp

2,导出方案

Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=system,scott

3.导出表空间

Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01,user02

4,导出数据库

Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y

我们经常用到的是第二种

expdp system/**** directory=dump_dir dumpfile=ngboss_yueyang20130514.dmp logfile=expyueyang20130514.log schemas=ngboss_yueyang

对参数功能不了解请expdp -help查看。

要将Oracle数据库从一个服务器迁移到另一个服务器,您可以按照以下一般步骤进行:

1. 对源数据库进行完整备份。

 我们首先要链接Oracle导出数据泵

--链接oracle数据库 su - oracle  --导出数据泵 expdp account/passwd@orcl schemas=account dumpfile=data20220523.dmp directory=DUMPDIR logfile=data20220523.log;


2. 将备份文件复制到目标服务器。

我们就会在我们安装Oracle配置之前的DUMPDIR的目录下得到一个 data20220523.dmp 和data20220523.log 这两个文件就是我们导出的Oracle数据泵。
3. 在目标服务器上安装Oracle软件。
4. 将备份文件恢复到目标服务器。

我们将data20220523.dmp 和data20220523.log上传至你所安装oracle的DUMPDIR下。

--不知道DUMPDIR路径的可以执行该语句查询 SELECT directory_name ,directory_path FROM all_directories WHERE directory_name = 'DUMPDIR';  --新服务器创建名称空间 create tablespace  DATA_DATA datafile 'oradata/ora11g/data.dbf' size 2G autoextend on next 10M maxsize unlimited logging extent management local autoallocate segment space management auto;  --创建用户 create user account identified by password; grant dba to account;  --新服务器创建DUMPDIR  (根据你本地的设置) CREATE OR REPLACE DIRECTORY DUMPDIR AS '/home/oracle';   --新服务器导入这个执行前 要退出sqlplus模式执行 impdp account/password schemas=account directory=DUMPDIR dumpfile=data20240523.dmp logfile=data20240523.log    


5. 测试迁移后的数据库连接,确保它正常工作。

--新服务器验证登录 登录你的端口号 sqlplus 'account/"passwd"'@11.11.111.111:1111/orcl  --执行sql语句看看查询出的数据是否与原服务相同。 select * from table

请注意,具体步骤可能会根据您的环境和要求而有所不同。建议查阅Oracle文档或寻求数据库管理员的帮助,以确保顺利完成迁移过程。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!