oracle更改实例名和库名
需要注意的问题:
1、生成密码文件的密码不能过弱,orapwd file=$ORACLE_HOME/dbs/oraw$ORACLE_SID password=111(不行的)TYYYy@1031(可以的) entries=5 force=y
2、spfile和pfile文件里的 *.compatible=.... 中的版本号,要与数据库系统一致,有时会有出入
3、那个sql文件里的reuse database 应改为set database,不然会报ora-01503的错
4、仔细核对需要更改的实例名和库名,不然坑死你
5、异机恢复时执行输出提示 ORA-65101 错误,是异机参数文件中配置了启用 CDB 特性,恢复的原环境控制文件中记录未启用 CDB 特性,两者有冲突,导致无法恢复。show parameter enable_pluggable_database; 返回 TRUE 表示异机启用了 CDB 特性。在线修改参数文件,关闭异机数据库的 CDB 特性,命令如下:alter system set enable_pluggable_database=false scope=spfile;
感谢原贴
http://blog.itpub.net/26870952/viewspace-2151994/
https://blog.csdn.net/Aria_Miazzy/article/details/93241566?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-93241566-blog-89473170.235^v38^pc_relevant_anti_vip&spm=1001.2101.3001.4242.1&utm_relevant_index=3
————————————————————————————————————————————————
sqlplus / as sysdba;
SELECT name, value FROM v$parameter WHERE name = 'compatible';
alter system set compatible='12.2.0.1.0' scope=spfile;
shutdown immediate;
startup
SELECT name, value FROM v$parameter WHERE name = 'compatible';
shutdown immediate;
————————————————————————————————————————————————
以下命令还要参考文档
vim /etc/oratab
vim ~/.bash_profile
source ~/.bash_profile
env | grep ORACLE
cd $ORACLE_HOME/dbs
mv hc_yjhisdb.dat hc_pacsdb.dat
mv lkYJHISDB lkPACSDB
mv spfileyjhisdb.ora spfilepacsdb.ora
cp inityjhisdb.ora initpacsdb.ora
orapwd file=$ORACLE_HOME/dbs/oraw$ORACLE_SID password=TTtt@1031 entries=5 force=y
rm orapwyjhisdb
sqlplus / as sysdba;
select instance from v$thread;
alter database backup controlfile to trace resetlogs;
shutdown immediate;
exit
cd $ORACLE_BASE/diag/rdbms/yjhisdb/pacsdb/trace
vim alert_pacsdb.log 查找contrlfile备份的trc 用/Backup找
cp /u01/app/oracle/diag/rdbms/yjhisdb/pacsdb/trace/pacsdb_ora_798.trc pacsdb.sql
vim pacsdb.sql
编辑文件pacsdb.sql
1)查找STARTUP NOMOUNT语句,将这一行上面的所有行都删除
2)将-- End of tempfile additions.语句下面的行全部删除
3)查找所有以–开始的行,把这些行删除
4)查找所有的orcl修改为isdms,所有的ORCL修改为pacsdb
5)找到CREATE CONTROLFILE REUSE DATABASE…语句,将其中的REUSE修改为SET
6)找到RECOVER DATABASE USING BACKUP CONTROLFILE语句,将其用双横线(–)注释掉
sqlplus / as sysdba;
create pfile from spfile;
exit
___________________________________
rm lkYJHISDB
cd $ORACLE_BASE/admin
mv yjhisdb pacsdb
cd pacsdb/pfile
vim init.ora.10192020141345 改成pacsdb
cd $ORACLE_BASE/diag/rdbms
mv yjhisdb pacsdb
cd pacsdb
rm -rf yjpacsdb
cd $ORACLE_BASE/fast_recovery_area
mv yjhisdb pacsdb
mv YJHISDB PACSDB
cd pacsdb
rm -rf control02.ctl
cd $ORACLE_BASE/oradata
mv yjhisdb pacsdb
cd pacsdb
rm -rf control01.ctl
cd $ORACLE_HOME/network/admin
vim tnsnames.ora
sqlplus / as sysdba;
@/u01/app/oracle/diag/rdbms/pacsdb/pacsdb/trace/pacsdb.sql
select open_mode from v$database;
show parameter name;
exit
lsnrctl start
___________________________________