• 技术文章 >数据库 >Oracle

    oracle怎么修改db name

    长期闲置长期闲置2022-05-25 18:02:16原创188

    修改方法:1、将“pfile.ora”参数文件中的“db_name”值修改为指定值并保存;2、将原环境变量中的sid修改为新的“db_name”值;3、重启数据库后,使用resetlogs方式打开数据即可完成修改。

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

    oracle怎么修改db name

    整体操作步骤如下:

    修改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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:oracle怎么删除schema 下一篇:oracle中like查询语句怎么用
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• oracle怎么使外键失效• Oracle的12505错误怎么解决• oracle怎么修改sequence• 什么是oracle表分区• oracle怎么解决1067错误
    1/1

    PHP中文网