当前位置: 首页 > 编程日记 > 正文

跨平台表空间传输(linux 10g表空间跨平台迁移到window 11g)

最近公司的一个项目里的linux 系统中的oracle 10g数据库,需要把某个表空间里的所有数据都迁移到window 2003的11g里,经过我与dba的交流、测试,决定使用跨平台的表空间传输技术,目前此项任务已经完成,经过测试,没有问题,下面是我为此项任务做的测试,此次是做linux(oracle 10g)对window (oracle 11g)做跨平台表空间传输(同字节顺序)需要注意:

对于导出文件dmp来说,Oracle实现了跨平台的处理,即在任何一个可运行的平台上,都能使用imp将其导入,但是对于表空间所包含的数据文件而言,各个平台上是不一样的,包含不能通过简单的复制来处理。数据文件不是独立于OS的。

传输表空间移动数据速度非常快。
使用前提:
1.源和目标数据库使用相同的字符集(也就是说little endian与big engian);
2.目标数据库不能有和源表空间相同的表空间;
3.源和目标数据库拥有相同的块大小;
4.必须传输自包含的对象集;
5.源和目标数据库运行的硬件平台必须相同;

下图是我的环境

一、环境检查

1、检查linux平台的环境

  1. [root@master ~]# su - oracle
  2. [oracle@master ~]$ sqlplus sys/dl528888@10.1.88.188:1521/bgtp as sysdba
  3. SQL*Plus: Release 10.2.0.1.0 - Production on Wed May 16 09:33:01 2012
  4. Copyright (c) 1982, 2005, Oracle.  All rights reserved.
  5. Connected to:
  6. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
  7. With the Partitioning, OLAP and Data Mining options
  8. SQL> select instance_name,host_name,version from v$instance where rownum < 2;
  9. INSTANCE_NAME    HOST_NAME                            VERSION
  10. ---------------- ---------------------------------------------------------------- -----------------
  11. BGTP         master                               10.2.0.1.0

2、检查windows平台的环境

  1. [oracle@master dbs]$ sqlplus sys/dl528888@10.1.88.191:1521/bgtp as sysdba
  2. SQL*Plus: Release 10.2.0.1.0 - Production on Wed May 16 09:22:58 2012
  3. Copyright (c) 1982, 2005, Oracle.  All rights reserved.
  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  7. SQL> select instance_name,host_name,version from v$instance where rownum < 2;
  8. INSTANCE_NAME    HOST_NAME                            VERSION
  9. ---------------- ---------------------------------------------------------------- -----------------
  10. bgtp         ADMIN-F99B9A60C                          11.2.0.1.0

二、字节顺序检查

1、linux平台的

通过v$transportable_platfrom与v$database来查看本地平台的字节顺序
  1. SQL> select d.platform_name,endian_format from v$transportable_platform tp, v$database d where tp.platform_name = d.platform_name;
  2. PLATFORM_NAME                ENDIAN_FORMAT
  3. ---------------------------------------- --------------
  4. Linux 64-bit for AMD             Little

2、windows平台的

  1. SQL> select d.platform_name,endian_format from v$transportable_platform tp, v$database d where tp.platform_name = d.platform_name;
  2. PLATFORM_NAME                                                 ENDIAN_FORMAT
  3. ----------------------------------------------------------------------------------------------------- --------------
  4. Microsoft Windows IA (32-bit)                                         Little

三、进行准备工作

1、在linux平台里先建立dl表空间

  1. SQL> create tablespace dl logging datafile '/home/oracle/oradata/BGTP/dl_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
  2. Tablespace created.

2、创建dl用户默认dl表空间

  1. SQL> create user dl identified by dl default tablespace dl;
  2. User created.

3、查看dl用户所属的表空间

  1. SQL> select username,default_tablespace,temporary_tablespace from dba_users where username='DL';
  2. USERNAME         DEFAULT_TABLESPACE         TEMPORARY_TABLESPACE
  3. -------------------- ------------------------------ ------------------------------
  4. DL           DL                 TEMP

4、连接用户

  1. SQL> conn dl/dl
  2. Connected.
  3. SQL> show user
  4. USER is "DL"

5、创建测试表dl_test

  1. SQL> create table dl_test as select * from dict;
  2. Table created.
  3. SQL> select count(*) from dl_test;
  4. COUNT(*)
  5. ----------
  6. 1870

