第一章 概述
不同主机上oracle19c单实例数据库迁移
第二章 环境准备
2.1 确认源数据库和目标数据库的版本:
确保源数据库和目标数据库的Oracle版本兼容,以保证Datapump工具能够正常工作。
2.2 硬件资源检查:
确认源数据库和目标数据库服务器的硬件资源(如CPU、内存、存储空间)能够满足数据迁移的需求。
2.3 网络连接:
确认源数据库和目标数据库服务器的硬件资源(如CPU、内存、存储空间)能够满足数据迁移的需求。
2.4 确认数据库用户权限:
确保执行Datapump操作的用户具有足够的权限,包括对源数据库的导出权限和目标数据库的导入权限。
2.5 数据库参数设置:
根据数据迁移的需求,调整数据库参数,如内存分配、并行处理等,以优化迁移性能。
第三章 具体操作
3.1 EXPDP数据导出:
3.1.1 创建导出的逻辑目录
在本地数据库服务器 创建逻辑目录(通过SQLPLUS或ORACLE客户端执行SQL)
su - root mkdir /opt/backup chown oracle:install /opt/backup |
3.1.2 在数据库中创建逻辑目录
su - oracle sqlplus / as sysdba 创建一个新用户wkp使用表空间wkp_data 登录wkp用户创建表插入数据 创建逻辑目录 CREATE DIRECTORY dpump_dir AS '/opt/backup'; select * from dba_directories; GRANT READ, WRITE ON DIRECTORY dpump_dir TO wkp; grant exp_full_database,imp_full_database to wkp; |
3.1.3 导出数据
expdp wkp/wkp129311 directory=dump_dir logfile=expdp.log dumpfile=expdp.dmp schemas=wkp
|
3.1.5问题
如果预见因Streams Pool Size而产生的报错信息 可以查看这个值是否为0 进行更改,更改后就没有问题了
show parameters
ALTER SYSTEM SET streams_pool_size = 2 SCOPE=SPFILE;
3.1.4 传文件
将导出的expdp.dmp文件传到要导入的主机上
3.2 EXPDB数据导入:
3.1.1 创建导出的逻辑目录
在本地数据库服务器 创建逻辑目录(通过SQLPLUS或ORACLE客户端执行SQL)
su root mkdir /opt/backup chown -R oracle:oinstall /opt/backup |
3.1.2 在数据库中创建逻辑目录
su - oracle sqlplus / as sysdba create directory data_dir as '/opt/backup'; select * from dba_directories; Grant read,write on directory data_dir to wkp; grant exp_full_database,imp_full_database to wkp; |
3.1.3 导入数据
impdp wkp/wkp129311 directory=dump_dir logfile=impdp.log dumpfile=expdp.dmp full=yes remap_schema=wkp:wkp table_exists_action=replace 1 wkp/wkp129311:这里wkp是连接到数据库时使用的用户名,wkp129311是该用户的密码 2 directory=dpump_dir:指定用于存放导入文件的目录。 3 dumpfile=expdb.dmp:指定导入文件的名称。
5 full=yes导入dmp文件里面所有数据
|
4.1 数据,对象校验:
SELECT table_name FROM user_tables; SELECT index_name FROM user_indexes; SELECT view_name FROM user_views; SELECT object_name FROM user_objects WHERE object_type = 'PROCEDURE'; 经过查询比对,源库和目标库的,数据,表,索引,视图,存储过程相同 对象校验成功 表里面的数据数量和内容都一致 数据校验成功 |