Oracle数据迁移 EXP/IMP

昨天用了这样一个语句来导出数据库文件。。导了一会儿就卡死了。
full=y是导出整个数据库,不加full=y是导出当前连接数据库的用户下的数据,trainee这个用户没有DBA权限,应该是不能导出整个数据库的。
奇怪为什么没有先报错。

exp trainee/123456@orcl file=C:\Users\Administrator\Desktop\OracleTask\practice\trainee.dmp full=y

整理一下数据迁移的相关知识。
参考书:《Oracle DBA 高可用、备份恢复与性能优化》清华大学出版社

(1)关于几个备份

1.逻辑备份与物理备份
逻辑备份:备份数据库的结构和数据。使用数据泵和EXP/IMP是逻辑备份。
物理备份:备份数据库的数据文件、控制文件、归档日志文件等。

2.脱机备份和联机备份
脱机备份:冷备份。在数据库关闭的情况下实现备份,要备份所有的数据库文件。
联机备份:热备份。运行时备份,必须处于归档模式,可以备份某个表空间的所有数据文件、也可以备份某个表空间的一个数据文件。相当复杂。

3.一致备份和非一致备份
SCN:system change number,Oracle为每个事务都设置了唯一的SCN,每次事务提交时都自动增加SCN。
恢复:数据文件和控制文件中系统SCN不一致时,恢复进程要使用归档日志文件和联机重做日志文件中的数据更新数据文件中的内容。即将重做日志文件中用户提交的数据重新写入数据文件。
一致:数据文件和控制文件中的SCN一致。
一致备份与不一致备份的区别:是否进行“恢复”。

(2)exp

exp要在DOS窗口命令行执行。

1.exp导出整个数据库,用户要有DBA权限才可以

exp system/123456@orcl file=C:\Users\Administrator\Desktop\OracleTask\practice\wholeDB.dmp full=y

2.导出指定表
导出其他用户的表

exp system/123456@orcl tables = trainee.namex,u_j121.stud 
file=C:\Users\Administrator\Desktop\OracleTask\practice\tables.dmp

导出当前用户的表

exp trainee/123456@orcl tables= namex,classes 
file=C:\Users\Administrator\Desktop\OracleTask\practice\trainee_tables.dmp

3.导出指定用户的所有数据库对象

/*使用有DBA权限的system导出scott用户的所有数据库对象*/
exp system/123456@orcl owner=scott 
file=C:\Users\Administrator\Desktop\OracleTask\practice\scott.dmp

/*登录scott导出自己的数据库对象*/
exp scott/123456@orcl owner=scott 
file=C:\Users\Administrator\Desktop\OracleTask\practice\scott.dmp

4.导出特定的表空间

exp system/123456@orcl tablespace=users
file=C:\Users\Administrator\Desktop\OracleTask\practice\users.dmp
(3)imp

1.imp导入整个数据库

imp system/123456@orcl full=y file=wholeDB.dmp ignore=y

ignore=y可以忽略创建数据库对象时对象已经存在等错误

2.恢复trainee的namex表

drop table namex;
desc namex;

imp system/123456@orcl tables=namex file=tables.dmp
desc namex;

3.恢复指定用户

/*恢复scott用户的所有数据库对象*/
imp system/123456@orcl full=y file=scott.dmp

/*将特定的表导入指定用户*/
imp system/123456@orcl tables=emp fromuser=scott touser=system
file=scott.dmp

PS:导出导入好像很容易报错,但是不影响使用就没事。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OGG(Oracle GoldenGate)是Oracle数据库的一种高性能、实时数据复制和数据集成解决方案。它可以从源数据库捕获事务日志,并将这些日志传输到目标数据库,实现实时数据同步。OGG的实现原理是通过读取源数据库的redo日志或归档日志,将变更数据以SQL语句或二进制格式传输到目标数据库,然后在目标数据库上重新执行这些变更操作,从而实现数据的同步。 ADG(Active Data Guard)是Oracle数据库的一种高可用性解决方案,它通过在备用数据库上启用只读访问,实现实时数据保护和查询功能。ADG的实现原理是在备用数据库上应用源数据库的redo日志,实时保持备用数据库与源数据库的数据一致性,并将读取请求路由到备用数据库,从而实现实时数据保护和查询功能。 DG(Data Guard)是Oracle数据库的一种灾备解决方案,它通过在备用数据库上应用源数据库的归档日志,实现数据的异地备份和恢复功能。DG的实现原理是将源数据库的归档日志传输到备用数据库,然后在备用数据库上应用这些归档日志,从而实现数据的异地备份和恢复功能。 RAC(Real Application Clusters)是Oracle数据库的一种集群解决方案,它可以将多个服务器组成一个集群,共享数据库和资源,提高数据库的可用性和性能。RAC的实现原理是通过共享存储和共享网络,实现多个服务器对数据库的同时访问,从而提高数据库的可用性和性能。 XTTS(Cross-Platform Transportable Tablespaces)是Oracle数据库的一种跨平台传输表空间的解决方案。它可以将表空间从一个平台迁移到另一个平台,实现跨平台的数据迁移。XTTS的实现原理是通过将表空间的数据文件导出为通用的数据文件格式,然后将这些数据文件导入到目标平台的数据库中,从而实现跨平台的数据迁移exp/impexpdp/impdp是Oracle数据库的导出和导入工具,用于将数据库对象和数据导出到文件,然后再从文件中导入到另一个数据库中。exp/imp是传统的导出和导入工具,expdp/impdp是数据导出和导入工具。它们的实现原理是通过将数据库对象和数据转换为特定的导出文件格式,然后通过导入工具将这些文件中的对象和数据导入到目标数据库中。 Rman(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以对数据库进行全量备份、增量备份和日志备份,并提供了灵活的恢复选项。Rman的实现原理是通过读取数据库的数据文件和日志文件,将备份数据存储到备份设备中,并在需要恢复时,根据备份数据和日志文件进行恢复操作,从而实现数据库的备份和恢复。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值