windows环境oracle数据库迁移实例

合集下载

windows系统最简单的方式制作Oracle数据库备份

windows系统最简单的方式制作Oracle数据库备份

最简单的方式制作Oracle数据库备份
1、编写一个.bat批处理文件:
一、在硬盘里新建一个txt文件,在文件中写上下面的语句。

exp 用户名/密码@数据库实例名file=存储物理路径\保存文件名
_%date:~0,10%.dmp
新建.txt文件
写入批处理语句
二、修改txt文件后缀为.bat
修改文件后缀名
三、测试.bat文件是否可用
文件正确,可用
2、编写自动程序
○1控制面板—任务计划—添加任务计划
○2选择任务程序
○3选择时间
选择日期(及多长时间备份一次数据库)
选择时间(即在那个时间备份)
○4输入计算机登录密码
○5单击完成
3、注意:
一、该文档所描述的备份是没有时间区分的,也就是说:今天备份的将替换昨天备份的。

二、批处理语句切记不能写错,而且格式非固定,具体格式可以上网查询。

三、因为是利用windows系统的工具调用批处理语句,所以当时间到了计划任务的时
间,会在电脑桌面上显示批处理(DOS)窗口。

备份结束前不可关闭。

Windows上的Oracle 的表空间迁移

Windows上的Oracle 的表空间迁移

北京时代朝阳数据库技术中心Trail实验室 时代朝阳会员专区:Oracle日常管理将Windows上的Oracle 的表空间迁移到IBM AIX 5L上的Oracle中(一)解决概要1 检查源、目标数据库系统状态2 检查源表空间是否可迁移,是否是“独立”的3 将表空间迁移出源系统4 将表空间迁移文件、导出备份拷贝到目标服务器位置5 在目标服务器上导入表空间6 修改被导入表空间的为读写状态7 最后,目标服务器应制作完整的数据库备份集8 版本 1.0.0软硬件系统环境配置说明:源数据库系统:Zydb数据库已创建并可使用,操作系统、数据库状态如下表:项目参数机器名:xp 1IP 192.168.2.187内存:1G时代朝阳Oracle DBA职业课程是成为OracleDBA的最佳捷径! 第 1 页 课程详情访问/unix_oracle_dbajobcourse.asp北京时代朝阳数据库技术中心Trail实验室存储C:\ 安装 windows系统D:\ 安装Oracle10gR2(10.2.0.1)操作系统用户Administrator文件系统NTFS操作系统Windows XP Professional SP2项目参数数据实例名 ZYDB(ORACLE_SID)操作系统内存使用700M数据库连接模式确定独占模式数据文件位置D:\oracle\oradata\zydb日志文件位置D:\oracle\oradata\zydb控制文件位置D:\oracle\oradata\zydb跟踪文件位置D:\oracle\admin\zydb\bdumpD:\oracle\admin\zydb\cdumpD:\oracle\admin\zydb\udumpD:\oracle\admin\zydb\profileD:\oracle\admin\zydb\create是否归档模式是归档路径D:\oracle\oradata\zydb\archive数据库用户sys/oracle SYSDBAsystem/oracle DBAscott/tiger USERzydb/oracle USER数据库用户列表MGMT_VIEWSYSSYSTEMDBSNMPSYSMANSCOTTOUTLNMDSYS。

oracle数据迁移从10g到11g

oracle数据迁移从10g到11g

传输数据库——从linux64位oracle10.2.0.5到windows64位11.2.0.11.实验之前先做全备份运行/u01下的脚本rman_full.shexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatchexport NLS_LANG=AMERICAN_AMERICA.zhs16gbkexport ORACLE_SID=fsdbrman target / log /tmp/rman_full.log append<<EOFrun{allocate channel c1 type disk;allocate channel c2 type disk;backup filesperset 2 database format '/u01/rmanbackup/full_%d_%T_%s_%p';sql 'alter system archive log current';sql 'alter system archive log current';sql 'alter system archive log current';backup archivelog all format '/u01/rmanbackup/arch_%d_%T_%s_%p' delete input; backup current controlfile format '/u01/rmanbackup/ctl_%d_%T_%s_%p';}EOFrman target / log /tmp/rman_delete.log append<<EOFallocate channel for maintenance type disk;crosscheck backup;crosscheck archivelog all;delete noprompt obsolete;EOF2.查看可传输平台,必须要是big对big,little对little源端linux平台,查看linux位数select * from v$database目标windows平台SQL> col PLATFORM_NAME for a40SQL> select platform_name,endian_format from v$transportable_platform order by 2,1;3. 一致性关闭数据库SQL>shutdown immediate;将数据库打开到只读模式SQL>startup mountSQL>alter database opne read only4. 调用dbms_tdb.check_db函数该函数确定数据库是否已经准备好进行传输。

Oracle数据库数据迁移

Oracle数据库数据迁移

1.概述1.1. 文档描述此文档适用于减灾中心数据迁移使用。

1.2. 系统现状减灾应用与运行管理系统的分为主中心(位于百子湾机房)和同城灾备中心(位于白广路机房)两个部分。

主中心业务区与同城备份中心通过裸光纤连接光纤交换机。

建议在两个站点间使用光纤适配器设备,最大化的利用光纤资源。

主中心在逻辑结构上又分为:核心业务区、用户服务与信息发布业务区和运行管理业务区。

拓扑示意图如下:数据中心NBU备份系统,信息如下:备份系统信息:备份软件名称Symantec Netbackup 版本Netbackup 7补丁7.0.1备份服务器主机名IP地址操作系统Windows Server 2003 sp22.环境准备2.1. 备份系统安装及配置在容灾中心搭建NBU备份系统,信息如下:备份系统信息:备份软件名称Symantec Netbackup 版本Netbackup 7补丁7.0.1备份服务器主机名IP地址操作系统Windows Server 2003 sp22.1.1.备份服务器安装步骤说明1. 安装windowsServer 2003企业版2. 设置主机名及IP地址Hostname:IP地址:网关:3. 编辑主机名4. 放入NBU 6.5安装光盘,选择安装ServerSoftware5. 选择Next6. 接受license,并点击“NEXT”7. 选择本地安装,点击“NEXT”8. 输入license后,选择NetBackupMaster Server9. 输入MasterServer名称10. 输入EMM名称11. 进行安装12. 安装完成,可选择继续添加license。

2.1.2.备份服务器配置步骤说明1. 使用administrator用户登录NBU备份服务器2. 启动NBU服务C:\Program Files\Veritas\Netbackup\bin>bpup或右击任务栏Netbackup Client Job tracker图标,选择StartNetbackup3. 点击NBUmasterserver,在右侧选择ConfigureStorage Devices4. 点击“下一步”,继续配置。

带有oracle数据库的数据迁移方案

带有oracle数据库的数据迁移方案

