登录  /  注册
首页 > 数据库 > Oracle > 正文

oracle怎么修改db name

WBOY
发布: 2022-05-25 18:02:16
原创
3246人浏览过
修改方法:1、将“pfile.ora”参数文件中的“db_name”值修改为指定值并保存;2、将原环境变量中的sid修改为新的“db_name”值;3、重启数据库后,使用resetlogs方式打开数据即可完成修改。

oracle怎么修改db name

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么修改db name

整体操作步骤如下:

  • 生成重建空间语句相关的trace,以及生成数据库实例的pfile文件

  • 关闭数据库

  • 修改参数文件内容

  • 执行创建控制文件的语句并启动数据库到mount

  • 打开数据库到open状态

  • 查看数据库的名称

修改db_name过程中涉及到的隐含内容

创建控制文件过程中的参数区别

redolog损坏的情况下,恢复数据库的方法

物理修改数据库文件位置之后,快速的恢复数据库的方法

上面内容只做修改名称演示,其他场景请参考另外技术文章。

修改过程

现数据库的db_name信息如下:

60.png

1、生成参数文件:

SQL> create pfile='/home/oracle/pfile.ora' from spfile;
File created.
登录后复制

将生成出来参数文件(pfile.ora)的db_name 修改为 testdb

*.db_name='testdb'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=4621074432
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=testdbXDB)'
登录后复制

将修改完的pfile文件生成为新的spfile

61.png

生成控制文件的trace文件

为session加上标记,方便查找trace文件

alter session set tracefile_identifier='bak_control';
登录后复制

将当前controlfile文件的创建语句放到了trace文件中

alter database backup controlfile to trace;
登录后复制

获得第二步中生成的trace文件的路径

select tracefile from v$process where addr in (select paddr from v$session where sid in (select sid from v$mystat));
登录后复制

关闭数据库

shutdown immediate;
登录后复制

2、修改参数文件的内容和操作系统环境变量

将原来环境变量中的SID修改为新的名称testdb

使用创建控制文件的语句启动数据库

62.png

实际执行的过程中,需要将上面的reuse 替换成 set ,将NORESETLOGS 修改为 RESETLOGS ,实际执行过程如下:

63.png

具体参数说明如下:

| 参数名称 | 参数说明 | | ------ | ------ | | set | 一般是更改数据库名字 | | reuse | 重新创建控制文件 | | noresetlogs | 打开数据库的时候不用resetlogs | | resetlogs | 打开数据库的时候要求resetlogs |

3、打开数据库到open状态

必须用resetlogs 的方式打开数据,否则报错。

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> 
SQL> 
SQL> alter database open resetlogs;
Database altered.
SQL>
登录后复制

结果验证

64.png

过程总结

建议避免在生产环境使用该方法修改数据库名称

使用场景为不同的业务需要不同的环境名称,做完异机恢复之后,按照环境要求修改相应的名称。

整个过程难度不大,但是需细心,尤其是参数文件的修改和控制文件的重新生成

推荐教程:《Oracle视频教程

以上就是oracle怎么修改db name的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号