windows环境oracle数据库迁移实例

上传人:宝路 文档编号:22987285 上传时间:2017-11-29 格式:DOC 页数:7 大小:72.45KB
返回 下载 相关 举报
windows环境oracle数据库迁移实例_第1页
第1页 / 共7页
windows环境oracle数据库迁移实例_第2页
第2页 / 共7页
windows环境oracle数据库迁移实例_第3页
第3页 / 共7页
windows环境oracle数据库迁移实例_第4页
第4页 / 共7页
windows环境oracle数据库迁移实例_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《windows环境oracle数据库迁移实例》由会员分享,可在线阅读,更多相关《windows环境oracle数据库迁移实例(7页珍藏版)》请在金锄头文库上搜索。

1、环境描述:源数据库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 数据库名称的相关概念一, 数据库名数据库名是数据库

2、的身份证号码, 用于表示一个数据库. 在参数文件(?/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二, 数据库实例名数据库

3、实例名是用户和操作系统进行联系的标识, 也就是说数据库和操作系统之间的交互使用的是数据库实例名.实例名在参数文件中也存在, 该参数为 instance_name. 数据库名和实例名可以相同也可以不同, 在一般情况下, 数据库名和实例名是一对一的关系,但如果在 oracle 并行服务器架构 (即 oracle 实时应用集群)中, 数据库名和实例名是一对多的关系.查询当前数据库实例名. 使用 sql 语句. Select instance_name from v$instance; 使用 show 命令. Show parameter instance_name; 查看参数文件 initsid.o

4、ra.数据库实例名和 oracle_sid 两者都表示 oracle 实例, 但是有区别的. Instance_name 是oracle 数据库参数 . 而 oracle_sid 是操作系统的环境变量. Oracle_sid 用于于操作系统交互, 也就是说, 从操作系统角度访问实例名, 必须通过 oracle_sid.Oracle_sid 和 instance_name 必须是一致的, 否则用户将会受到一个错误. 在 unix 平台, 是 oracle not available, 在 winnt 平台, 是 tns, 协议适配器错误.三, 数据库域名与全局数据库名随着由多个数据库构成的分布式

5、数据库的普及, 单一的 db_name 表示的数据库命名方式给数据库的管理造成了一定的负担. 因为分布式环境下的数据库名字可能一样, 造成管理上的混乱.为了解决这种情况, 引入了 db_domain 参数, 这样在数据库的标识是由 db_name 和db_domain 两个参数共同决定的. 避免了因为数据库重名而造成管理上的混乱. 查询数据库域名. 使用 sql 命令 select value from v$parameter where name = db_domain; 使用 show 命令 show parameter domain 查看参数文件 initsid.ora四, 数据库服务名

6、该参数是 oracle8i 新引入的. 在 8i 之前, 我们用 sid 来表示数据库的一个实例, 但是在oracle 的并行环境中 , 一个数据库对应多个实例, 这样就需要多个网络服务名 , 设置繁琐. 为了方便并行环境中的设置, 引进了 service_name 参数. 该参数对应一个数据库, 而不是一个实例. 该参数的初始值为 db_name.db_domain, 即等于 global_name. 如果数据库有域名, 则数据库服务器名就是全局数据库名; 否则, 数据库服务名与数据库名相同.查询数据库服务名的方法.使用 sql 语句: select value from v$paramet

7、er where name = service_name;使用 show 命令: show parameter service_name;查看参数文件: 在参数文件 initsid.ora 中查询.五, 网络服务名网络服务名, 又称为数据库别名, 是客户端程序访问数据库时需要的配置. 屏蔽客户端如何连接到服务器端的细节, 实现了数据库的位置透明的特性. 网络服务名被记录在tnsnames.ora 文件中. 六, 总结Oracle 中各种命名的比较.名称 查询方式Db_name Select name from v$databaseInstance_name Select instance_na

8、me from v$instanceOracle_sid 值和 instance_name 相同Db_domain Select value from v$parameter where name = db_domain;Global_name Db_name.db_dommainService_name Select value from v$parameter where name=service_name;Net_service_name 检查 tnsnames.ora 文件1.2 修改 oracle 数据库的 db_name 和 sid一,用 oracle 自带的工具 nid 改数据库

9、名在本例中,假设原来的数据库名为 orcl, 要改成 oradb, 原实例名(service_name, instance_name)orcl 要改成 oradb。Nid 是自带的工具, 在 oracle_home/bin 目录下, 以下方法假设登陆到需要修改db_name 的数据库服务器本地处理。1, 在 mount 状态下使用 nid 修改 sidC:Documents and SettingsAdministratorsqlplus /nologSQL conn / as sysdbaSQL shutdown immediateSQL startup mount - nid 需要在 mo

10、unt 状态下处理。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.or

11、a 文件Passwd 文件通常放在 oracle_home/database 下, 文件命名形式为 pwdsid.ora, sid 为实例名(instance_name)SQL host orapwd file=D:oracleora92databasepwdorcl.ora password=sys_47522341 entries=5;4, 开启数据库(要 open resetlogs)SQL startup mountSQL alter database open resetlogs;5, 检查修改后的结果SQL select name from v$database;二, 使用 ora

12、dim 工具修改 instance_name执行完步骤一中的操作后, 数据库 db_name 变为 oradb, 但 instance_name 依然还是orcl。 这个名称需要使用 oracle 的 oradim 工具进行修改。1, 如果是 windows 系统, 先要将所有的 oracle 服务关闭, 否则会出错。 2, 将之前的 instance_name 删除C:Documents and SettingsAdministratororadim -delete -sid orcl3, 创建密码文件SQL host orapwd file=D:oracleora92databasepwd

13、oradb.ora password=sys_47522341 entries=5;4, 创建一个新的 sid。C:Documents and SettingsAdministratororadim -new -sid oradbC:Documents and SettingsAdministratororadim -new -sid oradb 5, 进入 oracle 并创建 spfile设置环境变量 oracle_sid=oradbC:Documents and SettingsAdministratorset oracle_sid = oradb修改 spfile 里实例信息( 包含路

14、径里的 zs 改为 zstest,OS 目录 zs 改为 zstest)/如果此处不修改路径中的 zs 到 zstest 则后面应无需重建控制文件C:Documents and SettingsAdministratorsqlplus 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 pf

15、ile=D:oracleproduct10.2.0adminzspfileinit080703.ora fromspfile=D:oracleproduct10.2.0db_1databaseSPFILEZS.ORA;文件已创建。/调整 pfile 里的参数后再创建 spfileSQL create spfile=D:oracleproduct10.2.0db_1databaseSPFILEZSTEST.ORA from pfile=D:oracleproduct10.2.0adminzstestpfileinit080703.ora;文件已创建。5)更改 listener.ora 和 tns

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号