数据迁移技术方案一、项目背景某信息中心系统本次机房搬迁以及数据迁移工程是本次项目需完成的重点工作,包括整个信息中心的核心数据及业务交换中心,系统现有设备包括:核心交换机、接入交换机、服务器、存储盘阵等,迁移主要分设备迁移和数据迁移。

系统搬迁具有时间短、系统结构复杂、测试时间长、设备繁多昂贵、人员多、层次复杂等特点。

本项目搬迁迁移,时间非常紧,且对设备的稳定性也是一个考验。

因此,必须协调好各单位人员的关系,齐心协力才可能在预定时间内完成搬迁迁移工程。

整个迁移工作分两步走,第一步先对数据进行迁移,数据迁移完成确认无误。

第二步对整体信息中心所有设备进行迁移,确保所有设备正常运行。

本方案是以尽量不影响信息中心工作或将影响降低到最低为前提的情况下制定的,即先完成新机房网络接入后,确保网络畅通稳定的前提下,完成信息中心系统业务的部署,确保整个系统在新机房业务实现,整个业务系统顺利割接,然后再在特定时间点开始原机房的设备搬迁工作,在1-2工作日内完成整个服务器、网络设备的搬迁、安装及测试。

并且在开机以后,继续跟踪系统的运行情况,随时处理系统运行的异常情况。

我公司在资源方面有较大优势,如在搬迁迁多工作中出现设备故障,除在备品备件中提供的备件外,还可协调各方资源以最快速度解决客户设备故障问题。

二、系统环境1、第一机房环境1.1.设备分布第一机房设备共涉及到10个机柜,具体设备名称及数量为:38台pvg server(1810/2800)汇聚服务器、4台pvg server3800核心服务器、26台存储、1台存储控制服务器、5台交换机。

1.2.硬件设备情况1.2.1汇聚服务器汇聚服务器品牌为网力产品,38台中32台设备作为汇聚服务器,每台设备使用2个网卡:1个网卡接入单位、另1个网卡接入存储服务器;另外6台为出口服务,只使用1个网卡。

设备网口全部接到RG-6806/6810两台交换机上,以便与单位和存储设备通讯。

总电口使用量为:32*2+6=70个。

oracle 数据迁移方案

oracle 数据迁移方案

Oracle 数据迁移方案1. 简介随着业务的发展和系统的升级,数据迁移已经成为一个不可避免的任务。

在Oracle 数据库中,数据迁移主要包括迁移数据表、迁移数据对象以及导出和导入数据等方面。

本文将介绍一些常用的 Oracle 数据迁移方案。

2. 数据表迁移2.1 导出数据表Oracle 数据表的导出可通过使用expdp命令来实现。

该命令可以将指定的数据表导出为二进制格式的文件,以供后续导入使用。

以下是导出数据表的步骤:1.打开终端或命令行窗口,登录到数据库。

2.运行以下命令导出数据表:expdp username/password@connect_string tables=table1,table2 directory=datapump_dir dumpfile=tables.dmp logfile=tables.log–username/password:登录数据库的用户名和密码。

–connect_string:数据库连接字符串。

–tables:要导出的数据表名称,多个表名之间用逗号分隔。

–directory:导出文件存储的目录。

–dumpfile:导出文件的名称。

–logfile:导出日志文件的名称。

2.2 导入数据表使用impdp命令可以将之前导出的数据表文件导入到目标数据库中。

以下是导入数据表的步骤:1.打开终端或命令行窗口,登录到目标数据库。

2.运行以下命令导入数据表:impdp username/password@connect_string directory=datapump_d ir dumpfile=tables.dmp logfile=import.log–username/password:登录目标数据库的用户名和密码。

–connect_string:目标数据库的连接字符串。

–directory:导出文件存储的目录。

–dumpfile:导出文件的名称。

–logfile:导入日志文件的名称。

Oracle10g数据库存储迁移案例

Oracle10g数据库存储迁移案例

Oracle数据库存储迁移案例分享一.环境及需求简要说明环境为Oracle10.2.0.5+ASM+linux。

数据量:占用空间统计65Grman全备份58G,dmp备份17G。

切换要求: 使用存储AMS2100替换原有AMS200,系统可以停机48小时。

二.技术方案及选择通过分析情况,制定了两套备选方案,具体如下:方案一,做好备份后停机重新安装数据库RAC,然后进行数据恢复。

方案二,直接在Oracle层面进行存储的切换,主要工作包括在ASM上添加DiskGroup,利用RMAN迁移数据库到新存储,替换OCR和votedisk到新存储。

三.实施实施前的准备工作主要是备份,做好数据库的备份,以及ocr和votedisk 备份。

为了安全起见,同时进行了exp导出和rman两种备份,并对备份进行必要的检查。

有关备份的内容在此不进行详细说明。

有关ocr盘和votedisk的备份说明如下:●OCR盘ORACLE会自动对CRS的配置信息OCR盘进行自动备份,可以通过orcconfig -showbackup查看备份信息;●仲裁盘对于仲裁盘votingdisk可以使用DD命令备份文件系统,可以通过crsctl query css votedisk查询,使用如下命令进行备份dd if=/dev/raw/raw2 of=/home/oracle/rmandata/vote_disk恢复时只要执行如下命令:dd if=/oraclebackup/vote_disk of /raw/raw2●ASM实例可以只备份ASM的$ORACLE_HOMEOCR的备份可以通过如下命令ocrconfig -export /home/oracle/rmandata/orabak//orcdump -backupfile /home/oracle/rmandata/ocrdump恢复可以用如下命令crs stopocrconfig -import /home/oracle/rmandata/ocrbak3.1.查看当前磁盘组通过如下命令查看当前数据库系统中的磁盘组信息:SQL> select state,name from v$asm_diskgroup;STATE NAME----------- --------------------MOUNTED DGORIG3.2.创建一个正常冗余的新的磁盘组将新的存储设备挂接到系统中,并完成磁盘初始化,创建一个新的磁盘组,具体命令如下:SQL > create diskgroup DGNEW normal redundancy failgroup<failgroup1_name> disk 'disk1_name' failgroup <failgroup2_name> disk'disk2_name';/**********注意:新创建的磁盘在linux和unix操作系统下一定要先修改权限**********//添加后查看信息,命令如下:SQL> select state,name,type from v$asm_diskgroup;STATE NAME TYPE----------- ------------------- ------MOUNTED DGORIG EXTERNMOUNTED DGNEW NORMAL3.3.备份和恢复控制文件具体执行命令如下:SQL> show parameter db_nameNAME TYPE VALUE---------------- ----------- ----------------------------db_name string orcl10gSQL> alter database backup controlfile to '+DGNEW';SQL> alter system set control_files='+DGNEW\ORCL10G\CONTROLFILE\<system generated control file name from diskgroup DGNEW>' SCOPE=SPFILE;-- Connect to rman$ rman target /RMAN > shutdown immediate;RMAN > startup nomount;RMAN> restore controlfile to '<new_diskgroup i.e +DGNEW> from'+DGORIG\ORCL10G\CONTROLFILE\mycontrol.ctl' (specify the original (old) location of controlfile here) '/********注意:原始的控制文件名一定要全,否则报错****************/// 3.4.备份和恢复迁移数据库文件使用如下命令完成数据文件的备份及恢复迁移:RMAN > alter database mount;RMAN> backup as copy database format '+DGNEW';使用“BACKUP AS COPY”,RMAN拷贝文件作为image copies,数据库文件的bit-for-bit拷贝被创建在硬盘上,这是与你用操作系统的命令如在unix上的cp或者Windows上的copy拷贝的同样文件的拷贝是一样的,但使用“BACKUP AS COPY”副本将被记录在RMAN信息库和RMAN恢复操作可以使用他们。

