这篇文章是实践过了的,便于以后查阅,适用于在linux平台下修改数据库实例名和数据库名字:
1、修改sid vi /home/oracle.bash_profile
ORCL -〉 STANDBY
2、修改vi /etc/oratab中ORCL -〉 STANDBY
3、修改$ORACLE_HOME/dbs下的文件名称为STANDBY
4\重新启动使sid生效,并查看,echo $ORACLE_SID
5、创建口令文件
>orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=vion entries=5 force=y
.ls -lrt orapw*
6、说明,如果以上没有备份控制文件就需要重新创建控制文件了,否则数据库有可能启动失败
可以是之前备份的控制文件copy过来
启动数据库时候发生:ORA-00205: error in identifying control file, check alert log for more info
以下是步骤:
1) 启动数据库sqlplus / as sysdba
2) Set echo on
3) 启动到nomount状态,startup nomount
4) 获取控制文件,最好是有备份,alter database backup controlfile to trace as ‘$ORACLE_HOME/dbs/trc/trc’
查看里边内容,提取大致内容如下:
CREATE CONTROLFILE REUSE DATABASE "STANDBY" RESETLOGS ARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 '/opt/oracle/oradata/primary/redo01.log' SIZE 10M,
GROUP 2 '/opt/oracle/oradata/primary/redo02.log' SIZE 10M,
GROUP 3 '/opt/oracle/oradata/primary/redo03.log' SIZE 10M
-- STANDBY LOGFILE
DATAFILE
'/opt/oracle/oradata/primary/system01.dbf',
'/opt/oracle/oradata/primary/undotbs01.dbf',
'/opt/oracle/oradata/primary/users01.dbf'
CHARACTER SET ZHS16GBK
;
这个文件要根据具体情况来设置的
5)set sqlbl on(如果出现SP2-0042: unknown command "DATAFILE" - rest of line ignored.时候需要执行,官方解释是我们的SQL脚本中存在空白行,因此在执行脚本时会报错)
6)SQL> RECOVER DATABASE;---由于系统突然断电等原因,所以在重启以后数据库从redo file中恢复数据进行前滚。
Media recovery complete.
SQL> alter database open;
Database altered.
至此修改完毕了
以下是修改数据库名字
首先修改数据库为归档模式
修改归档路径和大小:
修改方法:
SQL> alter system set db_recovery_file_dest_size=10g;
SQL> alter system set db_recovery_file_dest='/app/arc';
具体步骤
1、 查看当前的名字,show parameter name
2、 启动到mount状态下,startup mount
3、 SQL> host nid target=sys/vion dbname=STANDBY----使用操作系统的命令nid修改简单方便,如果执行过程中死掉ctl+z取消即可,一般可以看到控制文件数据文件等已经修改了
4、 看到启动时候必须添加选项
5、 需要启动的时候使用修改的initprod.ora里边的名字,然后根据提示操作即可
6、 dbid肯定变化了,需要重新备份数据库了
说明:因为图片我无法粘贴,所以请到资源列表下载了。