Oracle 修改实例名 SID

本文详细介绍了在CentOS6.5环境下,如何修改ORACLE实例名从orcl到doiido的过程,包括环境检查、数据库关闭、环境变量修改、文件路径调整、口令文件重建以及数据库重启等步骤。

修改ORACLE实例名

系统环境:CentOS 6.5
ORACLE版本:10.2

1、检查原来的数据库实例名
$ echo $ORACLE_SID
orcl

$ sqlplus / as sysdba
> select instance from v$thread;
INSTANCE
--------------------------------------------------------------------------------
orcl



2、关闭数据库
> shutdown immediate;
> exit;



3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为doiido
$ vi /home/oracle/.bash_profile
export ORACLE_SID=doiido
$ source /home/oracle/.bash_profile



4、修改/etc/oratab文件,将sid名由orcl修改为doiido
$ vi /etc/oratab
doiido:/u01/app/oracle/11.2/db_1:Y



5、进入到$ORACLE_HOME/dbs目录
将所有文件名中包含原来的sid的修改为对应的新sid的
$ cd $ORACLE_HOME/dbs
$ mv hc_zf.dat hc_doiido.dat 
$ mv lkZF lkDOIIDO
$ mv orapwzf orapwdoiido
$ mv spfilezf.ora spfiledoiido.ora 



6、重建口令文件
因为口令文件改名后不能在新实例中使用,所以重建
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y 


7、启动数据库
$ sqlplus / as sysdba 
> startup



8、检查数据库实例名
通过如下语句检查数据库实例名,发现实例名已经由orcl变成doiido
> select instance from v$thread; 
INSTANCE
--------------------------------------------------------------------------------
doiido



这个时候虽然实例名字已经改成doiido,但是数据库名(dbname)仍然为orcl,因此在客户端仍旧无法连接,如需要连接,则需修改dbname



### 使用 Oracle RMAN 恢复时修改实例名的方法 在使用 Oracle Recovery Manager (RMAN) 恢复数据库的过程中,如果需要更改数据库实例名称,则需遵循一系列特定的操作步骤。这些步骤不仅涉及 RMAN 的功能调用,还可能涉及到手动编辑初始化参数文件以及调整操作系统环境变量。 #### 修改实例名的主要流程 1. **准备阶段** 需要先确认新旧实例名之间的差异,并确保目标主机上的软件安装路径与原主机一致或兼容。这一步骤可以通过设置相同的 `$ORACLE_HOME` 和 `$ORACLE_BASE` 来简化后续操作[^4]。 2. **创建新的初始化参数文件 (`init<new_sid>.ora`)** 将原始的 `init<old_sid>.ora` 文件复制并重命名为适合新实例名的形式(如 `initNEW_SID.ora`)。在此基础上更新必要的参数值,例如: - `db_name`: 更改为新的数据库名称。 - `instance_name`: 如果适用,更改为新的实例名称。 - 其他依赖于具体环境的参数也需要同步调整。 3. **启动到 NOMOUNT 状态** 利用新建的初始化参数文件,在目标环境中以 NOMOUNT 方式启动实例: ```sql startup nomount pfile='/path/to/initNEW_SID.ora'; ``` 4. **恢复控制文件** 控制文件定义了数据库的整体结构信息,因此它是整个恢复过程的核心组件之一。通过 RMAN 执行如下命令可以从备份中还原控制文件至指定位置: ```bash RUN { SET NEWNAME FOR DATABASE TO '/u01/app/oracle/oradata/NEW_DB/control01.ctl'; RESTORE CONTROLFILE FROM '/backup/location/controlfile.bkp'; } ``` 此处需要注意的是,`SET NEWNAME` 子句用于重新映射数据文件的目标存储地址[^2]。 5. **挂载数据库** 成功恢复控制文件之后即可尝试挂载数据库,但此时仍不可访问任何实际的数据对象: ```sql alter database mount; ``` 6. **切换数据文件路径** 对照先前记录下来的老数据文件物理位置列表逐一设定其对应的替代路径: ```bash SQL> ALTER DATABASE RENAME FILE '/original/path/datafile.dbf' TO '/target/path/datafile_new.dbf'; ``` 上述语句应针对每一个受影响的数据文件重复执行直至覆盖完毕[^3]。 7. **开启数据库并应用归档日志**
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值