ORACLE数据库跨平台迁移windows到linux

ORACLE数据库跨平台迁移windows到linux

ORACLE数据库跨平台迁移(Windows→Linux)Bill_lee作品qq:284562599实验环境WINDOWS平台:操作系统:Windows Server 2008 64位企业版数据库版本:11.2.0.1.0 (64位)LINUX平台:操作系统:RHEL5.5_x64数据库版本:11.2.0.1.0 (64位)实验简介利用RMAN Convert database特性,将WINDOWS平台上的oracle数据库跨平台迁移到LINUX平台,当前LINUX平台只装数据库软件,不建库。

Convert database具体如下特性:1、只能传输数据表空间的数据文件。

临时表空间将不会被传输,如果临时表空间是本地管理的话,那么传输数据库完成后将会自动在目标数据库创建临时表空间。

2、假如源主数据库使用PFILE,那么PFILE也会被传输。

如果源数据库使用的是SPFILE,那么将会自动产生一个PFILE进行传输,并在目标数据库生成SPFILE。

3、控制文件和联机日志文件将不会被传输。

在目标数据库open resetlogs的过程中,将会自动创建控制文件和联机日志文件。

4、BFILE、外部表和directory将不会被传输。

RMAN检查的时候将会把这些对象列出,用户可以手工创建这些对象。

5、密码文件将不会被传输,用户必须在目标数据库手工创建密码文件。

实验步骤一:将源数据库置于READ ONL Y模式:SYS@CTY> shutdown immediate;数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SYS@CTY> startup mount;ORACLE 例程已经启动。

…………………………..数据库装载完毕。

SYS@CTY> alter database open read only;数据库已更改。

二:利用dbms_tdb包检查数据库能否被传输以及列出外部表和DIRECTORY等无法传输的对象信息SYS@CTY> set serveroutput onSYS@CTY> declaredb_ready boolean;begin/* db_ready is ignored, but with SERVEROUTPUT set to ON any* conditions preventing transport will be output to console */db_ready := dbms_tdb.check_db('Linux IA (64-bit)',dbms_tdb.skip_none);end;/PL/SQL procedure successfully completed.SYS@CTY> declareexternal boolean;begin/* value of external is ignored, but with SERVEROUTPUT set to ON* dbms_tdb.check_external displays report of external objects* on console */external := dbms_tdb.check_external;end;/The following external tables exist in the database:SH.SALES_TRANSACTIONS_EXTThe following directories exist in the database:SYS.ORACLE_OCM_CONFIG_DIR, SYS.DATA_PUMP_DIR, SYS.XMLDIR,SYS.DATA_FILE_DIR, SYS.LOG_FILE_DIR, SYS.MEDIA_DIR,SYS.SS_OE_XMLDIR, SYS.SUBDIRThe following BFILEs exist in the database:PM.PRINT_MEDIAPL/SQL procedure successfully completed.三:环境检查完毕后就可以利用RMAN的convert database命令在源数据库进行转换新建文件夹D:\bak\CTYC:\Users\Administrator>rman target /恢复管理器: Release 11.2.0.1.0 - Production on 星期三8月28 16:57:56 2013Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到目标数据库: CTY (DBID=1506780604)RMAN> CONVERT DATABASE NEW DATABASE 'CTY'transport script 'D:\bak\CTY\transport_linux64.sql'to platform 'Linux IA (64-bit)'db_file_name_convert 'D:\app\Administrator\oradata\CTY\''D:\bak\CTY\';*******************************************************************************命令解释:'CTY'是目标数据库的名字,'D:\bak\CTY\transport_linux64.sql'是命令结束后生成的脚本名,用来在目标平台建库,'Linux IA (64-bit)'是目标数据库的操作系统平台(固定写法)'D:\app\Administrator\oradata\CTY\'是源库的数据文件所在路径,可以通过select file#,name from v$datafile;查询,'D:\bak\CTY\'是转换后的数据文件输出的路径,需要提前手动创建(注意权限,属主和属组是oracle.oinstall)。

oracle数据文件在不同分区间的转移

oracle数据文件在不同分区间的转移

Oracle数据库在使用过程中,随着数据的增加数据库文件也逐渐增加,在达到一定大小后有可能会造成硬盘空间不足;那么这时我们可以把数据库文件移动到另一个大的硬盘分区中。

下面我就以Oracle for Windows版本中把C盘的数据库文件移动到D盘为例介绍Oracle 数据库文件移动的方法和步骤。

注:Svrmgrl 就是Server Manager, 在Oracle 8i 以前,是用作数据库管理,比如启动数据库,关闭数据库,都要用到svrmgrl,到了oracle8i以后,开始用统一的界面sqlplus 来完成这个功能,但考虑到向前兼容,仍保留了svrmgrl,但到了oracle9i以后,就没有svrmgrl了。

现数据库版本为Oracle9i,故可直接使用sqlplus!1.在sqlplus中连接到要移动文件的Oracle数据库,然后执行如下SQL语句查看Oracle 数据库文件位置:SQL> select file_name from sys.dba_data_files;FILE_NAME -------------------------------------------------------------- C:\ORA8\ORADATA\ORACLE\USERS01.DBFC:\ORA8\ORADATA\ORACLE\DR01.DBFC:\ORA8\ORADATA\ORACLE\TOOLS01.DBFC:\ORA8\ORADATA\ORACLE\INDX01.DBFC:\ORA8\ORADATA\ORACLE\RBS01.DBFC:\ORA8\ORADATA\ORACLE\TEMP01.DBFC:\ORA8\ORADATA\ORACLE\SYSTEM01.DBF查询到7记录.记录要移动的文件的位置和名称。

2.下面我们以把文件“C:\ORA8\ORADATA\ORACLE\USERS01.DBF”移动到“D:\ORADATA\USERS01.DBF”为例介绍,要移动其它文件,请安相同的方法(根据实际情况修改文件路径和名称)操作即可。

xx生产系统oracle数据库迁移

xx生产系统oracle数据库迁移

XX生产系统oracle数据库迁移一、操作目的:利用nfs和rman的copy命令,将XX系统的oracle数据库迁移到另一台服务器上,将原来的裸设备上的数据文件转换成文件系统上的数据文件。