四、进行传输

1、查看数据文件的位置

  1. SQL> select file_name from dba_data_files where tablespace_name='DL';
  2. FILE_NAME
  3. ------------------------------------------------------------------------------------------------------------------------------------------------------
  4. /home/oracle/oradata/BGTP/dl_data.dbf

2、然后进行压缩数据文件

  1. SQL> !
  2. [oracle@master ~]$ cd /home/oracle/oradata/BGTP/
  3. [oracle@master BGTP]$ ll
  4. total 1056712
  5. -rw-r----- 1 oracle oinstall   7061504 May 16 10:07 control01.ctl
  6. -rw-r----- 1 oracle oinstall   7061504 May 16 10:07 control02.ctl
  7. -rw-r----- 1 oracle oinstall   7061504 May 16 10:07 control03.ctl
  8. -rw-r----- 1 oracle oinstall  52436992 May 16 10:05 dl_data.dbf
  9. -rw-r----- 1 oracle oinstall  52429312 May 15 22:00 redo01.log
  10. -rw-r----- 1 oracle oinstall  52429312 May 16 07:01 redo02.log
  11. -rw-r----- 1 oracle oinstall  52429312 May 16 10:07 redo03.log
  12. -rw-r----- 1 oracle oinstall 314580992 May 16 10:07 sysaux01.dbf
  13. -rw-r----- 1 oracle oinstall 503324672 May 16 10:07 system01.dbf
  14. -rw-r----- 1 oracle oinstall  20979712 May 15 22:00 temp01.dbf
  15. -rw-r----- 1 oracle oinstall  26222592 May 16 10:07 undotbs01.dbf
  16. -rw-r----- 1 oracle oinstall   5251072 May 16 07:06 users01.dbf
  17. [oracle@master BGTP]$ tar zcf dl_data.tar.gz  dl_data.dbf
  18. [oracle@master BGTP]$ du -sh dl_data.dbf
  19. 51M dl_data.dbf
  20. [oracle@master BGTP]$ du -sh dl_data.tar.gz
  21. 180K    dl_data.tar.gz

3、使用exp导出dl表空间

导出之前,先查看表空间dl是否有self-contained(自包含),通过系统包dbms_tts来检查表空间是否自包含,如果有的话,就不能进行传输
先进行非严格方式(full_check=false)
  1. SQL> exec sys.dbms_tts.transport_set_check('DL',TRUE);
  2. PL/SQL procedure successfully completed.
  3. SQL> select * from sys.transport_set_violations;
  4. no rows selected
进行严格方式
  1. SQL> exec sys.dbms_tts.transport_set_check('DL',TRUE,true);
  2. PL/SQL procedure successfully completed.
  3. SQL> select * from sys.transport_set_violations;
  4. no rows selected
这表示该表空里的对象集是自包含的(对象及其索引都在此表空间中)
下面可以进行exp了
4、在进行exp导出之前,先把dl表空间设为只读
  1. SQL> conn / as sysdba
  2. Connected.
  3. SQL> show user
  4. USER is "SYS"
  5. SQL> alter tablespace dl read only;
  6. Tablespace altered.
  7. [oracle@master tmp]$ exp userid=\'sys/dl528888 as sysdba\' tablespaces=DL transport_tablespace=y file=/tmp/dl.dmp
  8. Export: Release 10.2.0.1.0 - Production on Wed May 16 10:29:47 2012
  9. Copyright (c) 1982, 2005, Oracle.  All rights reserved.
  10. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
  11. With the Partitioning, OLAP and Data Mining options
  12. Export done in US7ASCII character set and AL16UTF16 NCHAR character set
  13. server uses ZHS16GBK character set (possible charset conversion)
  14. Note: table data (rows) will not be exported
  15. About to export transportable tablespace metadata...
  16. For tablespace DL ...
  17. . exporting cluster definitions
  18. . exporting table definitions
  19. . . exporting table                        DL_TEST
  20. . exporting referential integrity constraints
  21. . exporting triggers
  22. . end transportable tablespace metadata export
  23. Export terminated successfully without warnings.
  24. [oracle@master tmp]$ ll dl.dmp
  25. -rw-r--r-- 1 oracle oinstall 16384 May 16 10:29 dl.dmp
  26. [oracle@master tmp]$ du -sh dl.dmp
  27. 20K dl.dmp
