环境: centos 6.2 oracle 11.2
如何修改数据库的sid
1. 生成控制档的脚本
sql>alter database backup controlfile to trace as '/u/controlfile.txt';
2.如果是spfile[sid].ora启动数据库的,生成pfile檔.
sql>create pfile='/u/pfile.ora' from spfile;
3.关闭数据库
sql>shutdown immediate;
4.修改参数文件中用的原有的实例名信息,db_name以及控制文件和跟踪文件的路径。
5.及新建密码文件(或者修改密码文件名)。
$orapwd file=$ORACLE_BASE/product/11.2.0/db_1/dbs/orapwsevenpassword=oracle
entries=5 force=y
6.编辑controlfile.txt里面内容
比如:
CREATE CONTROLFILE SET DATABASE "SEVEN" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oradata/seven/redo01.log' SIZE 50M,
GROUP 2 '/oradata/seven/redo02.log' SIZE 50M,
GROUP 3 '/oradata/seven/redo03.log' SIZE 50M
DATAFILE
'/oradata/seven/system01.dbf',
'/oradata/seven/undotbs01.dbf',
'/oradata/seven/sysaux01.dbf',
'/oradata/seven/users01.dbf'
CHARACTER SET ZHT16BIG5
;
7.修改对应的文件名
$ORACLE_BASE/ADMIN/seven,以及/oradata/seven
8.如果是windows的系列操作系统.
oradim -delete -sid ORCL
oradim -new -sid SEVEN
9.设置环境变量export ORACLE_SID=seven
启动数据库到nomount pfile=’’
sql>startup nomount pfile='/u/pfile.ora'
10.用上面的脚本新建控制文件.
删除或改名原来的控制文件
11.sql>alter database open resetlogs;