并成功启动数据库,确保应用服务器正常连接此数据库,应用运行正常,数据库运行正常。

二、操作环境:XX系统数据库服务器:HP 7420,这里我们暂且叫主机备机:HP 7420数据库:oracle 9i操作系统:HP-UX 11.23三、操作步骤1、在主机上用DP做全备。

2、用磁带机备份主机的操作系统,并把操作系统灌入备机。

3、配置主机和备机的网络连通,这里暂设主机IP:192.168.152.120,备机IP:192.168.152.130,。

在备机配置nfs服务并启动,这里我们暂且在备机上新建一个data目录(通过nfs共享出这个目录):# mkdir /data# chown –R oracle:dba /data4、在主机新建目录data(启动nfs客户端,然后把备机的共享目录挂载到本地的data目录下):# mkdir /data# chown –R oracle:dba /data# mount –t nfs –orw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=0 192.168.152.130:/data这里挂载一定要加参数,否则rman不认此挂载点。

5、通过rman和nfs把主机的数据文件从裸设备转换成文件系统并传输到备机上:①一致性关闭数据库,并启动到mount状态# su – oracle$ sqlplus “/as sysdba”SQL> shutdown immediateSQL> startup mountSQL> create pfile from spfile;②传输数据文件:SQL> quit$ rman target /Rman> run {copy datafile '/dev/vgzydb3/rlv_system' to '/data/rlv_system';copy datafile '/dev/vgzydb3/rlv_undo' to '/data/rlv_undo';copy datafile '/dev/vgzydb2/rlv_tools' to '/data/rlv_tools';copy datafile '/dev/vgzydb1/rlv_1g_d_001' to '/data/rlv_1g_d_001’;……}有多少数据文件就写多少数据文件,格式是copy datafile ‘裸设备’to ‘文件系统文件名’;③传输参数文件和重建控制文件、redo文件:在主机上:$ cp $ORACLE_HOME/dbs/init$ORACLE_SID.ora /data/在备机上:$ cp /data/init$ORACLE_SID.ora $ORACLE_HOME/dbs/把参数文件的控制文件路径改为/data目录下。

oracle 数据库迁移 实例

oracle 数据库迁移 实例

一、介绍Oracle数据库是全球领先的企业级数据库管理系统,在各种企业级应用程序中得到广泛的应用。

随着企业业务的发展和需求的变化,有时候需要将Oracle数据库迁移到其他服务器或者云评台上,以满足新的业务需求。

本文将介绍Oracle数据库迁移的一般步骤和实际操作过程。

二、准备工作1. 确定迁移目标在进行数据库迁移之前,首先需要明确数据库迁移的目标。

是迁移到另一台物理服务器上,还是迁移到云评台上?迁移到哪个云评台?这些都需要在迁移之前明确。

2. 确认迁移环境在进行数据库迁移之前,确认迁移目标环境是否满足Oracle数据库的硬件和软件要求。

确保目标环境中有足够的存储空间、内存和CPU资源,并且安装了适当版本的Oracle数据库软件。

3. 数据库备份在进行数据库迁移之前,务必对当前的Oracle数据库进行备份。

备份数据可以作为迁移失败时的恢复手段,确保数据不会丢失。

4. 迁移计划制定数据库迁移的详细计划,包括迁移的时间、步骤、责任人等,以确保迁移过程顺利进行。

三、迁移过程1. 安装目标环境在确定好迁移目标环境之后,需要在目标环境中安装相应的操作系统和Oracle数据库软件。

确保安装的版本和配置与源环境一致。

2. 导出数据在进行数据库迁移之前,需要将源数据库中的数据导出。

可以使用Oracle提供的expdp命令进行数据导出,将数据导出到一个文件中。

3. 拷贝文件将数据导出的文件拷贝到目标环境中,确保文件的完整性和正确性。

4. 导入数据在目标环境中,使用Oracle提供的impdp命令将导出的数据文件导入到目标数据库中。

5. 更新配置在数据库迁移完成后,需要对目标数据库进行相应的配置更新,包括网络配置、监听配置、参数配置等,以确保数据库能够正常运行。

四、迁移后处理1. 测试在数据库迁移完成后,需要进行相应的测试,包括功能测试、性能测试、容灾测试等,以确保数据库迁移的成功。

2. 切换在测试通过之后,可以进行数据库切换,将迁移后的数据库投入使用,停用源数据库。

windows下oracle的迁移+升级

windows下oracle的迁移+升级

我们自己的QA库有时需要进行一个迁移,或者是一个升级,如果数据库较大,则无法考虑exp/imp的办法。

因为我们能用的环境一般是windows环境(其实linux更容易的多),我们即以此为例来说明下。

主要的思路跟原理是借尸还魂,因为windows不像linux,oracle的服务需要在注册表跟services里注册,较为麻烦,因此我们需要提前在目标库用dbca建好一个与源库同名的数据库,按源库的参数文件跟控制文件对目标库的参数文件跟控制文件进行修改,删除目标库所有数据文件,将源库所有数据文件全体复制过来,通过新建参数文件与控制文件,重要创建一个实例,让此实例去加载复制过来的源库数据文件,诞生一个全新的数据库。

如有需要,比如从10g升级到11g,再进行升级。

当然,此方法同样适用于源库数据文件遭到了物理情破坏,或遇到坏块,无法导出,需要抢修数据等情况。

