Oracle 数据库 拷贝

记录一下吧:

把一个数据库中的数据完全拷贝到另一个数据库中:
假设数据库A,B

1.先用exp nm/pw@A file=e:/expdata.dmp
这时是按User模式导出,会导出所有的表,表中记录,存储过程,触发器,函数等

2.新建B数据库,在B数据库中新建 表空间,用户,其中表空间,用户名,密码都和A数据库中的一样。之所以新建数据库是因为如果以前的数据库,则imp时会出现问题,说对象已存在,无法添加。

3.用 imp nm/pw@B file=e:/expdata.dmp fromuser=nm touser=nm

4.在B中编译所有的对象

这样就完成了。

==================

如果A中有数据,B也存在,也有数据,怎么将数据从A-》b呢?

有两个办法:
1.用plsql中的“对象比较”功能,比较两个数据库,如果有不一样的表,视图,存储过程(只比较定义),则手动进行修改。
2.先用drop user xxx cascade
drop掉用户xxx及其所属的所有的对象,然后用imp再导入一遍
复制,顾名思义就是将数据库中的数据拷贝到不同物理地点的数据库中。 在很多生产环境中,经常遇到一些大量得数据,这些数据只用作查询统计功能。例如:历史告警,历史性能指标,历史事件,等等。这种数据的特点是:只读不写,数据量相当大,一旦查询大结果集的数据时,对数据库的IO,内存缓存占用相当大,会严重影响同一个数据库的其他会话的操作,表现为整个数据库反应迟缓,业务功能不可用。采用复制技术后,将这些大型数据复制到另外一个数据库中,对这些大数据的查询统计操作放在另外的一台数据库服务器上进行,即使受影响,也只是影响局部的查询统计功能,其他正常的业务处理不受影响。 但是,使用复制技术的话,意味着一个系统中,至少存在两个数据库(集群的数据库也当成一个数据库),对应的应用程序也需要建立多个数据库连接,能够根据业务需要,访问不同的数据库ORACLE数据库自身提供有复制功能,只需要进行配置即可实现。 ORACLE提供有三种复制技术: 高级复制(Advanced Replication) 流复制(Streams Replication) 备库(Dataguard) 备库的方式,就是数据库数据库的备份方式,主要是解决容灾的,不讨论此话题。 流复制主要是利用ORACLE的归档日志,进行增量备份来实现的,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml。可以复制到表,用户,数据库级别。 高级复制主要是基于触发器的原理来触发数据同步的,因此,高级复制无法实现用户,数据库级别的对象复制,只能做些表、索引和存储过程的复制。 如果出于容灾整个数据库的考虑,高级复制相当复杂,而且并不一定能做好,流复制的配置相对简单。流复制是后来产生的复制技术,是基于日志挖掘技术实现的,对数据库的影响较低。但在稳定性方面较差,实时性没有高级复制强(因为高级复制是基于触发器的)。如果系统意外的话,流复制的恢复将会需要较长时间,特别是意外时间越长,恢复时间成倍增长。 下面使用相同的环境,分别对两种复制功能进行配置介绍,并进行性能压力测试比较。
### Oracle 数据库拷贝的方法 在实际生产环境中,Oracle 数据库拷贝通常涉及备份、还原以及克隆等多种技术手段。以下是几种常见的方法及其特点: #### 1. 使用 RMAN 工具进行备份与恢复 RMAN 是 Oracle 提供的强大工具之一,用于执行数据库的物理备份和恢复操作。通过指定 `FORMAT` 参数,可以定义备份文件的目标路径和命名规则[^1]。 ```bash RMAN> backup database format 'c:\backup\db0_%s_%p_%t'; ``` 上述命令表示将整个数据库备份到指定目录下,并按照特定格式生成备份集名称。此方法适用于需要高效管理大容量数据的情况。 #### 2. 脱机冷备份 (Cold Backup) 冷备份是指在数据库完全关闭的状态下完成的数据文件复制过程[^2]。这种方式简单快捷,适合于小型环境或允许停机窗口的应用场景。 具体步骤如下: - 执行 `shutdown immediate` 命令停止实例运行; - 将所有必要的文件(如控制文件、数据文件、重做日志等)移动至目标位置; - 启动新的数据库实例并验证其可用性 (`startup`)。 需要注意的是,在这种模式下无法实现基于时间点的精确恢复[^4]。 #### 3. 热备/在线备份 (Hot Backup via Archivelog Mode) 如果业务需求不允许长时间中断服务,则应启用归档日志功能来支持联机备份方案。相比冷备份而言,这种方法能够更好地保护最新更改记录不被丢失。 此外还有其他高级特性可供选择,例如增量备份机制——它仅捕获自上次完整扫描之后发生变化的部分区块内容而非重复处理未变动区域;其中又细分为两种类型:差异增量(Differential Incremental) 和累积增量(Cumulative Incremental)[^3] 。前者侧重效率优化后者则强调简化后续重建流程从而缩短整体耗时周期。 对于大规模事务密集型应用来说可能还需要考虑额外开销所带来的影响比如I/O负载增加等问题因此建议权衡利弊后再决定采用何种策略最为合适。 #### 4. 克隆现有实例 另一种常见做法是从源端创建一份完整的副本即所谓的“克隆”。这不仅限于本地迁移也可能跨越不同硬件平台之间实施远程部署作业[^5]。 典型的操作指南包括但不限于以下几个方面: - 把原始配置文档(pfile/spfile),网络连接描述符集合(tnsnames.ora),监听器参数表(listener.ora)连同认证凭证一同传输过去; - 如果条件许可的话可以直接切换底层存储介质否则就得借助诸如标准文件系统指令(cp/dd)之类的实用程序逐一手工搬运各个组成部分直至最终组装完毕为止. 最后记得重新初始化新站点上的各项设置确保一切运转正常无误即可投入使用了.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值