Oracle 修改oracle数据库名 by:授客 QQ:1033553122 1.确保你有个可用于数据库恢复的,完整的数据库备份 2.确保数据库处于mount,非open状态,并且在加载前先以immediate方式关闭。如: SQL>SHUTDOWN IMMEDIATE SQL>STARTUP MOUNT 3.命令行状态下,指定一个具有SYSDBA权限的合法用户,必须指定数据库名DBNAME和SETNAME参数。例子: % nid TARGET=SYS DBNAME=new_dbname SETNAME=YES DBNEWID在尝试往文件读写前会执行控制文件的文件头header检查,然后给出确认提醒,改变控制文件中的数据库名,关闭数据库,退出,例子: Control Files in database:
The following datafiles are offline clean:
These files must be writable by this utility.
The following datafiles are read-only:
These files must be writable by this utility.
Changing database name from PROD to TEST_DB
Database name changed to TEST_DB. Modify parameter file and generate a new password file before restarting. Successfully changed database name. DBNEWID - Completed successfully. 如果检查失败,那么DBNEWID中断并且停止与目标数据库的交互。你可以打开数据库,修复错误,然后继续DBNEWID操作或者不再继续。 4.设置初始参数文件PFILE中的DB_NAME初始化参数值为新的数据库名 注:DBNEWID功能不改变服务器参数文件SPFILE。因此,如果你用SPFILE来启动数据库,那么你必须由服务器参数文件SPFILE重新创建初始化参数文件,移除服务器参数文件,改变在初始化参数文件PFILE中的DB_NAME参数值,然后重新由PFILE创建SPFILE 5.创建一个新的密码文件 6.启动数据库 STARTUP 因为你只改变了数据库名,不是数据库ID,因此当你启动数据库时没必要用RESETLOGS选项。这意味着你之前所有的备份都是可用的。 参考资料:http://docs.oracle.com/cd/E16655_01/server.121/e17639/dbnewid.htm#i1004734 用ORAPWD创建密码文件 语法: orapwd FILE=filename [ENTRIES=numusers] [FORCE={y|n}] [ASM={y|n}] [DBUNIQUENAME=dbname] [FORMAT={12|legacy}] [SYSBACKUP={y|n}] [SYSDG={y|n}] [SYSKM={y|n}] [DELETE={y|n}] [INPUT_FILE=input-fname]
ORAPWD命令行参数描述 FILE 这个参数设置要创建密码文件的名字。这是必须参数. 如果你指定位于Oracle ASM磁盘组,那么密码文件自动在集群结点中共享。当你用一个Oracle ASM磁盘组来存储密码文件并且没应用Oracle Manged文件,那么必须指定文件的全路径。当使用Oracle Managed Files,全路径是必须的。 如果不指定位于Oracle ASM磁盘组,那么密码文件名由操作系统来决定。有些操作系统要求密码文件有指定的格式并位于指定的位置。有的操作系统允许使用环境变量来指定密码文件的名字和位置。 以下表列出了不同平台上密码文件名字要求和位置要求
如平台要求一个环境变量被设置为密码文件路径,那该平台上的Oracle实时应用集群环境中,每个实例的该环境变量必须指定同一个密码文件。.
对于一个 policy-managed Oracle RAC
数据库或者一个有db_unique_name_n(n为一个数字)形式的ORACLE_SID的Oracle RAC One Node
数据库,密码文件在使用前缀:O 注意: 1.保护你的密码文件和标识密码文件位置的环境变量对数据库系统的安全相当的重要。 2.等号左右无空格 …… 更多信息请参考以下连接 http://docs.oracle.com/cd/E16655_01/server.121/e17636/dba.htm#i1006814 实例:把数据库名改成Lai_Yu.1 C:\Documents and Settings\Administrator.HAIXIA-6C5F59BA>sqlplus sys/abc123 as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期五 1月 3 12:28:29 2014 Copyright (c) 1982, 2010,
Oracle. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount ORACLE 例程已经启动。 Total System Global Area Fixed Size Variable Size Database Buffers Redo Buffers 数据库装载完毕。 SQL> C:\Documents and Settings\Administrator.HAIXIA-6C5F59BA>nid TARGET=SYS DBNAME=Lai_Yu.1 SETNAME=YES DBNEWID: Release 11.2.0.1.0 - Production on 星期五 1月 3 13:06:43 2014 Copyright (c) 1982, 2009, Oracle
and/or its affiliates. 口令: 已连接数据库 MYORCL (DBID=241062891) 已连接服务器版本 11.2.0 数据库中的控制文件数: 是否将数据库 MYORCL 的数据库名更改为 LAI_YU.1? (Y/[N]) => y 操作继续进行 将数据库名从 MYORCL 更改为 LAI_YU.1 数据库名已更改为 LAI_YU.1。 修改参数文件并在重新启动前生成新的口令文件。 已成功更改数据库名。 DBNEWID - 已成功完成。 更改初始化参数文件中的db_name值为你要的新的数据库名 估计是文件类型被关联导致,,正常的显示如下 SQL> create spfile from pfile='C:\app\Administrator\admin\myorcl\pfile\init.ora'; create spfile from pfile='C:\app\Administrator\admin\myorcl\pfile\init.ora' * 第 1 行出现错误: ORA-03113: 通信通道的文件结尾 进程 ID: 3552 会话 ID: 125 序列号: 5 解决方法:退出sqlplus,再登录sqlplus,如下 SQL> exit 从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options 断开 C:\Documents and Settings\Administrator.HAIXIA-6C5F59BA>sqlplus sys/abc123 as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期五 1月 3 13:47:06 2014 Copyright (c) 1982, 2010,
Oracle. 已连接到空闲例程。 已连接到空闲例程。 SQL> create spfile from pfile='C:\app\Administrator\admin\myorcl\pfile\init.ora'; create spfile from pfile='C:\app\Administrator\admin\myorcl\pfile\init.ora' * 第 1 行出现错误: ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file 'C:\APP\ADMINISTRATOR\ADMIN\MYORCL\PFILE\INIT.ORA' 解决方法:加上类型 SQL> create spfile from pfile='C:\app\Administrator\admin\myorcl\pfile\init.ora.611201394741'; 文件已创建。 C:\Documents and Settings\Administrator.HAIXIA-6C5F59BA>orapwd file=C:\app\Administrator\product\11.2.0\dbhome_1\database\PWDmyorcl.ora ENTRIES=30 FORCE=y Enter password for SYS: C:\Documents and
Settings\Administrator.HAIXIA-6C5F59BA> SQL>startup ORACLE 例程已经启动。 Total System Global Area Fixed Size Variable Size Database Buffers Redo Buffers 数据库装载完毕。 数据库已经打开。 SQL> |
|
来自: test资料库 > 《Oracle 精华文章》