新手学习oracle之迁移数据表空间

简介:

新手学习之迁移数据表空间

  为了一些大量基础数据的测试案例,IMP导入数据速度太慢,则使用下面方法可以对当前数据库中个某个表空间数据快速备份恢复;下面的方法也适合两个数据库(必须相同操作系统,相同数据库版本,相同字符集)之间的数据表空间移植。

实验环境:

source192.168.1.249     tablespace: anenjoy  

Target192.168.1.248      tablespaceanenjoy02

步骤一:先确保你oracle运行的平台支持transport tablespace (基本上都是支持的,学习下查看平台的命令)

SQL> select * from v$transportable_platform; (查看当前oracle下支持的平台)

SQL>  select platform_name from v$database;(查看当前oracle 运行的平台)

SQL> select d.platform_name,endian_format from v$transportable_platform tp , v$database d where tp.platform_name=d.platform_name; (查看oracle运行的平台是否在oracle 支持平台下,返回数据则为true

步骤二:在source 上创建一个数据表空间和数据文件

SQL> create tablespace anenjoy datafile '/opt/oracle/oradata/test05/test05.dbf' size 50m extent management local autoallocate;

Tablespace created.

基于表空间创建表

SQL> create table test (name varchar2(15),work varchar2(10))  tablespace anenjoy; (两个字段 namework

Table created.

    插入一些数据,

insert into test (name,work) values ('frank','IT');

SQL> select * from test;

NAME                           WORK

------------------------------ --------------------

frank                          IT

alex                           caiwu

leon                           yanfa

步骤三:Pick a Self-Contained Set of Tablespaces (查看是不是自含,也就是说需要传输的表空间是独立的)

execute dbms_tts.transport_set_check('anenjoy',true);

如果你有多个表空间的话呢,用逗号隔开如:’anenjoy01anenjoy02

输出日志:

PL/SQL procedure successfully completed.

执行命令,检查下是否存在不能传输的表空间

SQL> select * from transport_set_violations;   如果有返回行,则需要处理后才可以传输

步骤四:生成传输字符集

首先要先将源表空间置于只读状态,以防表空间数据的修改

SQL> alter tablespace anenjoy read only;

接下来就是数据的导出步骤了(重要)

执行导入操作。导入操作应该与导出操作相对应,若是以exp导出的,需要以imp导入,若是以expdp导出的,需要以impdp导入,参考使用官方的expdpimpdp

Host expdp system  dumpfile=expdat.dmp directory=data_pump_dir transport_tablespaces='anenjoy' logfile=tts_export.log;

中间会提示输入system的密码,如果你忘记这个密码的话呢,可以参考上篇文章,学习下如何更改密码

提示点一:这里使用的是system的用户,如果你使用的是你自己定义的用户,那么你需要在target 主机上创建此用户

提示点二:命令行directory 参数data_pump_dir的路径是在/opt/oracle/admin/test05/dpdump下,test05是数据库名,这个目录在oracle database安装好之后就会创建的

可以通过SQL命令查看data_pump_dir 路径

select * from dba_directories;

日志输出为:

Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 13:36:16

步骤五:copy数据到target 主机上

Transport both the datafiles and the export (dump) file of the tablespaces to a place that is accessible to the destination database.

scp test05.dbf  oracle@192.168.1.248:/opt/oracle/oradata/test02/ (target database 下)

scp -r dpdump/ oracle@192.168.1.248:/home/oracle/ (这个是export files

然后呢,再将dpdump的文件copytarget 相应的data_pump_dir下,也就是你/opt/oracle/admin/ORALE_SID/dpdump

步骤六:数据导入

impdp system dumpfile=expdat.dmp directory=data_pump_dir transport_datafiles='/opt/oracle/oradata/test02/test05.dbf' logfile=tts_import.log

正常的日志输出:

Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 00:41:33

之后,更改源和目标主机上的表空间属性

Alter tablespace anenjoy read write; (两台server上都去执行下)

验证阶段:

target上,通过SQL 命令查看是否同步过来表空间anenjoy

SQL> select * from v$tablespace;

      TS# NAME  INCLUD BIGFIL FLASHB ENCRYP

6 ANENJOY  YES NOYES

查看表空间anenjoy下的表数据

SQL> select * from test;

NAME                           WORK

------------------------------ --------------------

frank                          IT

alex                           caiwu

leon                           yanfa

现在就可以向表test中插入数据,也可以再target anenjoy 表空间下创建新的数据表和索引

   新手学习oracle 技术交流群:329638713,欢迎加入




      本文转自天真花语  51CTO博客,原文链接: http://blog.51cto.com/caibird/1274921 ,如需转载请自行联系原作者


相关文章
|
19天前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle的还原数据
Oracle数据库中的还原数据(也称为undo数据或撤销数据)存储在还原表空间中,主要用于支持查询的一致性读取、实现闪回技术和恢复失败的事务。文章通过示例详细介绍了还原数据的工作原理和应用场景。
【赵渝强老师】Oracle的还原数据
|
4月前
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
73 0
|
19天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
19天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的数据文件
在Oracle数据库中,数据库由多个表空间组成,每个表空间包含多个数据文件。数据文件存储实际的数据库数据。查询时,如果内存中没有所需数据,Oracle会从数据文件中读取并加载到内存。可通过SQL语句查看和管理数据文件。附有视频讲解及示例。
|
2月前
|
Oracle 关系型数据库 网络安全
Oracle 19c 安装教程学习
Oracle 19c 安装教程学习
61 2
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据创建同义词
oracle数据创建同义词
51 0
|
4月前
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
52 0
|
4月前
|
SQL Oracle 关系型数据库
Oracle误删数据怎么恢复?
Oracle误删数据怎么恢复?
50 0
|
4月前
|
SQL Oracle Java
实时计算 Flink版产品使用问题之采集Oracle数据时,为什么无法采集到其他TABLESPACE的表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
分布式计算 Oracle 关系型数据库
实时计算 Flink版产品使用问题之获取Oracle的数据时无法获取clob类型的数据,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

推荐镜像

更多