如何打包迁移oracle 如何打包搬家
oracle 空间数据 如何实现 迁移?
一样的在server2上创建好,也就是server1上有什么表空间server2上也都建上 而且大小要分配好。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、保康网站维护、网站推广。
2、在server2上创建好要迁移的应用用户,应用用户名,用户权限等也要和server1上一样。
3、把server1按USER进行exp导出。
4、把导出文件imp到server2即可。
用户很多那就采取下面步骤,更简单:
1、server1执行exp按database导出。
2、然后server2上执行导入。
不用建表空间和用户。
如果server1能停机的话还有更简单的:
就是直接把server1的oracle 关掉,报数据文件,控制文件,redolog文件,参数文件,按照对应的目录copy到server2,然后直接在server2上打开数据库就可以了。
如何将正在运行的 Oracle 数据库迁移到另一个系统
配置详细信息 转载
在本文提供的示例中,源服务器配置有控制域和一个托管 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/Product SUNWldm.v
配置存储阵列
Sun Storage 2540-M2 存储阵列连接到控制域,控制域将两个 LUN(LUN 0 和 LUN 1)作为虚拟磁盘导出到来宾域。
来宾域使用第一个 LUN (LUN 0) 作为操作系统的系统磁盘,使用第二个 LUN (LUN 1) 作为存储 Oracle 数据库数据文件的磁盘。
配置控制域
安装 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 数据库节点。在作为源计算机的物理服务器上,仅创建一个来宾域。另一台物理服务器最终将成为目标计算机。
最初使用以下资源创建来宾域 ldg1:
8 GB 内存。
24 个 CPU。
一个虚拟网络接口 (vnet0),它连接到虚拟交换机 primary-vsw0。
一个虚拟磁盘,它在来宾域中显示为 c0d0 并且是存储阵列中的一个 LUN。域 ldg1
使用存储阵列的 LUN 0 (c2t6d0)。
另一个虚拟磁盘,它在来宾域中显示为 c0d1 并且是存储阵列中的一个 LUN。域 ldg1
使用存储阵列的 LUN 1 (c2t6d1)。此虚拟磁盘用于存储 Oracle 数据库文件。
执行以下步骤创建每个来宾域:
在源计算机上,从控制域创建
ldg1 来宾域。
注:如果您的服务器不是基于
SPARC T4 的系统,则仅执行 ldm set-crypto 命令。
primary# ldm create ldg1
primary# ldm set-vcpu 24 ldg1
primary# ldm set-memory 8G ldg1
primary# ldm set-crypto 3 ldg1
primary# ldm add-vnet vnet0 primary-vsw0 ldg1
primary# ldm add-vdsdev /dev/dsk/c2t6d0s2 vol1@primary-vds0
primary# ldm add-vdisk vol1 vol1@primary-vds0 ldg1
primary# ldm add-vdsdev /dev/dsk/c2t6d1s2 oradata@primary-vds0
primary# ldm add-vdisk oradata oradata@primary-vds0 ldg1
创建域之后,在源计算机上使用以下命令从控制域绑定并启动来宾域。
primary# ldm bind ldg1
primary# ldm start ldg1
确定域的控制台端口。
primary# ldm ls ldg1
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
ldg1 active -n---- 5000 24 8G 0.0% 1h 1m
使用 telnet 命令访问
ldg1 域的控制台。
primary# telnet localhost 5000
启动来宾域之后,确保在来宾域中安装了相应的 Oracle Solaris 操作系统和补丁。您可以通过网络、从 DVD 或使用 DVD ISO
映像来执行安装。参见 Oracle VM Server for SPARC 2.1 管理指南。
注:LUN
通常在不同服务器上以不同名称显示。控制域中的 LUN 名称不需要相同。但是,两个系统上的控制域必须使用相同的卷名(vol1 和
oradata)对相同的 LUN(LUN 0 和 LUN 1)进行虚拟化。
清单 2 的示例显示了如何为名为 ldg1 的域配置 8 个 CPU、24 GB 内存以及 Sun Storage
2540-M2 存储阵列中的两个 LUN。
清单 2. 域配置示例 primary# ldm ls -l ldg1
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
ldg1 active -n---- 5000 24 8G 0.0% 1h 1m
SOFTSTATE
Solaris running
MAC
00:14:4f:fb:96:89
HOSTID
0x84fb9689
CONTROL
failure-policy=ignore
DEPENDENCY
master=
VCPU
VID PID UTIL STRAND
0 16 0.2% 100%
1 17 0.0% 100%
2 18 0.5% 100%
3 19 0.0% 100%
4 20 0.0% 100%
5 21 0.0% 100%
6 22 0.1% 100%
7 23 0.0% 100%
8 24 0.1% 100%
9 25 0.0% 100%
10 26 0.0% 100%
11 27 0.0% 100%
12 28 0.0% 100%
13 29 0.0% 100%
14 30 0.0% 100%
15 31 0.0% 100%
16 32 0.0% 100%
17 33 0.0% 100%
18 34 0.0% 100%
19 35 0.0% 100%
20 36 0.0% 100%
21 37 0.0% 100%
22 38 0.0% 100%
23 39 0.1% 100%
MEMORY
RA PA SIZE
0x8000000 0x408000000 8G
VARIABLES
boot-device=vdisk1
keyboard-layout=US-English
NETWORK
NAME SERVICE ID DEVICE MAC MODE PVID VID MTU LINKPROP
vnet1 primary-vsw0@primary 0 network@0 00:14:4f:f9:c0:62 1 1500
DISK
NAME VOLUME TOUT ID DEVICE SERVER MPGROUP
vdisk1 vol1@primary-vds0 0 disk@0 primary
oradata oradata@primary-vds0 1 disk@1 primary
VCONS
NAME SERVICE PORT
ldg1 primary-vcc0@primary 5000
清单 3 的示例显示了控制域的配置。使用 ldm list-services
命令验证已经创建了这些服务。
清单 3. 控制域配置示例 primary# ldm ls-services primary
VCC
NAME LDOM PORT-RANGE
primary-vcc0 primary 5000-5100
VSW
NAME LDOM MAC NET-DEV ID DEVICE LINKPROP DEFAULT-VLAN-ID ...
primary-vsw0 primary 00:14:4f:f9:32:b0 nxgeg0 0 switch@0 1 1 ...
VDS
NAME LDOM VOLUME OPTIONS MPGROUP DEVICE
primary-vds0 primary vol1 /dev/dsk/c2t6d0s2
oradata /dev/dsk/c2t6d1s2
在来宾域中安装 Oracle Solaris
确保在来宾域中安装了相应的 Oracle Solaris 版本,并验证打了所需的补丁。
在来宾域中安装 Oracle Solaris 之后,可以配置并启用系统使其使用 Oracle 数据库。
安装 Oracle Database
Oracle Database 软件的安装类似于标准 Oracle Database 安装。首先安装 Oracle
Database,然后应用最新补丁集。使用第二个 LUN 创建 UFS 或 ZFS 文件系统用于存储 Oracle 数据库数据文件。
有关针对 Oracle 数据库使用 ZFS
的更多信息,请参见针对
Oracle 数据库配置 Oracle Solaris ZFS。
准备目标服务器
按如下方式准备目标服务器。
执行以下各节中所述的步骤来准备目标计算机:
安装 Oracle VM
Server for SPARC 软件
配置控制域
确保在目标服务器上提供了供待迁移域使用的所有虚拟 I/O 服务。
确保目标服务器有权访问同一存储中的 LUN 0 和 LUN
1。
要将第一个 LUN (LUN 0) 和第二个 LUN (LUN 1) 添加到目标计算机,从目标服务器的控制域执行以下命令:
# ldm add-vdsdev /dev/dsk/c2t6d0s2 vol1@primary-vds0
# ldm add-vdsdev /dev/dsk/c2t6d1s2 oradata@primary-vds0
注:LUN
通常在不同服务器上以不同名称显示。控制域中的 LUN 名称不需要相同。但是,两个系统上的控制域必须使用相同的卷名(vol1 和
oradata)对相同的 LUN(LUN 0 和 LUN 1)进行虚拟化。
确保待迁移域中的每个虚拟网络设备在目标计算机上都有一个对应的虚拟网络交换机:
# ldm add-vsw net-dev=nxge0 primary-vsw0 primary
oracle数据迁移怎么做
简单到不能再简单。
1先弄个DBLINK
2.通关select into from 直接创建并写入表到要迁移的数据库中
如何将应用程序从SqlServer迁移到Oracle
迁移主要有两个工作:
1. 根据Sql Server数据库生成创建Oracle数据库的脚本
2. 修改代码中的SQL语句
根据Sql Server数据库生成创建Oracle数据库的脚本
1. 用PowerDesiner将Sql Server数据库反向工程生成物理数据模型
2. 根据反向工程生成的物理数据模型创建逻辑模型
3. 再根据逻辑模型生成Oracle数据库版本的物理模型
4. 根据Oracle数据库版本的物理模型生成Oracle数据库创建脚本
5. 按照Oracle命名规则和数据类型定义修改Oracle数据库创建脚本
6. 在PL/SQL Developer中执行以检验其正确性
修改代码中的SQL语句
1. Sql Server中经常用方括号把表名和字段名括起来, 到Oracle中要把这些方括号都去掉
2. 将参数变更前的"@"符号改为":"符号
3. 将Sql Server专有的方法和函数替换成Oracle相应的方法和函数
4. 在PL/SQL Developer中执行SQL语句以检验其正确性
转换过程中的常见问题
1. 表名和字段名使用了Oracle中的关键字
2. Sql Server中的NVARCHAR数据类型可存4000个汉字, Oracle中的NVARCHAR/NVARCHAR2数据类型只能存2000个汉字
3. 索引名称和外键名称超过了30个字符
如何将Oracle数据库数据文件迁移到其它目录
Oracle更改数据文件位置
方法一:offline表空间
1、offline表空间:alter tablespace tablespace_name offline;
2、复制数据文件到新的目录;
3、rename修改表空间,并修改控制文件;
4、online表空间;
1、offline表空间zerone
SQL select name from v$datafile;
NAME
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF
已选择7行。
SQL alter tablespace zerone offline;
表空间已更改。
2、复制数据文件到新的目录
复制数据文件C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF到C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF。
3、rename修改表空间数据文件为新的位置,并修改控制文件
SQL alter tablespace zerone rename datafile 'c:\oracle\product\10.2.0\oradata\zerone01.dbf' to 'c:\oracle\product\10.2.0\oradata\orcl\zerone01.dbf';
表空间已更改。
4、online表空间
SQL alter tablespace zerone online;
表空间已更改。
SQL select name from v$datafile;
NAME
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF
已选择7行。
SQL select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE';
FILE_NAME TABLESPACE_NAME
------------------------------------------------------------------------------------------------
ZERONE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF
方法二:SQL修改数据文件位置
1、关闭数据库;
2、复制数据文件到新的位置;
3、启动数据库到mount状态;
4、通过SQL修改数据文件位置;
5、打开数据库;
1、关闭数据库
SQL select name from v$datafile;
NAME
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF
已选择7行。
SQL shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
2、复制数据文件到新的位置;
将数据文件C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF复制到C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF。
3、启动数据库到mount状态;
SQL startup mount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 96470372 bytes
Database Buffers 67108864 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
4、通过SQL修改数据文件位置;
SQL alter database rename file 'c:\oracle\product\10.2.0\oradata\orcl\zerone01.dbf' to 'c:\oracle\product\10.2.0\oradata\zerone01.dbf';
数据库已更改。
5、打开数据库;
SQL alter database open;
数据库已更改。
SQL select name from v$datafile;
NAME
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF
已选择7行。
SQL select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE';
FILE_NAME TABLESPACE_NAME
-------------------------------------------------------------------------------------------------
ZERONE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF
如何从SQL Server迁移大批量数据到Oracle
首先将SQLServer数据导出成txt格式文本此方法略,不会的去网上查资料,网上很多相关资料。
下面要说的是如何将txt文本数据导入到Oracle中,Dos 环境下使用SQl*Loader命令 加载。
使用其它数据库的数据转移工具,Oracle 企业管理器中的数据加载功能。
具体的技术实现
一、Dos 环境下加载
1、首先,服务器端的侦听服务必须已经开启。
测试方法:Dos 下输入
C:/sqlplus username/password@serviceName
2、然后使用 Oracle 的 sqlldr 命令进行数据的导入
前期条件
1) Oracle 数据库端必须已经建好了需要导入的数据表的结构
2) 一个数据源文件 下面例子中为制表符分隔的文本文件 model.txt ,为Excel 表中导出的
3) 手工编辑一个XXX.CTL 的控制文件
4) 命令行加载数据
如下实例:
以下文件缺省放到C:/ 下,如果不是,就需要指明全路径
1. 命令控制文件 input.ctl 内容
命令
说明
load data
1、控制文件标识
infile 'model.txt'
2、要输入的数据文件名为test.txt
append into table system.塔位属性表
3、向表test中追加记录
fields terminated by X'09'
4、指定分隔符,字段终止于X'09',是一个制表符(TAB)
(编号,名称,大小)
5、定义列对应表中顺序
控制文件中指定插入数据的方式关键字
insert,为缺省方式,在数据装载开始时要求表为空
append,在表中追加新记录
replace,删除旧记录,替换成新装载的记录
truncate,同上
在 Dos 窗口下使用 SQl*Loader 命令实现数据的导入
C:/sqlldr userid=system/manager@ serviceName control=input.ctl
默认日志文件名为:input.log
默认坏记录文件为:input.bad
二、使用其它数据库转移工具
以下以SQL Server 导入导出向导为例
1、在数据的导入导出向导中设置数据源服务器,实例中选择数据源选择SQL Server
2、然后指定要导入的Oracle 数据源
3、需要配置Oracle 的属性信息
需要注意的是,登录数据库的用户信息即为数据导入之后的方案名,即导入之后的SQL Server 中的表在Oracle 中标志名为 username.表名
以下按照提示即可,可以完全导入SQl Server 中的数据表和视图,也可以使用查询语句返回你要选择的列或者行。
三、Oracle 企业管理器中的数据加载功能
登录Oracle 的控制台界面,针对单独的数据表可以使用数据加载工具
中间需要指定控制文件等,同Dos 加载一致,不再重复
分享题目:如何打包迁移oracle 如何打包搬家
本文地址:http://azwzsj.com/article/hjoogh.html