`
sjk2013
  • 浏览: 2182951 次
文章分类
社区版块
存档分类
最新评论

oracle 11g 更改sid和dbname oracle 11g 数据库改名

 
阅读更多

环境:

Windows XP +VM 7.1.3 + Red hat linux enterprise 5.5 + Oracle 11g2

安装好的oracle 11g2改默认sid orcl 和默认数据库名ORCL

分两个阶段描述,第一阶段改sid,第二阶段改dbname

下面描述详细步骤

第一阶段:改sid

1、登录数据库查看先前的sid,总共三步,大家看的懂得,不懂得跟帖提问。

[oracle@localhost ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Sat Oct 1 16:51:35 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance
SQL> startup
ORACLE instance started.

Total System Global Area  539848704 bytes
Fixed Size                  1337748 bytes
Variable Size             360711788 bytes
Database Buffers          171966464 bytes
Redo Buffers                5832704 bytes
Database mounted.
Database opened.
SQL> select instance from v$thread ;

INSTANCE
--------------------------------------------------------------------------------
orcl

2、关闭数据库

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


3、编辑/etc/oratab文件,把所有orcl换成nihao,大部分情况其实就一条。----这几步不需要管的。

[oracle@localhost ~]$ vim /etc/oratab 


4、更改oracle用户的 .bash_profile文件

[oracle@localhost ~]$ vim .bash_profile


5、使改好的.bash_profile文件生效

[oracle@localhost ~]$ . .bash_profile

7、查看系统环境变量

[oracle@localhost ~]$ env |grep ORACLE
ORACLE_UNQNAME=nihao
ORACLE_SID=nihao
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1


效果一生成。

8、进入$ORACLE_HOME/dbs查看目录,看那些有orcl

[oracle@localhost ~]$ cd $ORACLE_HOME/dbs
[oracle@localhost dbs]$ ll
总计 24
-rw-rw---- 1 oracle oinstall 1544 10-01 16:55 hc_orcl.dat
-rw-r--r-- 1 oracle oinstall 2851 2009-05-15 init.ora
-rw-r----- 1 oracle oinstall   24 09-28 20:57 lkORCL
-rw-r----- 1 oracle oinstall 1536 09-29 09:42 orapworcl
drwx------ 2 oracle oinstall 4096 09-28 20:55 peshm_orcl_0
-rw-r----- 1 oracle oinstall 2560 10-01 16:53 spfileorcl.ora

9、更改文件名orcr>> nihao,ORCL>>NIHAO,命令如下:

[oracle@localhost dbs]$ mv hc_orcl.dat hc_nihao.dat 
[oracle@localhost dbs]$ mv orapworcl orapwnihao
[oracle@localhost dbs]$ mv lkORCL lkNIHAO
[oracle@localhost dbs]$ mv peshm_orcl_0/ peshm_nihao_0/
[oracle@localhost dbs]$ mv spfileorcl.ora spfilenihao.ora 

10、重行生成密码文件,并查看

[oracle@localhost dbs]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=sys entries=5 force=y
[oracle@localhost dbs]$ ls -lrt orap*
-rw-r----- 1 oracle oinstall 2048 10-01 17:02 orapwnihao


11、登录数据库,并查看实例名字,结果表明sid已由orcl变成nihao了

[oracle@localhost dbs]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Sat Oct 1 17:03:25 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  539848704 bytes
Fixed Size                  1337748 bytes
Variable Size             327157356 bytes
Database Buffers          205520896 bytes
Redo Buffers                5832704 bytes
Database mounted.
Database opened.
SQL> select instance from v$thread
  2  ;

INSTANCE
--------------------------------------------------------------------------------
nihao



不用退出登录,接着开始第二部分,更改数据库名dbname

2.1备份控制文件

SQL>  alter database backup controlfile to trace resetlogs;

Database altered.

2.2关闭并退出数据库

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

2.3 orcale 11.2g的控制文件的备份目录为
/u01/app/oracle/diag/rdbms/nihao/nihao/trace

[oracle@localhost trace]$ ls -lrt
总计 80
-rw-r----- 1 oracle oinstall   256 10-01 17:03 nihao_ora_5286.trm
-rw-r----- 1 oracle oinstall 14393 10-01 17:03 nihao_ora_5286.trc
-rw-r----- 1 oracle oinstall    68 10-01 17:03 nihao_mman_5334.trm
-rw-r----- 1 oracle oinstall   852 10-01 17:03 nihao_mman_5334.trc
-rw-r----- 1 oracle oinstall    61 10-01 17:03 nihao_cjq0_5437.trm
-rw-r----- 1 oracle oinstall   993 10-01 17:03 nihao_cjq0_5437.trc
-rw-r----- 1 oracle oinstall    82 10-01 17:04 nihao_dbrm_5328.trm
-rw-r----- 1 oracle oinstall  1172 10-01 17:04 nihao_dbrm_5328.trc
-rw-r----- 1 oracle oinstall    90 10-01 17:05 nihao_vktm_5320.trm
-rw-r----- 1 oracle oinstall  1233 10-01 17:05 nihao_vktm_5320.trc
-rw-r----- 1 oracle oinstall    72 10-01 17:05 nihao_vkrm_5439.trm
-rw-r----- 1 oracle oinstall   996 10-01 17:05 nihao_vkrm_5439.trc
-rw-r----- 1 oracle oinstall   174 10-01 17:05 nihao_ora_5419.trm
-rw-r----- 1 oracle oinstall  5894 10-01 17:05 nihao_ora_5419.trc
-rw-r----- 1 oracle oinstall  5969 10-01 17:05 alert_nihao.log
[oracle@localhost trace]$ vim alert_nihao.log 
可以在 alter_nihao.log里找到contolfile的备份trc,sid_ora_nnnn.trc 最新的一个就是。

alter_nihao.log里面有这样一行字样,告诉你哪个是控制备份文件

Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/orcl/nihao/trace/nihao_ora_5419.trc


2.5复制一份

[oracle@localhost trace]$ cp nihao_ora_5419.trc nihao.sql


2.6编辑 nihao.sql,也就是nihao_ora_5419.trc的复制品。


1)查找STARTUP NOMOUNT语句,将这一行上面的所有行都删除
2)查找所有以--开始的行,把这些行删除
3)查找所有的orcl修改为nihao,所有的ORCL修改为NIHAO
4)找到CREATE CONTROLFILE REUSE DATABASE...语句,将其中的REUSE修改为SET
5)找到RECOVER DATABASE USING BACKUP CONTROLFILE语句,将其用双横线(--)注释掉

结果如下:

STARTUP NOMOUNT
CREATE CONTROLFILE SET  DATABASE "NIHAO" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/nihao/redo01.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '/u01/app/oracle/oradata/nihao/redo02.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 '/u01/app/oracle/oradata/nihao/redo03.log'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/nihao/system01.dbf',
  '/u01/app/oracle/oradata/nihao/sysaux01.dbf',
  '/u01/app/oracle/oradata/nihao/undotbs01.dbf',
  '/u01/app/oracle/oradata/nihao/users01.dbf',
  '/u01/app/oracle/oradata/nihao/example01.dbf'
CHARACTER SET ZHS16GBK
;
--RECOVER DATABASE USING BACKUP CONTROLFILE
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/nihao/temp01.dbf'
     SIZE 30408704  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;


2.7生成配置文件

[oracle@localhost trace]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Sat Oct 1 17:12:48 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create pfile='?/dbs/initnihao.ora' from spfile;

File created.

SQL> exit
Disconnected

2.8目录更改,这里和oracle 10g不一样,要注意。


[oracle@localhost ~]$ cd /u01/app/oracle/
[oracle@localhost oracle]$ ls
admin  cfgtoollogs  checkpoints  diag  flash_recovery_area  oradata  product
[oracle@localhost oracle]$ cd flash_recovery_area/
[oracle@localhost flash_recovery_area]$ ls
orcl  ORCL
[oracle@localhost flash_recovery_area]$ mv orcl/ nihao/
[oracle@localhost flash_recovery_area]$ mv ORCL/ NIHAO/
[oracle@localhost flash_recovery_area]$ cd ..
[oracle@localhost oracle]$ ls
admin  cfgtoollogs  checkpoints  diag  flash_recovery_area  oradata  product
[oracle@localhost oracle]$ cd oradata/
[oracle@localhost oradata]$ ls
orcl
[oracle@localhost oradata]$ mv orcl/ nihao/
[oracle@localhost oradata]$ ls
nihao
[oracle@localhost oradata]$ cd ..
[oracle@localhost oracle]$ ls
admin  cfgtoollogs  checkpoints  diag  flash_recovery_area  oradata  product
[oracle@localhost oracle]$ cd diag/
[oracle@localhost diag]$ ls
rdbms  tnslsnr
[oracle@localhost diag]$ cd rdbms/
[oracle@localhost rdbms]$ ls
orcl
[oracle@localhost rdbms]$ mv orcl/ nihao/
[oracle@localhost rdbms]$ ls
nihao
[oracle@localhost rdbms]$ cd nihao
[oracle@localhost nihao]$ ls
i_1.mif  nihao  orcl
[oracle@localhost nihao]$ cd ..
[oracle@localhost rdbms]$ cd ..
[oracle@localhost diag]$ ls
rdbms  tnslsnr
[oracle@localhost diag]$ cd ..
[oracle@localhost oracle]$ cd admin/
[oracle@localhost admin]$ ls
orcl
[oracle@localhost admin]$ cd orcl/
[oracle@localhost orcl]$ ls
adump  dpdump  pfile
[oracle@localhost orcl]$ cd ..
[oracle@localhost admin]$ mv orcl/ nihao/
[oracle@localhost admin]$ ls
nihao
[oracle@localhost admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sat Oct 1 17:18:02 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL>                                                 


2.9删除的控制文件。

[oracle@localhost oradata]$ cd nihao/
[oracle@localhost nihao]$ ls
control01.ctl  redo01.log  redo03.log    system01.dbf  undotbs01.dbf
example01.dbf  redo02.log  sysaux01.dbf  temp01.dbf    users01.dbf
[oracle@localhost nihao]$ mv control01.ctl control01.ctl.aaa
[oracle@localhost nihao]$ ls
control01.ctl.aaa  redo01.log  redo03.log    system01.dbf  undotbs01.dbf
example01.dbf      redo02.log  sysaux01.dbf  temp01.dbf    users01.dbf
[oracle@localhost nihao]$ cd ..
[oracle@localhost oradata]$ ls
nihao
[oracle@localhost oradata]$ cd..
bash: cd..: command not found
[oracle@localhost oradata]$ cd ..
[oracle@localhost oracle]$ ls
admin  cfgtoollogs  checkpoints  diag  flash_recovery_area  oradata  product
[oracle@localhost oracle]$ cd flash_recovery_area/
[oracle@localhost flash_recovery_area]$ ls
nihao  NIHAO
[oracle@localhost flash_recovery_area]$ cd nihao/
[oracle@localhost nihao]$ ls
control02.ctl
[oracle@localhost nihao]$ mv control02.ctl control02.ctl.aaa

2.10登录oracle生成spfile文件

[oracle@localhost nihao]$  sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sat Oct 1 17:23:34 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create spfile from pfile='?/dbs/initnihao.ora';

File created.

2.11调用前面步骤修改好的nihao.sql,目的是生成链接控制文件等

SQL> @/u01/app/oracle/diag/rdbms/nihao/nihao/trace/nihao.sql
ORACLE instance started.

Total System Global Area  539848704 bytes
Fixed Size                  1337748 bytes
Variable Size             327157356 bytes
Database Buffers          205520896 bytes
Redo Buffers                5832704 bytes

Control file created.


Database altered.


Tablespace altered.


2.12查看结果

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

SQL> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
db_name                              string      nihao
db_unique_name                       string      nihao
global_names                         boolean     FALSE
instance_name                        string      nihao
lock_name_space                      string
log_file_name_convert                string
service_names                        string      nihao.localdomain
SQL> select name from v$database;

NAME
---------
NIHAO

SQL> 


上表明更改成功。

分享到:
评论

相关推荐

    数据库名实例名sid的区别

    在ORACLE7、 8数据库中只有数据库名(db_name)和数据库实例名(instance_name)。在ORACLE8i、9i中出现了新的参数,即数据库域名 (db_domain)、服务名(service_name)、以及操作系统环境变量(ORACLE_SID)。这些都存在于...

    oracle 11g localhost可以访问,ip不能访问解决方法

    ORACLE 11G 安装后只能localhost 访问本机,不能用IP地址被访问。在监听文件 listener.ora 中加入如下: (SID_DESC = (GLOBAL_DBNAME = orcl01) (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1) ...

    使用DBNEWID Utility更改数据库dbid和dbname

    介绍了使用DBNEWID Utility更改Oracle 数据库dbid和dbname的方法

    Oracle数据库、SQL

    一、 数据库介绍 1 1.1表是数据库中存储数据的基本单位 1 1.2数据库标准语言 1 1.3数据库(DB) 1 1.4数据库种类 1 1.5数据库中如何定义表 1 1.6 create database dbname的含义 1 1.7安装DBMS 1 1.8宏观上是数据-->...

    Oracle 主要配置文件介绍

    如果设置为 N 表示不通过 dbstart 和 dbshut 启动和关闭实例数据库 CAMS 系统要求在 安装完 ORACLE 后要求将该参数修改为 Y 以保证 ORACLE 数据库自启动 和关闭 1.2.3 数据库实例初始化...

    linux系统给oracle数据库增加新的实例.pdf

    cd $ORACLE_HOME/dbs cp initorcl.ora initorcl.ora #复制⼀个原有的ora⽂件 vim initorcl.ora #修改为响应信息 ORACLE_BASE要改为绝对路径 不然会报错 3、创建密码⽂件 orapwd file=$ORACLE_BASE/product/10.2.0/db...

    SQL访问ORACLE

    配置过程记录下来也供大家参考。...ORADB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTIP)(PORT = 1521)) (CONNECT_DATA = (SID = DBNAME)) ) 4. 确保主机可以通过SQLPlus 访问远程Oracle 数据库

    Oracle数据库启动和关闭方式

    一、Oracle数据库几种启动方式  1、startup nomount  非安装启动,这种方式下启动可执行:重建控制文件、重建数据库,读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。  2...

    Oracle客户端连接Oracle服务器.docx

    本章主要讲解oracle客户端连接oracle效劳器,主要有以下内容: 1.配置本地net效劳名配置 2.用sqlplus连接; 3.用toad连接; 一、配置本地net效劳名 首先说明我们的效劳器的IP为60.220.246.53,oracle的SID为czdb。 ...

    linux系统给oracle数据库增加新的实例(1).pdf

    cd $ORACLE_HOME/dbs cp initorcl.ora initorcl.ora #复制⼀个原有的ora⽂件 vim initorcl.ora #修改为响应信息 ORACLE_BASE要改为绝对路径 不然会报错 3、创建密码⽂件 orapwd file=$ORACLE_BASE/product/10.2.0/db...

    Oracle 数据库备份与恢复总结(导出与导入装库与卸库)

    exp和imp和用法。 $ exp user/pwd@dbname file=/oracle/test.dmp full=y

    详解Linux系统中Oracle数据库程序的启动和关闭方式

    在单机环境下,要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle Oracle数据库有以下几种启动方式: 1、 startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 ...

    oracle WALLET 与SSL

    oracle WALLET 与SSL 配置oracle的ssl连接 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ora10g.unimassystem.com) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = ora10g) ) ...

    解决Oracle问题的方法

    oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora 还一个在同路径下的tnsnames.ora文件,这两个文本中的一些信息要一样的。 你看看我的这两个文本文件的信息: listener.ora # listener.ora Network ...

    最全的oracle常用命令大全.txt

    ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。 数据字典里存有用户信息、用户的权限信息、...

    oracle_DB_NAME,INSATNCE_NAME,ORACLE_SID区别

    介绍oracle_DB_NAME,INSATNCE_NAME,ORACLE_SID区别

    Oracle、Mysql和SQL Server数据库连接的URL写法

    Oracle的URL 规则 驱动:oracle.jdbc.driver.OracleDriver URL:jdbc:oracle:thin:@machine_name:port:dbname 注1:machine_name:数据库所在的机器的名称; 注2:port:端口号,默认是1521 示例  Class.forName...

    oracle_dba_code_examples201012.pdf

    Part 11 Miscellaneous Oracle Database Topics _____________ 582 Part 12 PL/SQL Samples ______________________________ 596 Part 13 Appendixes__________________________________ 674 38页的部份文档 ...

    JDBC连接各种数据库字符串大全

    //orcl为数据库的SID String user="test"; String password="test"; Connection conn= DriverManager.getConnection(url,user,password); 1、SQL Server2005/2008数据库 Class.forName(...

    Oracle9个_name介绍

    本文比较系统地介绍了Oracle中的9个name,如db_name,global_dbname,db_unique_name,instance_name,SID, service_name等参数。

Global site tag (gtag.js) - Google Analytics