导出成功
5、然后把dl_data.tar.gz与dl.dmp都传输到window的平台上
  1. [oracle@master tmp]$ ll dl*
  2. -rw-r--r-- 1 oracle oinstall 174677 May 16 10:08 dl_data.tar.gz
  3. -rw-r--r-- 1 oracle oinstall  16384 May 16 10:29 dl.dmp
6、然后把这2个文件传输到window平台的e:\soft目录下对dl_data.tar.gz进行解压

7、然后在window平台上建立用户dl

8、然后进行imp导入

9、然后查看dl_test表数据是否正确

10、在查看linux里的dl_test表里的数据

可以看得2者的数据都一致,所以此次跨平台表空间传输成功

11、最后再将dl表空间设置为读写模式,然后就可以进行正常的数据操作了

这样就完成了跨平台传输表空间,这种方法很方便、而且快速,以后将作为我公司oracle的数据迁移的方案之一!

相关文章:

YY的GCD 莫比乌斯反演

&#xff5e;&#xff5e;&#xff5e;题面&#xff5e;&#xff5e;&#xff5e; 题解&#xff1a; $ans \sum_{x 1}^{n}\sum_{y 1}^{m}\sum_{i 1}^{k}[gcd(x, y) p_{i}]$其中k为质数个数 $$ans \sum_{i 1}^{k}\sum_{x 1}^{n}\sum_{y 1}^{m}[gcd(x, y) p_{i}…

python答辩结束语_Beta答辩总结

前言队名&#xff1a;拖鞋旅游队项目的链接与宣传项目总结原计划实现功能预期完成程度上传照片完美实现照片信息标注在地图上对于有地理信息的照片能够较为精确的定位足迹地图可视化能够用颜色区分出到到每个省份的程度以及显示到达的地点生成旅游故事能够生成不同的故事模板&a…

在一台电脑上使用两个github账号

问题描述&#xff1a; 我公司有一个github账号&#xff0c;每天工作把代码传上去&#xff0c;我觉得代码写的好&#xff0c;我同时想上传到自己的github账号上面去&#xff0c;但是目前只有一台电脑&#xff0c;如何在一台电脑上面进行设置&#xff0c;使这一台电脑可以同时上传…

[唐胡璐]QTP框架 - 关键字驱动测试框架之七 - Settings管理

这里主要是存放一些框架相关的Global设置的相关项&#xff0c;如图所示&#xff1a;转载于:https://www.cnblogs.com/yongfeiuall/archive/2013/03/18/4134155.html

ASP.NET MVC以ValueProvider为核心的值提供系统: DictionaryValueProvider

NameValueCollectionValueProvider采用一个NameValueCollection作为数据源&#xff0c;DictionnaryValueProvider的数据源类型自然就是一个Dictionnary。NameValueCollection和Dictionnary都是一个键值对的集合&#xff0c;它们之间的不同之处在NameValueCollection运行元素具有…

串口 发送 接收 高位_电工进阶PLC大神,必备PLC串口通讯的基本知识!

戳上方蓝字“技成电工课堂”快速关注&#xff01;&#xff01;&#xff01;电力作业人员在使用PLC的时候会接触到很多的通讯协议以及通讯接口&#xff0c;最基本的PLC串口通讯和基本的通讯接口你都了解吗&#xff1f;1&#xff0c;什么是串口通讯&#xff1f;串口是计算机上一种…

HTTP请求时connectionRequestTimeout 、connectionTimeout、socketTimeout三个超时时间的含义...

1.connectionRequestTimout 指从连接池获取连接的timeout 2.connetionTimeout 指客户端和服务器建立连接的timeout&#xff0c; 就是http请求的三个阶段&#xff0c;一&#xff1a;建立连接&#xff1b;二&#xff1a;数据传送&#xff1b;三&#xff0c;断开连接。超时后会Con…

搜索引擎优化培训教程

很详细的搜索引擎优化培训教材 View more presentations from mysqlops 转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2967982.html

C语言-扫雷游戏