1、导出原库spfile以用于修改目标库spfile得到源库的参数文件内容,留意几个不可修改的重要参数:*.background_dump_dest='C:\oracle\product\10.1.0\admin\p2emon\bdump'*.compatible='10.1.0.2.0'*.control_files='C:\oracle\product\10.1.0\oradata\p2emon\control01.ctl','C:\oracle\product\10.1.0\oradata\p2emon\control02.ctl','C:\oracle\product\10.1.0\oradata\p2emon\control03.ctl'*.core_dump_dest='C:\oracle\product\10.1.0\admin\p2emon\cdump'*.db_block_size=8192*.db_cache_size=351658240*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='p2emon'*.db_recovery_file_dest='C:\oracle\product\10.1.0\flash_recovery_area'*.db_recovery_file_dest_size=2147483648*.dispatchers='(PROTOCOL=TCP) (SERVICE=p2emonXDB)'*.java_pool_size=63886080*.job_queue_processes=10*.large_pool_size=63886080*.open_cursors=300*.open_links=20*.open_links_per_instance=18*.pga_aggregate_target=25165824*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.shared_pool_size=457286400*.smtp_out_server=''*.sort_area_size=655360*.undo_management='AUTO'*.undo_tablespace='UNDOTBS1'*.user_dump_dest='C:\oracle\product\10.1.0\admin\p2emon\udump'2、转储controlfile,需要借助脚本知道文件被按session转储到何处也可以利用oradebug导出:但如果用户设置了user_dump_dest参数,但转储文件不在默认路径下打开看下内容:STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "P2EMON" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 8MAXLOGHISTORY 25903LOGFILEGROUP 1 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\REDO01.LOG' SIZE 10M,GROUP 2 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\REDO02.LOG' SIZE 10M,GROUP 3 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\REDO03.LOG' SIZE 10M-- STANDBY LOGFILEDATAFILE'C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\SYSTEM01.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\UNDOTBS01.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\SYSAUX01.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS01.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS02.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS03.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\INDEX01.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS04.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS05.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS06.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\UNDOTBS02.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS07.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS08.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\ORABPEL.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS09.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\OLPSC_APPL01.DBF','C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\USERS10.DBF'CHARACTER SET AL32UTF8;-- Commands to re-create incarnation table-- Below log names MUST be changed to existing filenames on-- disk. Any one log file from each branch can be used to-- re-create incarnation records.-- ALTER DATABASE REGISTER LOGFILE'C:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\P2EMON\ARCHIVELOG\2013_08_21\O1_MF_1_1_%U_.ARC';-- ALTER DATABASE REGISTER LOGFILE'C:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\P2EMON\ARCHIVELOG\2013_08_21\O1_MF_1_1_%U_.ARC';-- Recovery is required if any of the datafiles are restored backups,-- or if the last shutdown was not normal or immediate.RECOVER DATABASE-- Database can now be opened normally.ALTER DATABASE OPEN;-- Commands to add tempfiles to temporary tablespaces.-- Online tempfiles have complete space information.-- Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\TEMP02.DBF'SIZE 4096M REUSE AUTOEXTEND OFF;ALTER TABLESPACE OLPSC_TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\P2EMON\OLPSC_TEMP01.DBF'SIZE 524288000 REUSE AUTOEXTEND OFF;-- End of tempfile additions.4、创新新库的参数文件:根据源库的相关参数进行修改:p2emon.__db_cache_size=2382364672p2emon.__java_pool_size=16777216p2emon.__large_pool_size=16777216p2emon.__oracle_base='C:\oracle'#ORACLE_BASE set from environmentp2emon.__pga_aggregate_target=2046820352p2emon.__sga_target=3053453312p2emon.__shared_io_pool_size=0p2emon.__shared_pool_size=603979776p2emon.__streams_pool_size=0*.audit_file_dest='C:\oracle\admin\p2emon\adump'*.audit_trail='db'*.compatible='10.1.0.2.0'*.control_files='D:\oradata\p2emon\control01.ctl','D:\oradata\p2emon\control02.ctl' *.db_block_size=8192*.db_domain=''*.db_name='p2emon'*.diagnostic_dest='C:\oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=p2emonXDB)'*.memory_target=5093982208*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.undo_tablespace='UNDOTBS1'*.db_file_multiblock_read_count=16*.open_links=20*.open_links_per_instance=18*.smtp_out_server=''5、利用修改后的pfile启动目标实例,数据库进入nomount状态6、将源库的数据文件所在目标设为共享,目标库全文件复制。

详细讲解Oracle数据库的数据迁移方法

详细讲解Oracle数据库的数据迁移方法

详细讲解Oracle数据库的数据迁移方法(1)随着数据库管理系统和操作系统平台的更新换代的速度的加快,数据库管理员经常需要在两个不同的数据库之间或在两种不同的系统平台之间进行数据迁移。

本文介绍了数据库数据迁移的一般步骤以及实现向Oracle8i数据库进行数据迁移的几种方法,并对它们的优缺点做了对比分析。

在开发环境向运行环境转换、低版本数据库向高版本数据库转换以及两个不同数据库之间进行转换时,数据库中的数据(包括结构定义)需要被转移并使之正常运行,这就是数据库中的数据迁移。

对于中小型数据库,如Foxpro 中的*.dbf,这种迁移非常简单,一般只需通过简单的Copy就能完成。

但对于大型数据库系统,如Oracle 数据库,数据迁移就不那么简单了,它需要利用一定的技术和经验,有步骤按计划地完成。

数据迁移的一般步骤对数据库管理人员来说,数据库数据迁移极具挑战性,一旦措施不当,珍贵的数据资源将面临丢失的危险,要成功地实现数据库数据平滑迁移,需要周密计划和充分准备,并按照一定的步骤来完成。

设计数据迁移方案设计数据迁移方案主要包括以下几个方面工作:研究与数据迁移相关的资料,或在网站上查询相关内容、评估和选择数据迁移的软硬件平台、选择数据迁移方法、选择数据备份和恢复策略、设计数据迁移和测试方案等。

进行数据模拟迁移根据设计的数据迁移方案,建立一个模拟的数据迁移环境,它既能仿真实际环境又不影响实际数据,然后在数据模拟迁移环境中测试数据迁移的效果。

数据模拟迁移前也应按备份策略备份模拟数据,以便数据迁移后能按恢复策略进行恢复测试。

测试数据模拟迁移根据设计的数据迁移测试方案测试数据模拟迁移,也就是检查数据模拟迁移后数据和应用软件是否正常,主要包括:数据一致性测试、应用软件执行功能测试、性能测试、数据备份和恢复测试等。

准备实施数据迁移数据模拟迁移测试成功后,在正式实施数据迁移前还需要做好以下几个方面工作:进行完全数据备份、确定数据迁移方案、安装和配置软硬件等。

oracle数据迁移方法

oracle数据迁移方法

Oracle数据迁移方案数据迁移通俗的说就是将数据从一个地方转移到另一个地方。

主要使用场景有:根据正式系统搭建测试环境、从内网复制到外网、数据库服务器硬件升级等。

根据需要迁移的数据量大小、系统架构,可采取不同的迁移方法。

注:以下所说方法,不考虑数据的增量更新、不考虑数据的实时同步、不考虑数据的逻辑转换。

如果有这些需求,建议使用第三方ETL工具或使用Oracle的其他数据同步技术。

一、常用示例1.1 如何在客户现场搭建测试环境?常规方案,使用imp/exp工具,先在源库执行直接路径导出操作,然后在目标库执行导入操作。

IMP/EXP的执行速度主要受限于磁盘及网络。

数据量:1.5G导出用时:5分钟导入用时:23分钟导出文件大小:641M导出导入环境:单CPU,700M内存。

为力求最大速度,使用直接路径导出、设置最大I/O 缓冲、导入导出文件都放在服务器上执行。

1.2 还有没有更快的办法?有,仍然使用impdp/expdp。

只是不再将数据导出后导入,而是直接将数据从源库导入到目的库。

CMD> Impdp testi@目标库 directory=DMPDIR schemas=TESTInetwork_link=源库dblink remap_schema=TESTI:TESTA上面语句的操作是将源库的TESTI用户的数据,导入到目标库的TESTA用户下。

这个操作是局域网内迁移数据最方便的工具,不过也可能是速度最慢的工具。

1.3 有没有还快一点的方法?有,换用impdp/expdp。

同样在源库执行导出,在目标库执行导入。

操作速度能得到极大提升。

IMPDP/EXPDP速度主要受限于磁盘,与网络无关。

