oracle数据库的迁移
⑴ 迁移ORACLE数据库的方法
直接使用ORACLE命令行工具就可以,首先使用export导出数据,然后在目标服务器使用import命令导入,这两个语句特别是跨平台迁移以及数据量比较大的时候非常有效,采用excel方式数据行不能大于65535,并且效率比较低。
⑵ 如何将正在运行的 Oracle 数据库迁移到另一个系统
基础知识
掌握这些概念有助于您更好地理解我们推荐的系统配置。
计划停机和意外停机
讨论高可用性时,我们需要区分计划停机和意外停机。
计划停机 是指中断日常系统操作的预防性或纠正性维护任务。通常,由于系统的软件和硬件设计方面的限制,这种停机无法延迟。
计划停机在时间上的安排应确保对系统可用性的影响最小,因为即使对子系统进行微小修改也会破坏可用性,从而影响业务需求。
计划停机是由修复、备份或升级操作等维护事件导致的。修复旨在移除故障组件,使系统恢复到正常运行状态。实施升级是为了以更新(或增强)版本取代当前硬件或软件。
意外停机 是由硬件故障和环境事件导致的。通常,迫切需要立即解决此类停机问题。本文并不针对此类停机。
Oracle VM Server for SPARC 简介
Oracle VM Server for SPARC 2.1 获得 Oracle UltraSPARC T2 和 UltraSPARC T2 Plus 平台的支持,也获得 Oracle SPARC T3 和 SPARC T4 平台的支持。
通过 Oracle VM Server for SPARC,您可以在一个物理系统上创建多个虚拟系统。每个虚拟系统称为一个逻辑域,运行自己的 Oracle Solaris 10 或 Oracle Solaris 11 实例。
Oracle VM Server for SPARC 能够为负载细粒度地分配 CPU 和内存资源。本文介绍如何使用实时迁移特性来迁移活动域。在两台计算机之间进行实时迁移最大程度地减少了运行的应用程序的中断,并提供了强大的平台来管理生产环境。
Oracle 数据库简介
Oracle 数据库是领先的数据库应用程序,经常用于服务器上。通过使用虚拟化和整合,Oracle 数据库现在可以运行在经过认证的所选虚拟环境中,如 Oracle VM Server for SPARC。
实时迁移概述
Oracle VM Server for SPARC 2.1 版引入了实时迁移特性,可以在不中断域运行的情况下将活动域迁移到另一个系统。
实时迁移使用 SSL 对逻辑域内存结构进行加密,因此它们可以安全地通过网络传输。
启动迁移的主机称为源计算机,域迁移到其中的主机称为目标计算机。
类似地,迁移开始之后,要迁移的域称为待迁移域。迁移过程中,在目标计算机上创建的域称为已迁移域。
实时迁移对 CPU、内存和 I/O 有一系列的要求和限制,在源计算机和目标计算机上必须满足这些要求和限制。参见 Oracle VM Server for SPARC 2.1 版本说明中的“实时域迁移要求”。
实时迁移的好处
使用实时迁移提供以下好处:
维护 — 作为管理员,您可以使用 Oracle VM Server for SPARC 域实时迁移特性最大程度地减少停机时间。如果您必须关闭某一设备,则使用此特性将运行的应用程序移至其他某个服务器,从而维持这些应用程序的持续运行。
硬
件资源 — 如果您发现一种在不同服务器上部署应用程序的更好方法,则使用域实时迁移将活动域移至一台具有更多物理内存、更多 CPU 容量或更好
I/O
子系统的计算机上。这种变化使内存结构保持活动状态,从而提高应用程序性能,因为任何密集使用内存的应用程序都会使所有内存结构保持就位状态。例如,实时
迁移之后,Oracle 数据库将具有自己的系统全局区 (SGA),其他内存结构的布局与迁移之前相同。
长时间计算 — 您可以在迁移过程中最大程度地提高应用程序可用性,因为在迁移进行时不需要关闭应用程序。例如,当迁移执行长时间计算(如财务数据分析或科学计算)的应用程序时,不需要从一开始就重新启动或执行任何中间数据保存和恢复过程。
硬件和软件要求
开始之前,确保您的软件和硬件满足这些要求。
Oracle 数据库要求
要在 Oracle VM Server for SPARC 上运行 Oracle 数据库单实例配置,必须使用 Oracle Database 11g 第 2 版 (Oracle Database 11.2.0.1)。还支持更高版本。参见 Oracle 数据库文档以验证特定版本是否受支持,并查看其他要求。另请参见 My Oracle Support 网站(需要注册)。
硬件配置
任何支持 Oracle VM Server for SPARC 的服务器都可以与 Oracle 数据库一起使用。根据选定的配置和部署的不同,可能需要其他硬件,如外部存储阵列或网络交换机。
图 1 显示了符合域实时迁移要求的典型硬件配置和布线。此示例使用以下硬件:
两台 Oracle SPARC T4-1 服务器,每台服务器具有 64 GB 内存和一个 SPARC T4 处理器。
每个处理器具有 8 个 CPU 内核,每个内核具有 8 个 CPU 线程。因此,每个系统具有 64 个 CPU 线程 (8x8)。每台服务器上使用一个内部磁盘作为控制域的系统磁盘。
一个 Oracle
Sun Storage 2540-M2 存储阵列,具有 16 个 300 GB SAS
磁盘驱动器。存储阵列连接到两台服务器,每台服务器连接到相同的阵列控制器(A 或 B),而 LUN 映射到阵列控制器。存储阵列提供一个 LUN
(LUN 0) 用作来宾域的系统磁盘,提供另一个 LUN 用于存储 Oracle 数据库数据 (LUN 1)。
两个 4 GB FC-AL 主机总线适配器 (HBA),每台服务器一个。这些 HBA 用于将存储阵列连接到两台服务器。
每台服务器上有 4 个板载 1 GbE 网络接口,用于网络通信。
图 1. 硬件配置和布线
在 Oracle VM Server for SPARC 上运行 Oracle 数据库
运行 Oracle 数据库的每个来宾域应至少具有 16 个 CPU(2 个 CPU 内核)和 4 GB 内存。
为 Oracle 数据库单实例来宾域提供虚拟设备(虚拟磁盘和虚拟网络)的每个控制域都应至少具有 8 个 CPU(1 个 CPU 内核)和 4 GB 内存。
配置详细信息
在本文提供的示例中,源服务器配置有控制域和一个托管 Oracle 数据库的来宾域(名为 ldg1)。控制域名为 primary,也是一个 I/O 域。此外,控制域还用作服务域,为来宾域提供虚拟设备服务(虚拟磁盘和虚拟网络)。
作为服务域,控制域提供以下虚拟设备服务:
一个虚拟磁盘服务 (primary-vds0),将物理磁盘作为虚拟磁盘导出到来宾域。
一个虚拟控制台集中器服务 (primary-vcc0),提供对来宾域虚拟控制台的访问。此服务使用端口范围 5000–5100 来访问虚拟控制台。
一个虚拟交换机服务 (primary-vsw0),与主网络接口 (nxge0) 关联。
软件安装和配置
按照以下步骤配置您的环境以便进行实时迁移。
安装 Oracle Solaris 操作系统
新的 SPARC 服务器上预先安装了 Oracle Solaris。对于这些系统,应确保安装了相应的 Oracle Solaris 版本,并验证打了所需的补丁。
要在 SPARC 系统上重新安装 Oracle Solaris,请参见 Oracle Solaris 10 文档或 Oracle Solaris 11 文档。在本文的示例中,操作系统安装在服务器的第一个内部磁盘上。
安装 Oracle Solaris 之后,可以配置并启用系统以使用 Oracle VM Server for SPARC 2.1 软件。
安装 Oracle VM Server for SPARC 软件
新的 SPARC 服务器上也预先安装了 Oracle VM Server for SPARC 软件。对于这些系统,应确保安装了相应的 Oracle VM Server for SPARC 版本,并验证打了所有需要的补丁。
如果在服务器上重新安装了 Oracle Solaris,您可能必须重新安装 Oracle VM Server for SPARC 软件。参见 Oracle VM 下载页面。
以下示例显示了在每台物理服务器上执行的操作。每台服务器已经安装了 Oracle Solaris 和所需的补丁。
应确保系统固件与您计划安装的 Oracle VM Server for SPARC 版本匹配。参见文档的 Oracle VM Server for SPARC 2.1 版本说明 中的“所需软件和补丁”以及 Oracle VM Server for SPARC 2.1 管理指南 中的“升级系统固件”。
从 Oracle VM 下载页面下载 Oracle VM Server for SPARC 2.1 软件。
解压缩存档文件。
安装 SUNWldm.v 程序包。参见 Oracle VM Server for SPARC 2.1 管理指南 中的“在新系统上安装 Oracle VM Server for SPARC 软件”。
primary# pkgadd -d OVM_Server_SPARC-2_1/Proct SUNWldm.v
配置存储阵列
Sun Storage 2540-M2 存储阵列连接到控制域,控制域将两个 LUN(LUN 0 和 LUN 1)作为虚拟磁盘导出到来宾域。
来宾域使用第一个 LUN (LUN 0) 作为操作系统的系统磁盘,使用第二个 LUN (LUN 1) 作为存储 Oracle 数据库数据文件的磁盘。图 2 显示了源计算机和目标计算机的存储布局。
图 2. 存储配置
配置控制域
安装 Oracle VM Server for SPARC 软件之后,重新配置当前系统使其成为控制域。在每台物理服务器上执行以下操作:
创建一个虚拟控制台集中器 (vcc) 服务以供虚拟网络终端服务器后台程序 (vntsd) 使用,并作为所有逻辑域控制台的集中器。
primary# ldm add-vcc port-range=5000-5100 primary-vcc0 primary
创建虚拟磁盘服务器 (vds)。
primary# ldm add-vds primary-vds0 primary
创建一个虚拟交换机服务 (vsw) 以便在逻辑域中的虚拟网络 (vnet) 设备之间实现联网。
primary# ldm add-vsw net-dev=igb0 primary-vsw0 primary
使用 ldm list-services 命令验证已经创建了这些服务,如清单 1 所示。
清单 1. 验证服务
primary# ldm list-services primary
VDS
NAME VOLUME OPTIONS DEVICE
primary-vds0
VCC
NAME PORT-RANGE
primary-vcc0 5000-5100
VSW
NAME MAC NET-DEV DEVICE MODE
primary-vsw0 02:04:4f:fb:9f:0d nxge0 switch@0 prog,promisc
VCC
NAME LDOM PORT-RANGE
primary-vcc0 primary 5000-5100
VSW
NAME LDOM MAC NET-DEV ID DEVICE LINKPROP DEFAULT-VLAN-ID PVID VID ...
primary-vsw0 primary 00:14:4f:f8:28:c2 igb0 0 switch@0 1 1 1500 on
VDS
NAME LDOM VOLUME OPTIONS MPGROUP DEVICE
primary-vds0 primary
Oracle VM Server for SPARC 使用 SSL 对迁移流量进行加密,以保护敏感数据免受利用,并消除了对额外硬件和专用网络的需求;
当源计算机和目标计算机上的主域具有分配的加密单元时,迁移操作的速度会增加。速度增加的原因在于可以将 SSL 操作分流到加密单元。
注:SPARC T4 CPU 具有内置的加密指令,因此您不需要为 CPU 分配这些指令。
确定控制域中是否有加密设备。
primary# ldm list -o crypto primary
为控制域分配加密资源。
primary# ldm set-crypto 1 primary
为控制域分配 CPU 和内存。
您可以通过向源计算机上的主域中添加更多 CPU 来减少整体迁移时间。最好为每个主域至少分配 8 个 CPU。例如,以下命令为控制域分配 8 个 CPU 和 4 GB 内存。
primary# ldm start-reconf primary
primary# ldm set-vcpu 8 primary
primary# ldm set-memory 4G primary
重新启动系统。
primary# init 6
重新启动系统之后,启用 Oracle VM Server for SPARC 并为系统配置一个域:控制域 primary。在控制域中,您可以创建和配置其他域。
确保启用 Logical Domains Manager (ldmd) 和虚拟网络终端服务器 (vntsd) 服务。
primary# svcadm enable ldmd
primary# svcadm enable vntsd
向服务处理器 (SP) 添加逻辑域计算机配置。例如,以下命令添加名为 initial 的配置。
primary# ldm add-config initial
验证该配置可以使用。
primary# ldm list-config
factory-default
initial [current]
⑶ oracle数据库迁移到另一个oracle数据库
这个就简单了,备份库1,还原到库2即可;或者将库1的表结构和insert语句分别导出,放到库2执行一次就行了,或者借助三方工具,比如kettle
⑷ 怎样用最简单的方法复制或迁移Oracle数据库
在DBA的日常工作中,经常需要重装或在新机器上安装Oracle,但每次安装所浪费的时间、精力以及失败的挫折都在考验着DBA的承受能力,本文着重介绍了一个简单的复制和迁移Oracle数据库的方法,详细内容请参考下文。
复制迁移的步骤如下:
◆1、首先,复制原Oracle数据库的安装目录到新机器或系统中的安装目录,注意目录要一致,盘符也要一致。
◆2、假如Oracle的安装目录不在Program Files系统文件夹下,我们需要把原系统中的Program Files文件夹下的Oracle目录也复制到新系统的Program Files文件夹中去。
◆3、导出原系统中的Oracle注册表信息,主要注册信息如下:
A. HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE
B. HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 下有关Oracle的所有键,通常包括以下9个:
/OracleMTSRecoveryService
/OracleOraHome92Agent
/OracleOraHome92ClientCache
/OracleOraHome92HTTPServer
/OracleOraHome92PagingServer
/
/
/OracleOraHome92TNSListener
/OracleServiceORA8
◆4、注意:有多少个数据库,注册表服务键下的OracleServiceXXX就会有多个。其中最主要的有监听服务和数据库服务,即OracleOraHome92TNSListenerXXX和OracleServiceXXX。
◆5、将导出的所有注册表的信息在新的系统中导入(注册)。
◆6、设置系统环境变量,打开"我的电脑"的"属性"界面,在"高级"而点击"环境变量"进入设置,找到[Path]系统变量项目,点"编辑",在变量值的输入框的最后,加入";ORACLE的安装目录"。
◆7、最后我们需要进入 C:/Documents and Settings/All Users/Start Menu/Programs下把 Oracle - OraHome92 和 Oracle Installation Procts 两个菜单文件夹也复制到新系统中,此时,就和新安装的一样了。重启系统后,成功完成。
⑸ Oracle数据库迁移的几种方式
数据量小的话一般直接用数据泵或者exp/imp就OK了,也可以用RMAN备份,这些都是比较常规的,偏门点的可以用传输表空间,dblink直接复制等,反正看情况。
⑹ 怎么将oracle数据库的数据迁移
迁移的话,直接导出一个库的dmp文件,之后导入到另外一个库里面就可以了(导出和导入数据库版本必须一直,否则导入可能会报错)。
迁移数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中
exp system/manager@TEST file=d:\chu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
⑺ oracle数据迁移有几种方法
数据库版本及目录结构相同可用rman备份还原;或者关掉数据库后直接复制文件到新机器
数据库版本或目录结构不同的话就用数据泵导来做
⑻ oracle数据库项目数据迁移
1.create
directory
exp_dp
as
'/opt/yy'
yy是自己创建的文件夹
2.grant
read,wirte
on
exp_dp
to
icd(用户名)
3.expdp
icd/icd@数据库连接字符
schemas=icd
mpfile=expdp1.dmp
logfile=export.log
directory=exp_dp
上面是导出操作,前两个在数据库命令窗口执行,最后一个在操作系统下运行
⑼ Oracle数据库数据迁移包括哪些内容
操作方法为:
在新库建立好owner和表空间,停老库的应用,在老库执行:
$ exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,
导入dmp文件到新库,在新库执行如下命令:
$ imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.
优缺点:优点是可以跨平台使用;缺点是停机时间长,停机时间为从exp到网络传输到新库,再加上imp的时间。
⑽ oracle数据库迁移
如果:原库的system表空间和undo表空间的数据文件、及归档日志 都在的话,是没有多大问题的。 这个恢复过程,就是恢复过程有点复杂,就类似:数据库复制过程 (与data guard 不是一回事的)。一般出现这样的问题都会找专门的数据恢复公司或数据库维护工作了(因为这个恢复过程,本来就不简单,不是直接把以前的离线文件,直接拷过去,就行了的)。下面给一个简易的方法:你试试
方法如下:
1、在新服务器上,安装安装数据库软件,不建立数据库!(你要使用以前的数据文件等,所以不能建立库)。
2、在操作系统中,建立相应的操作系统目录。
(若你仍使用原库中参数文件(spfile),那么你可以按照参数文件的标注,建立相应的目录。你要重新建立新的文件存放目录的话,你还得修改参数文件呢,如果你对spfile文件修改不熟悉,就采用原来的spfile,根据参数文件建立相应的目录)你根据你的参数文件进行建立,下面只是为了说明进行举例。
一般建立(假设实例名为:standby1):
c:\> mkdir F:\oracle\proct\10.2.0\oradata\standby1 (用于存放数据文件、控制文件等)
c:\> mkdir F:\oracle\proct\10.2.0\admin\standby1\bmp (跟踪文件)
c:\> mkdir F:\oracle\proct\10.2.0\admin\standby1\ump (用户文件)
c:\> mkdir F:\oracle\proct\10.2.0\admin\standby1\cmp
c:\> mkdir F:\oracle\proct\10.2.0\admin\standby1\amp
3、建立例程服务
c:\> oradim -new -sid standby1 -intpwd cs -startmode a
4、将你的参数文件(spfile) 复制到目录: x:\oracle\proct\10.2.0\db_1\database 下
提示:在新服务器上存放数据文件、控制文件、跟踪文件等的位置与源库的位置相同的话,就可以直接复制到database目录下,不用修改参数文件的。不同的话,你得修改参数文件的。
5、将你原库的:数据文件、归档日志 复制到新服务器中.(具体位置,你参考Spfile文件中,所标注的,不用弄错了,不然会报错的)
6、 配置 standby1 的监听和网络服务
提示:监听配置好后,需要重启!对了:你可以将原来的:x:\oracle\proct\10.2.0\db_1\NETWORK\ADMIN 中的:listener.ora 和 tnsnames.ora 直接拷贝到新服务中的:x:\oracle\proct\10.2.0\db_1\NETWORK\ADMIN 目录下。替换的话:你需要修改 listener.ora 和 tnsnames.ora 这两个文件中的 IP 地址或主机名称,因为新服务器,有不同的名称和不同的IP。如果IP和主机名称和原来一样,就可以不用修改。
记得:重新启动监听啊 方法:
c:\>lsnrctl stop
c:\>lnsrctl start
7、启动例程,并建立控制文件 (控制文件必须重新建立,原来的控制文件记载的当前日志序列号、检查点信息、日志历史信息等,与新库的都不一样的,原来的用不了)
c:\>sqlplussys/oracle@standby1 as sysdba;
sql> startup nomount spfile='x:\oracle\proct\10.2.0\db_1\database\spfileSTANDBY1'
sql> CREATE CONTROLFILE REUSE DATABASE "standby1" NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\standby1\REDO01.LOG' SIZE 50M,
GROUP 2 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\standby1\REDO02.LOG' SIZE 50M,
GROUP 3 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\standby1\REDO03.LOG' SIZE 50M
DATAFILE
'F:\ORACLE\PRODUCT\10.2.0\ORADATA\standby1\SYSTEM01.DBF',
'F:\ORACLE\PRODUCT\10.2.0\ORADATA\standby1\UNDOTBS01.DBF',
'F:\ORACLE\PRODUCT\10.2.0\ORADATA\standby1\SYSAUX01.DBF',
'F:\ORACLE\PRODUCT\10.2.0\ORADATA\standby1\USERS01.DBF'
CHARACTER SET ZHS16GBK;
提醒:上面的SQL语句中,相应参数文件的位置,你需要根据实际情况进行修改,实例名称你也需要根据实际情况进行修改。
8、恢复原库
假如你将原库的归档日志存放在新库:f:\archive 中
sql> set logsource 'f:\archive'
sql> recover database using backup controlfile until cancel
根据提示输入:canel
9、打开数据库:
sql> alter database open resetlogs;
10、新增临时文件(不然排序操作时,会报错)
sql > alter tablespace temp add tempfile 'f:\standby1\temp.dbf' size 5M reuse;
其他:如果你对原库进行了全库备份,不管是通过RMAN还是用户管理等,那么恢复的方法可以不采用此方法的。有全库的备份及归档日志, 恢复起来要简单些。
;