服务器是Oracle数据库11G Enterprise Edition版本11.1.0.7.0-64bit

是否有一种简单快捷的方法可以更改服务器上测试数据库的SID?

对我来说,数据库的丢弃和重新创建是一个选择。但是我正在寻找需要更少时间的东西。

在客户端tnsnames.ora中分配名称的另一个选项容易出现错误,因为它们没有集中管理。

与在SQL-Server上删除和创建数据库的时间相比,创建新的Oracle数据库所需的时间过高。在SQL-Server上,您可以重命名SQL-Server实例。 [通常,您会重命名SQL-Server正在运行的服务器,并遇到一些问题,直到您重命名服务器)。

有帮助吗?

解决方案

由于9i dbNewid实用程序(NID)可用于更改数据库名称(并在需要时dbid)。如果仅更改数据库名称,则不需要重置:

  • 1个启动数据库在安装模式下

    shutdown immediate
    startup mount
    
  • 2运行NID更改数据库名称:

    nid target=sys/syspassword@dbtns dbname=newname setname=YES
    
  • 3关闭并在安装模式下启动数据库:

    shutdown immediate
    startup mount
    
  • 4更改 db_name 在SPFILE(或在Pfile编辑文件中):

    alter system set db_name=newname scope=spfile;
    
  • 5重新创建密码文件:

    orapwd file=orapwnewname password=syspassword
    
  • 6启动数据库

    startup
    
  • 7个职位重命名步骤:

    change SID in listener.ora
    correct tnsnames.ora
    remove old trace directories
    change /etc/oratab (UNIX) or rename windows service using oradim
    

其他提示

您需要重新创建控制文件

这个 邮政 Kaunain Ahmed描述了必要的步骤:

  1. 做:更改数据库备份控制文件以跟踪;
  2. 从背景 - 降点末端痕迹file提取“创建ControlFile”命令。
  3. 关闭DB。
  4. 更改init.ora中的db-name,然后更改init.ora
  5. 更改/etc/oratab或/var/var/opt/oracle/oratab中的SID
  6. 更改环境中的SID并采购
  7. 启动数据库到Mount-STATUS启动安装座
  8. 通过位置2的声明重新创建控制文件。
  9. 进行ALTE数据库重命名global_name至10.更改TNS-CONFIGURATION

线程中还有其他工具。

这是一个 邮政 通过AskTom,哪个参考过程更详细。虽然它是10克,但仍应工作。

是的,您可以,这也很容易。

在Oracle中,Oracle_SID只是Oracle实例的名称,与DBNAME无关。具有名称产品的数据库,可以使用具有任何有效名称的实例来服务。 SID和DBNAME之间没有直接的连接。此连接是使用参数建立的。

参数文件被标识为init $ {oracle_sid} .ora或spfile $ {oracle_sid} .ora参数文件是参数db_name。这是建立Oracle实例与数据库之间的连接的地方。

因此,您无需重新创建控制文件,而无需使用NID,只需确保您的参数文件具有正确的名称,放下旧的Oracle实例并在设置ORACLE_SID之后启动新的Oracle实例到新的Oracle实例名称。参数文件和密码文件均使用$ {ORACLE_SID}作为其名称的一部分找到。

仅在DBNAME必须更改时需要重新创建控制文件。需要在克隆操作后需要更改dbid以防止可能损害源数据库备份的事故。

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top