环境描述:
源数据库
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'
数据库名是在安装数据库, 创建新的数据库, 创建数据控制文件, 修改数据库结构, 备份与恢复数据库时都需要使用到的.
查询数据库名称:
n Select name, dbid from v$database;
u Show parameter db_name;
u 查看参数文件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,