头文件 #ifndef __MINE_H__ #define __MINE_H__#define LINE 10 #define LIST 10 #define ROWS 6 #define COWS 6int game(char UserBoard[LINE2][LIST2], char PlayerBoard[LINE][LIST]); void PrintBoard(char Playerboard[LINE][LIST]); void MineLay(char UserBoard[LINE …

PHP的命令行脚本调用

1.使用PHP命令调用php脚本接受键盘输入然后输出 1 <?php 2 fwrite(STDOUT, "Please input your name:\t"); 3 $name trim(fgets(STDIN)); 4 fwrite(STDOUT, Hello . $name); 5 ?> 2.使用PHP命令调用php脚本并接受参数 1 <?php2 if($ar…

控制输入框只能输入数字

1.将input的属性type改为number 2.这时的输入框会有小箭头&#xff0c; 去掉小箭头的方法&#xff0c;给input添加样式 input::-webkit-outer-spin-button,input::-webkit-inner-spin-button { -webkit-appearance: none;}input[type"number"] { -moz-appearan…

main函数参数,在VS中向命令行添加参数的方法

问题描述 使用main函数的参数&#xff0c;实现一个整数计算器&#xff0c;程序可以接受三个参数&#xff0c;第一个参数“-a”选项执行加法&#xff0c;“-s”选项执行减法&#xff0c;“-m”选项执行乘法&#xff0c;“-d”选项执行除法&#xff0c;后面两个参数为操作数。 例…

2.monotouch 控件的使用

1.我们打开一个xib 右下角会看到如下图所示&#xff1a; 这一部分包含了界面和各种各样的控件。选取一个控件&#xff0c;使用鼠标拖动到界面上即可使用。 2.选中一个控件&#xff0c;该控件的相关信息会在右边进行显示。做出相关设置即可。 3.设置控件属性和绑定控件事件。 首…

python视频延迟严重_【Python】改善 VideoCapture 的影像延迟

许多的范例程序大多仅介绍该如何用 VideoCapture 撷取摄影机的画面&#xff0c;却没有充分说明其隐含的问题。以下示范一个最基本的影像撷取程序。# -*- coding: utf-8 -*-import cv2# ip camera 的撷取路径URL "rtsp://admin:admin192.168.1.1/video.h264"# 建立 V…

CentOS 6.0配置pptp ××× Client和Squid透明网关

目的&#xff1a; 构建一台单网卡Linux网关&#xff08;透明代理&#xff09;&#xff0c;该网关拨入某海外服务器&#xff0c;客户端设定该网关后&#xff0c;网络出口则为海外服务器&#xff0c;实现加速访问一些网站的目的。 环境信息&#xff1a; 硬件&#xff1a;DELL机器…

mysql汉字转拼音函数

-- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS t_base_pinyin (pin_yin_ varchar(255) CHARACTER SET gbk NOT NULL,code_ int(11) NOT NULL,PRIMARY KEY (code_) ) ENGINEInnoDB DEFAULT CHARSETlatin1;-- 插入数据 INSERT INTO t_base_pinyin (pin_yin_,code_) VAL…

数据挖掘的一些经典算法

数据挖掘能做以下七种不同事情&#xff08;分析方法&#xff09;&#xff1a;数据挖掘能做以下七种不同事情 分类 &#xff08;Classification&#xff09; 估计&#xff08;Estimation&#xff09; 预测&#xff08;Prediction&#xff09; 相关性分组或关联规则&#xff08;…

python cx oracle安装_python3.6的安装及cx_oracle安装

一、创建所需目录mkdir -p /home/用户名/software/python3.6.1mkdir -p /home/用户名/priv/bydmkdir -p /home/用户名/priv/byd/src/pythonmkdir -p /home/用户名/priv/byd/org二、修改byd目录的权限cd /home/用户名/priv/llchmod 777 byd/ll三、将安装包放到byd中&#xff0c;…

opencv 无法找到tbb_debug.dll

本人环境&#xff1a;vs 2010 在opencv(你的opencv install 路径)\build\common\tbb\ia32\vc10下&#xff0c;将tbb.dll 拷贝一份&#xff0c;改名为tbb_debug.dll. 并将此路径加入到系统环境变量中即可。转载于:https://blog.51cto.com/danielllf/871369

【天命奇御】成就进度62/71的通关攻略(1·开篇前言)

天命奇御于2018.8.9号在wegame上发售 先是一周目记录&#xff1a; 可以说一周目是熟悉最终boss技能后&#xff0c;靠技术过的...... 然后是二周目记录&#xff1a; 开篇前言&#xff1a; 转载于:https://www.cnblogs.com/wuduojia/p/9494700.html

使用git上传代码到github

1. github上创建项目 github是一个服务器托管商&#xff0c;我们写好的代码可以上传到github上面去 登录github的官方网站&#xff1a;http://github.com/ 注册一个自己的用户 新建一个项目&#xff0c;我这里有我自己的一个github账号&#xff0c;我直接登录上去了&am…

gpg加密命令 linux_用 PGP 保护代码完整性(五):将子密钥移到一个硬件设备中 | Linux 中国...

在这个系列教程中&#xff0c;将为你提供使用 PGP 和保护你的私钥的最佳体验。-- Konstantin Ryabitsev致谢译自 | linux.com 作者 | Konstantin Ryabitsev译者 | LCTT / qhwdw在这个系列教程中&#xff0c;将为你提供使用 PGP 和保护你的私钥的最佳体验。在本系列教程中&#…

在Android使用XML文件控制按钮文字在各种状态下的颜色

最近在项目中遇到新的需求&#xff0c;就是在按钮在选按的时候需要将文字变为白色&#xff0c;但android默认的按钮颜色为黑色&#xff0c;之前也没有考虑过类似的问题。 通过doc文档&#xff0c;发现按钮文字的处理方式和背景的处理方式很相似&#xff0c;同样可以用一份selec…

人人网 6.0 版申请页面随着滚动条拖动背景图片滚动出现的原理

第一步是考虑静态实现。整个页面分成几大块&#xff0c;比如&#xff1a; <div class"section" id"topic-a"></div> <div class"section" id"topic-b"></div> <div class"section" id"topi…

Python内部类,内部类调用外部类属性,方法

一 Python中内部类 典型定义&#xff1a; class MyOuter:age18def __init__(self,name):self.namenameclass MyInner:def __init__(self,inner_name):self.inner_nameinner_nameoutMyOuter(lqz) innerout.MyInner(lqz_inner) print(inner.inner_name) 二 内部类调用外部类的类属…

POJ 2528 Mayor's posters(线段树)

题目大意 贴海报。每张海报的高度都是一样的&#xff0c;唯独宽度不一样。每张海报只能占用整数倍的单位线段长度&#xff0c;贴了 n(n<10000) 张海报之后&#xff0c;有几张能够看见&#xff08;有一个角能看见这张海报也算被看见了&#xff09;&#xff1f;海报的宽度最大…

xmind 模板_xmind模板打包下载

500套xmind模板【分类整合】好东西分享啦&#xff01;~百度网盘下载链接&#xff1a;https://pan.baidu.com/s/1pCf8aqM8R8m4U4oWZUfOUA提取码&#xff1a;xt1j 微云盘下载连接&#xff1a; https://share.weiyun.com/5c3vehsXMind中的思维导图结构包含一个中心根主题&#xff…

Pycharm的运行和简单调试

我这里已经简单的创建了一个文件&#xff0c;为了浅显易懂&#xff0c;这里程序写的比较简单 1. 运行程序 首先&#xff0c;找到编辑窗口上面有一个向下方向的灰色箭头&#xff0c;点击它 点击之后&#xff0c;选择第一个选项edit Configurations&#xff0c;然后在弹出…

为什么百度只收录我的网站首页?

在我们做SEO的时候&#xff0c;经常碰到一个常见的问题&#xff0c;百度只收录网站的首页或者是一夜之间网站的收录变成了只剩首页。出现这种情况的原因很多&#xff0c;我们需要去检查自己的问题&#xff0c;然后去解决&#xff0c;让自己的网站重新获得更多页面的收录&#x…

Python3.5 学习十二 数据库介绍

MYSQL介绍&#xff1a; 主流三种数据库&#xff1a;Oracle、Mysql、Sqlserver Mysql安装和启动&#xff1a; windows 1安装 2启动服务 3进入bin目录&#xff0c;打开命令行 4 mysqladmin -u root password ******* 设置密码 5 mysql -u root -p 使用密码登录 显示所有数据…