原数据大小:1.5Gexpdp导出操作用时:5分钟impdp导入操作用时:22分钟导出文件大小:588M导出导入环境:单CPU,700M内存,并行度 = 1你不是说这个会更快么?为什么速度跟3.1的imp/exp差不多啊?请看第四部分总结的解释。

03_Oracle数据迁移之跨平台全库迁移

03_Oracle数据迁移之跨平台全库迁移

Oracle数据迁移之跨平台全库迁移Oracle是一款非常优秀的DBMS软件。

它可以运行在多种操作系统平台上,如:Windows、Linux、AIX和Solaris等等。

很多时候,由于各种各样的原因,我们需要在一同的OS平台之间进行Oracle数据库的迁移。

Oracle数据库的迁移有很多种方法,但是,在这里我想用一个实验来向大家演示一下如何利用RMAN进行Oracle数据库的跨平台全库迁移。

实验环境源库:Windows+Oracle10g版本10.2.0.1.0目的:红帽Linux+Oracle10g版本10.2.0.1.0查看一下源库当前的一些信息:从反馈的信息来看,我们知道数据库当前处于READ WRITE状态,所有我们得先将数据库转为READ ONLY。

接下来要做就是打开RMAN进行迁移好了,CONVERT成功完成。

现在,我们要编辑J:\TRANDB\TRANDB.SQL这个文件的内容以生成一条创建控制文件的命令:编辑之前的文件内容如下所示--The following commands will create a new control file and use it--to open the database.--Data used by Recovery Manager will be lost.--The contents of online logs will be lost and all backups will--be e this only if online logs are damaged.--After mounting the created controlfile,the following SQL--statement will place the database in the appropriate--protection mode:--ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCESTARTUP NOMOUNT PFILE='D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00M65HE9_1_0.ORA' CREATE CONTROLFILE REUSE SET DATABASE"TRANDB"RESETLOGS NOARCHIVELOGMAXLOGFILES16MAXLOGMEMBERS3MAXDATAFILES100MAXINSTANCES8MAXLOGHISTORY292LOGFILEGROUP1 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCH_D-TRANDB_ID-3488368891_S-31 _T-1_A-744298555_00M65HE9'SIZE50M,GROUP2 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCH_D-TRANDB_ID-3488368891_S-29 _T-1_A-744298555_00M65HE9'SIZE50M,GROUP3 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ARCH_D-TRANDB_ID-3488368891_S-30 _T-1_A-744298555_00M65HE9'SIZE50MDATAFILE'J:\TRANDB\SYSTEM01.DBF','J:\TRANDB\UNDOTBS01.DBF','J:\TRANDB\SYSAUX01.DBF','J:\TRANDB\USERS01.DBF','J:\TRANDB\LINUXTBS01.DBF'CHARACTER SET ZHS16GBK;--Database can now be opened zeroing the online logs.ALTER DATABASE OPEN RESETLOGS;--Commands to add tempfiles to temporary tablespaces.--Online tempfiles have complete space information.--Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\DATA_D-TRANDB_I-3488368891_TS-TE MP_FNO-1_00M65HE9'SIZE28311552AUTOEXTEND ON NEXT655360MAXSIZE32767M;--End of tempfile additions.--set echo offprompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ prompt*Your database has been created successfully!prompt*There are many things to think about for the new database.Hereprompt*is a checklist to help you stay on track:prompt*1.You may want to redefine the location of the directory objects.prompt*2.You may want to change the internal database identifier(DBID)prompt*or the global database name for this e theprompt*NEWDBID Utility(nid).prompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SHUTDOWN IMMEDIATESTARTUP UPGRADE PFILE='D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00M65HE9_1_0.ORA' @@?/rdbms/admin/utlirp.sqlSHUTDOWN IMMEDIATESTARTUPPFILE='D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00M65HE9_1_0.ORA' --The following step will recompile all PL/SQL modules.--It may take serveral hours to complete.@@?/rdbms/admin/utlrp.sqlset feedback6;修改完成后的内容如下所示:--The following commands will create a new control file and use it--to open the database.--Data used by Recovery Manager will be lost.--The contents of online logs will be lost and all backups will--be e this only if online logs are damaged.--After mounting the created controlfile,the following SQL--statement will place the database in the appropriate--protection mode:--ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCESTARTUP NOMOUNT PFILE='/u02/oradata/trandb/inittrandb.ora'CREATE CONTROLFILE REUSE SET DATABASE"TRANDB"RESETLOGS NOARCHIVELOGMAXLOGFILES16MAXLOGMEMBERS3MAXDATAFILES100MAXINSTANCES8MAXLOGHISTORY292LOGFILEGROUP1'/u02/oradata/trandb/redo01.log'SIZE50M,GROUP2'/u02/oradata/trandb/redo02.log'SIZE50M,GROUP3'/u02/oradata/trandb/redo03.log'SIZE50MDATAFILE'/u02/oradata/trandb/SYSTEM01.DBF','/u02/oradata/trandb/UNDOTBS01.DBF','/u02/oradata/trandb/SYSAUX01.DBF','/u02/oradata/trandb/USERS01.DBF','/u02/oradata/trandb/LINUXTBS01.DBF'CHARACTER SET ZHS16GBK;--Database can now be opened zeroing the online logs.ALTER DATABASE OPEN RESETLOGS;--Commands to add tempfiles to temporary tablespaces.--Online tempfiles have complete space information.--Other tempfiles may require adjustment.ALTER TABLESPACE TEMP ADD TEMPFILE'/u02/oradata/trandb/temp01.dbf' SIZE28311552AUTOEXTEND ON NEXT655360MAXSIZE32767M;--End of tempfile additions.--set echo offprompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ prompt*Your database has been created successfully!prompt*There are many things to think about for the new database.Hereprompt*is a checklist to help you stay on track:prompt*1.You may want to redefine the location of the directory objects.prompt*2.You may want to change the internal database identifier(DBID)prompt*or the global database name for this e theprompt*NEWDBID Utility(nid).prompt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SHUTDOWN IMMEDIATESTARTUP UPGRADE PFILE='/u02/oradata/trandb/inittrandb.ora'@@?/rdbms/admin/utlirp.sqlSHUTDOWN IMMEDIATESTARTUP PFILE='/u02/oradata/trandb/inittrandb.ora'--The following step will recompile all PL/SQL modules.--It may take serveral hours to complete.@@?/rdbms/admin/utlrp.sqlset feedback6;此外,我们还要编辑一下CONVERT过程中自动生成的一个参数文件(默认是在$ORACLE_HOME/database目录下,文件名一般类似于INIT_00M65HE9_1_0.ORA),并改名为inittrandb.ora且将其复制到j:\trandb目录下来。

Oracle 跨操作系统 迁移 说明

Oracle 跨操作系统 迁移 说明

关于跨OS 的DB 迁移,MOS 上有相关的文章说明:[ID 733205.1]。

