데이터 베이스 MySQL 튜토리얼 Oracle迁移数据表空间

Oracle迁移数据表空间

Jun 07, 2016 pm 05:31 PM
데이터 베이스

为了一些大量基础数据的测试案例,IMP导入数据速度太慢,则使用下面方法可以对当前Oracle数据库中个某个表空间数据快速备份恢复;

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

实验环境:
source:192.168.1.249    tablespace: anenjoy 
Target:192.168.1.248      tablespace:anenjoy02
步骤一:先确保你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; (两个字段 name和work)
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);
如果你有多个表空间的话呢,用逗号隔开如:’anenjoy01,anenjoy02‘
输出日志:
PL/SQL procedure successfully completed.
执行命令,,检查下是否存在不能传输的表空间
SQL> select * from transport_set_violations;  如果有返回行,则需要处理后才可以传输

步骤四:生成传输字符集
首先要先将源表空间置于只读状态,以防表空间数据的修改
SQL> alter tablespace anenjoy read only;
接下来就是数据的导出步骤了(重要)

执行导入操作。导入操作应该与导出操作相对应,若是以exp导出的,需要以imp导入,若是以expdp导出的,需要以impdp导入,参考使用官方的expdp和impdp
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的文件copy到target 相应的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]表空间之间的数据迁移记录 

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Go 언어는 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 어떻게 구현합니까? Go 언어는 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 어떻게 구현합니까? Mar 27, 2024 pm 09:39 PM

Go 언어는 데이터베이스의 추가, 삭제, 수정 및 쿼리 작업을 어떻게 구현합니까?

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼

MySQL과 PL/SQL의 유사점과 차이점 비교 MySQL과 PL/SQL의 유사점과 차이점 비교 Mar 16, 2024 am 11:15 AM

MySQL과 PL/SQL의 유사점과 차이점 비교

Hibernate는 어떻게 다형성 매핑을 구현합니까? Hibernate는 어떻게 다형성 매핑을 구현합니까? Apr 17, 2024 pm 12:09 PM

Hibernate는 어떻게 다형성 매핑을 구현합니까?

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. Jul 18, 2024 am 05:48 AM

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다.

MySQL 데이터베이스 관리 시스템의 기본 원리 분석 MySQL 데이터베이스 관리 시스템의 기본 원리 분석 Mar 25, 2024 pm 12:42 PM

MySQL 데이터베이스 관리 시스템의 기본 원리 분석

HTML이 데이터베이스를 읽는 방법에 대한 심층 분석 HTML이 데이터베이스를 읽는 방법에 대한 심층 분석 Apr 09, 2024 pm 12:36 PM

HTML이 데이터베이스를 읽는 방법에 대한 심층 분석

PHP를 사용하여 데이터베이스에서 중국어 왜곡 문자를 처리하기 위한 팁과 사례 PHP를 사용하여 데이터베이스에서 중국어 왜곡 문자를 처리하기 위한 팁과 사례 Mar 27, 2024 pm 05:21 PM

PHP를 사용하여 데이터베이스에서 중국어 왜곡 문자를 처리하기 위한 팁과 사례

See all articles