Oracle数据库迁移方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yby774529038/article/details/90046162
数据库迁移及注意事项

 

--1.新建或修改备份地址变量

CREATE OR REPLACE DIRECTORY EXPDPDUMP AS 'C:\expdpdump2';

 

 

--2.在备份机上创建还原的用户的表空间(两个)

CREATE TABLESPACE ZMDZ_NC63_DATA01 --表空间名称

DATAFILE 'C:\TABLESPACE\ZMDZ_NC63_DATA01.dbf' --表空间文件路径及名称

SIZE 1000m --初始大小

AUTOEXTEND ON --自动扩容

NEXT 500m --每次扩容大小

;

 

CREATE TABLESPACE ZMDZ_NC63_INDEX01 --表空间名称

DATAFILE 'C:\TABLESPACE\ZMDZ_NC63_INDEX01.dbf' --表空间文件路径及名称

SIZE 500m --初始大小

AUTOEXTEND ON --自动扩容

NEXT 100m --每次扩容大小

;

 

--3.在备份机上创建用户

CREATE USER ZMDZ_NC63--用户名

IDENTIFIED BY 123456 --密码

DEFAULT TABLESPACE ZMDZ_NC63_DATA01 --默认表空间

TEMPORARY TABLESPACE temp  --临时表空间

;

 

--4.给用户授权

GRANT dba TO ZMDZ_NC63;

 

--5.导入数据(在CMD命令中执行)

impdp ZMDZ_NC63/123456@orcl directory=EXPDPDUMP dumpfile=20190405EXP65.DMP remap_schema=zmdnc6:ZMDZ_NC63

 

说明:

 

--表空间满了的解决方法

 

alter tablespace ZMDZ_NC63_DATA01 add datafile 'C:\tablespace\ZMDZ_NC63_DATA02.dbf' SIZE 500M  autoextend on ;
————————————————
版权声明:本文为CSDN博主「yby774529038」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yby774529038/article/details/90046162

 

 

oracle数据库迁移

一、导出

导出用户对象:

1、plsql登录到数据库

 

2、查询当前用户的默认表空间(以DEMO1账户为例)

 

用DEMO1用户登陆plsql,在上图的窗口里的Users的分支下找到当前的用户名DEMO1,再点view,在右边的Default tablespace就可以查看该用户的默认表空间(TBS_DEMO1)。

3、导出DEMO1用户的所有用户对象(表结构):

在DEMO1用户下,点击tools,Export User Objects,在右侧弹出的窗口按如上设置进行设置,重点是Single file,然后在Output file选择路径,再点击export导出用户对象文件(文件为sql格式)。

注意:这个导出完成后可能没有什么成功或者完成一类的提示,只需要看到下条的进度条已经走完。再看一下生成出来的log文件最后有spoo off就说明导完了。

导出表数据:

 

在右侧窗口全选所有表对象,再点击下方的Output file选择输出路径,再点击Export生成数据文件(文件格式为dmp格式)

二、导入

在新的数据库服务器用sys账号登陆sql

1、新建用户表空间(表空间的名字要和导出的一致,这里以TBS_DEMO1为例)

create tablespace TMS_DEMO1 datafile 'D:\ORACLE11GR2\ORADATA\PCILAB\DATA.DBF' size 10g 

autoextend on next 1g maxsize unlimited

EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

表空间是oracle独有的,可以想象为一个存放数据库的一个盒子,需要指定该大小(本例为10g),以及实体文件的路径xx.DBF自定义(本例为D:\ORACLE11GR2\ORADATA\PCILAB\DATA.DBF),所有数据表都会放在表空间。(如果想知道当前实例里别的表空间路径都在哪,可以用select * from dba_data_files 查询)

2、新建一个用户,并指定其默认表空间(用户名需要和之前导出时的用户名一致,这里以DEMO1为例。)

CREATE USER DEMO1 IDENTIFIED BY DEMO1123

DEFAULT TABLESPACE TBS_DEMO1

TEMPORARY TABLESPACE TEMP;

新建用户DEMO1,密码DEMO1123,默认表空间 TBS_DEMO1,默认临时表空间TEMP.

3、授予用户DBA权限(有时间可能上述的权限无法导入用户对象以及用户数据,所以最好用grant dba to DEMO1;授予它dba权限,在导完了用户对象后,再用revoke dba from DEMO1;回收dba权限。)

授于用户的基本权利

grant

connect,

ALTER SESSION,

CREATE ANY JOB,

CREATE ANY TABLE,

CREATE ANY VIEW,

CREATE CLUSTER,

CREATE DATABASE LINK,

CREATE INDEXTYPE,

CREATE JOB,

CREATE OPERATOR,

CREATE PROCEDURE,

CREATE SEQUENCE,

CREATE SESSION,

CREATE SYNONYM,

CREATE TABLE,

CREATE TRIGGER,

CREATE TYPE,

CREATE VIEW,

DEBUG ANY PROCEDURE,

DEBUG CONNECT SESSION,

EXECUTE ANY PROCEDURE,

INSERT ANY TABLE,

MANAGE SCHEDULER,

SELECT ANY DICTIONARY,

SELECT ANY TABLE,

UNDER ANY TABLE,

UNLIMITED TABLESPACE,

UPDATE ANY TABLE

to DEMO1;

1、导入用户对象(表结构)

登陆DEMO1账号后,直接执行导出的sql脚本。

2、导入表数据

登陆DEMO1账号后,选择tools 下边的Import Tables,选择之前导出的dmp文件后,按import后即可。

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常抱歉,我不能提供完整的操作手册,但是我可以给您提供一些一般的步骤和建议来进行Oracle数据库迁移操作。请注意,这些步骤仅供参考,并且在实际操作中可能需要根据您的具体情况进行调整。 以下是一般的Oracle数据库迁移操作步骤: 1. 准备工作: - 确定源数据库和目标数据库的版本和操作系统。 - 确定迁移的目的和目标环境,如硬件、网络和存储需求。 - 创建一个详细的迁移计划,包括时间表、资源需求和风险评估。 2. 数据库备份: - 在源数据库上执行完整备份,以确保数据的安全性。 - 备份包括数据文件、控制文件、联机重做日志和参数文件等。 3. 数据库迁移: - 安装并配置目标数据库环境。 - 在目标数据库中创建相应的表空间和用户。 - 将源数据库的备份文件传输到目标数据库服务器。 - 在目标数据库中还原备份文件。 - 运行必要的脚本或工具来更目标数据库中的相关信息,如主机名、IP地址等。 4. 数据验证和测试: - 在目标数据库中执行一系列测试来确保数据完整性和一致性。 - 验证应用程序在目标数据库上的运行情况,并进行必要的调整和修复。 5. 数据库切换: - 在迁移期间,将源数据库标记为只读,并确保在切换期间没有任何数据变更。 - 将应用程序切换到目标数据库,并确保它正常运行。 - 在切换完成后,验证数据的一致性并确保没有数据丢失。 6. 监控和维护: - 监控目标数据库的性能和稳定性,并根据需要进行调整和维护。 - 定期备份目标数据库以确保数据的安全性。 请注意,这些步骤仅涵盖了一般的数据库迁移操作,实际操作中可能涉及到更多的细节和特定的要求。建议在进行数据库迁移前,仔细阅读相关文档和参考资料,并在需要时寻求专业人士的帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值