To migrate an existing Oracle database (NOT BINARIES) from one Operating System platform to another (i.e. Windows to Solaris) ,This can occur as part of an Oracle version upgrade (Oracle 8i .. Oracle 11G) or within the same Oracle version: (Oracle 10.2 to Oracle 10.2).--可以将Oracle DB 从一个操作系统迁移到另一个操作系统,比如从windows 到Solaris,注意这里的迁移仅仅是数据的迁移,不包含DB 的安装介质。

这个迁移可以是不同DB版本的迁移,比如从8i 到11g,也可以是相同版本的迁移,比如从10.2 到10.2.Changes within an Operating System (ie: Linux,Windows or Solaris from 32 bit to 64 bit) are not considered cross platform migrations and are performed as normal version upgrades/wordsize conversions.--改变操作系统不用考虑系统的平台,可以按照正常的db version upgrades 和wordsize的改变来操作。

1解决方法There is no migration utility (Script or DBUA) to perform a cross platform migration of an Oracle Database.--没有迁移工具如脚本或者DBUA来执行跨OS的数据迁移。

ORACLE 数据库在不同计算机上的迁移(克隆数据库)

ORACLE 数据库在不同计算机上的迁移(克隆数据库)

ORACLE 数据库在不同计算机上的迁移(克隆数据库)描述:一台联想台式机上安装了oracle11g,建立了自己的数据库,现在想在宿舍DELL笔记本电脑上克隆这个数据库。

1 在目标机器上安装数据库,密码一致数据库名字一致。

2 登陆sys as sysdba 这时数据库自动启动3 shutdown immediate 关闭数据库,startup nomount,这时系统释放掉控制文件和数据文件,就是在这时完成替换。

4 复制数据文件和redo文件到目标机相应目录下原先的文件全部删除(数据目录下)我的是在C:\app\Administrator\oradata\orcl\目录下5 重建控制文件,主要就是让数据库系统知道有哪些数据文件,文件路径(指定的文件都应该有存在,否则会报错,这就是4在前的原因)如果不重建,会报控制文件太旧的错误,所以重建控制文件时必须的;6set linesize 400;col file# for 99;col name for a100;col status for a20;select file#,name,status from v$datafile;///////SQL> set linesize 400;SQL> col file# for 99;SQL> col name for a100;SQL> col status for a20;SQL> select file#,name,status from v$datafile;FILE# NAME STATUS----- ---------------------------------------------------------------------------------------------------- -------------1 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF SYSTEM2 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF RECOVER3 D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF RECOVER4 D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF RECOVER5 D:\APP\ADMINISTRATOR\ORADATA\ORCL\MILKWAY_TBS_01 RECOVER6 D:\APP\ADMINISTRATOR\ORADATA\ORCL\MILKWAY_TBS_02 RECOVER找到文件编号7 SQL> recover datafile 1;SQL> recover datafile 2;.....最好把所有的数据文件都恢复一边,不管提示是否为RECOVER状态8 alter database open;搞定9 cmd 命令窗口下最好来一下set ORACLE_SID=orcl; 大小写敏感shutdown normal ;好不容易搞定,第一次关闭用normal ,慢点值得,免得丢失10 sys as sysdba 如果发现是连接到空闲进程,用startup open即可。

002----oracle数据库迁移方案01

002----oracle数据库迁移方案01

环境描述:源数据库Oracle服务器版本: Oracle9.2.0.8数据库名称db_name = oradb instance_name=oradb操作系统版本: windows 2003实例安装位置: $oracle_base = e:\oracle目标数据库Oracle服务器版本: Oracle9.2.0.8数据库名称db_name = orcl instance_name=orcl操作系统版本: windows xp实例安装位置: $oracle_base = d:\oracle执行步骤.一, 数据库名称和sid要求相同1.1 数据库名称的相关概念一, 数据库名数据库名是数据库的身份证号码, 用于表示一个数据库. 在参数文件(?/database/initSID.ora)中用DB_NAME表示.*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='oradb'*.instance_name='oradb'数据库名是在安装数据库, 创建新的数据库, 创建数据控制文件, 修改数据库结构, 备份与恢复数据库时都需要使用到的.查询数据库名称:⏹Select name, dbid from v$database;◆Show parameter db_name;◆查看参数文件initsid.ora二, 数据库实例名数据库实例名是用户和操作系统进行联系的标识, 也就是说数据库和操作系统之间的交互使用的是数据库实例名.实例名在参数文件中也存在, 该参数为instance_name.数据库名和实例名可以相同也可以不同, 在一般情况下, 数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中, 数据库名和实例名是一对多的关系.查询当前数据库实例名.使用sql语句. Select instance_name from v$instance;使用show命令. Show parameter instance_name;查看参数文件initsid.ora.数据库实例名和oracle_sid两者都表示oracle实例, 但是有区别的. Instance_name是oracle数据库参数. 而oracle_sid是操作系统的环境变量. Oracle_sid用于于操作系统交互, 也就是说, 从操作系统角度访问实例名, 必须通过oracle_sid.Oracle_sid和instance_name必须是一致的, 否则用户将会受到一个错误. 在unix平台, 是oracle not available, 在winnt平台, 是tns, 协议适配器错误.三, 数据库域名与全局数据库名随着由多个数据库构成的分布式数据库的普及, 单一的db_name表示的数据库命名方式给数据库的管理造成了一定的负担. 因为分布式环境下的数据库名字可能一样, 造成管理上的混乱.为了解决这种情况, 引入了db_domain参数, 这样在数据库的标识是由db_name和db_domain两个参数共同决定的. 避免了因为数据库重名而造成管理上的混乱.查询数据库域名.使用sql命令select value from v$parameter where name = ‘db_domain’;使用show命令show parameter domain查看参数文件initsid.ora四, 数据库服务名该参数是oracle8i新引入的. 在8i之前, 我们用sid来表示数据库的一个实例, 但是在oracle的并行环境中, 一个数据库对应多个实例, 这样就需要多个网络服务名, 设置繁琐. 为了方便并行环境中的设置, 引进了service_name参数. 该参数对应一个数据库, 而不是一个实例. 该参数的初始值为db_name.db_domain, 即等于global_name. 如果数据库有域名, 则数据库服务器名就是全局数据库名; 否则, 数据库服务名与数据库名相同.查询数据库服务名的方法.使用sql语句: select value from v$parameter where name = ‘service_name’;使用show命令: show parameter service_name;查看参数文件: 在参数文件initsid.ora中查询.五, 网络服务名网络服务名, 又称为数据库别名, 是客户端程序访问数据库时需要的配置. 屏蔽客户端如何连接到服务器端的细节, 实现了数据库的位置透明的特性. 网络服务名被记录在tnsnames.ora文件中.六, 总结1.2 修改oracle数据库的db_name和sid一,用oracle自带的工具nid改数据库名在本例中,假设原来的数据库名为orcl,要改成oradb,原实例名(service_name, instance_name)orcl要改成oradb。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

环境描述:源数据库Oracle服务器版本: Oracle9.2.0.8数据库名称db_name = oradb instance_name=oradb操作系统版本: windows 2003实例安装位置: $oracle_base = e:\oracle目标数据库Oracle服务器版本: Oracle9.2.0.8数据库名称db_name = orcl instance_name=orcl操作系统版本: windows xp实例安装位置: $oracle_base = d:\oracle执行步骤.一, 数据库名称和sid要求相同1.1 数据库名称的相关概念一, 数据库名数据库名是数据库的身份证号码, 用于表示一个数据库. 在参数文件(?/database/initSID.ora)中用DB_NAME表示.*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='oradb'*.instance_name='oradb'数据库名是在安装数据库, 创建新的数据库, 创建数据控制文件, 修改数据库结构, 备份与恢复数据库时都需要使用到的.查询数据库名称:⏹Select name, dbid from v$database;◆Show parameter db_name;◆查看参数文件initsid.ora二, 数据库实例名数据库实例名是用户和操作系统进行联系的标识, 也就是说数据库和操作系统之间的交互使用的是数据库实例名.实例名在参数文件中也存在, 该参数为instance_name.数据库名和实例名可以相同也可以不同, 在一般情况下, 数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中, 数据库名和实例名是一对多的关系.查询当前数据库实例名.使用sql语句. Select instance_name from v$instance;使用show命令. Show parameter instance_name;查看参数文件initsid.ora.数据库实例名和oracle_sid两者都表示oracle实例, 但是有区别的. Instance_name是oracle数据库参数. 而oracle_sid是操作系统的环境变量. Oracle_sid用于于操作系统交互, 也就是说, 从操作系统角度访问实例名, 必须通过oracle_sid.Oracle_sid和instance_name必须是一致的, 否则用户将会受到一个错误. 在unix平台, 是oracle not available, 在winnt平台, 是tns, 协议适配器错误.三, 数据库域名与全局数据库名随着由多个数据库构成的分布式数据库的普及, 单一的db_name表示的数据库命名方式给数据库的管理造成了一定的负担. 因为分布式环境下的数据库名字可能一样, 造成管理上的混乱.为了解决这种情况, 引入了db_domain参数, 这样在数据库的标识是由db_name和db_domain两个参数共同决定的. 避免了因为数据库重名而造成管理上的混乱.查询数据库域名.使用sql命令select value from v$parameter where name = ‘db_domain’;使用show命令show parameter domain查看参数文件initsid.ora四, 数据库服务名该参数是oracle8i新引入的. 在8i之前, 我们用sid来表示数据库的一个实例, 但是在oracle的并行环境中, 一个数据库对应多个实例, 这样就需要多个网络服务名, 设置繁琐. 为了方便并行环境中的设置, 引进了service_name参数. 该参数对应一个数据库, 而不是一个实例. 该参数的初始值为db_name.db_domain, 即等于global_name. 如果数据库有域名, 则数据库服务器名就是全局数据库名; 否则, 数据库服务名与数据库名相同.查询数据库服务名的方法.使用sql语句: select value from v$parameter where name = ‘service_name’;使用show命令: show parameter service_name;查看参数文件: 在参数文件initsid.ora中查询.五, 网络服务名网络服务名, 又称为数据库别名, 是客户端程序访问数据库时需要的配置. 屏蔽客户端如何连接到服务器端的细节, 实现了数据库的位置透明的特性. 网络服务名被记录在tnsnames.ora文件中.六, 总结1.2 修改oracle数据库的db_name和sid一,用oracle自带的工具nid改数据库名在本例中,假设原来的数据库名为orcl,要改成oradb,原实例名(service_name, instance_name)orcl要改成oradb。

Nid是自带的工具,在oracle_home/bin目录下,以下方法假设登陆到需要修改db_name 的数据库服务器本地处理。

1,在mount状态下使用nid修改sidC:\Documents and Settings\Administrator>sqlplus /nologSQL> conn / as sysdbaSQL> shutdown immediateSQL> startup mount -- nid需要在mount状态下处理。

SQL> host nid target=/ dbname=oradb处理过程中需要与用户执行一次交互。

Change database ID and database name ORCL to ORADB? (Y/[N]) => Y2,在mount状态下修改db_name完成上述操作后需要再次启动到mount状态修改参数文件。

SQL> shutdown immediateSQL> startup mountSQL> alter system set db_name=oradb scope=spfile;SQL> shutdown immediate3, 重建pwdsid.ora文件Passwd文件通常放在oracle_home/database下,文件命名形式为pwdsid.ora,sid为实例名(instance_name)SQL> host orapwd file=D:\oracle\ora92\database\pwdorcl.ora password=sys_47522341 entries=5;4,开启数据库(要open resetlogs)SQL> startup mountSQL> alter database open resetlogs;5, 检查修改后的结果SQL> select name from v$database;二,使用oradim工具修改instance_name执行完步骤一中的操作后,数据库db_name变为oradb,但instance_name依然还是orcl。

这个名称需要使用oracle的oradim工具进行修改。

1,如果是windows系统,先要将所有的oracle服务关闭,否则会出错。

2,将之前的instance_name删除C:\Documents and Settings\Administrator>oradim -delete -sid orcl3,创建密码文件SQL> host orapwd file=D:\oracle\ora92\database\pwdoradb.ora password=sys_47522341 entries=5;4,创建一个新的sid。

C:\Documents and Settings\Administrator>oradim -new -sid oradbC:\Documents and Settings\Administrator>oradim -new -sid oradb5,进入oracle并创建spfile设置环境变量oracle_sid=oradbC:\Documents and Settings\Administrator>set oracle_sid = oradb修改spfile里实例信息(包含路径里的zs改为zstest,OS目录zs改为zstest)//如果此处不修改路径中的zs到zstest则后面应无需重建控制文件C:\Documents and Settings\Administrator>sqlplus sys/admin as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on 星期四7月3 16:23:16 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.已连接到空闲例程。

//先从spfile创建pfileSQL> create pfile='D:\oracle\product\10.2.0\admin\zs\pfile\init080703.ora' fromspfile='D:\oracle\product\10.2.0\db_1\database\SPFILEZS.ORA';文件已创建。

//调整pfile里的参数后再创建spfileSQL> create spfile='D:\oracle\product\10.2.0\db_1\database\SPFILEZSTEST.ORA' from pfile='D:\oracle\product\10.2.0\admin\zstest\pfile\init080703.ora';文件已创建。

5)更改listener.ora和tnsnames.ora并重启listener直接编辑这两个文件将里面的sid_name、dbname和service_name都改为zstest6)因为更改了OS数据库目录路径(zs改为zstest)所以需要重建controlfiles//创建控制文件的脚本可以再旧数据库的时候使用如下语句获得:alter database backup controlfile to trace as 'd:\controlfile.txt';再做修改即可使用。

相关文档
最新文档