您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“oracle 11g如何修改數據庫名字和實例名字”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“oracle 11g如何修改數據庫名字和實例名字”這篇文章吧。
第一階段:改sid
1、登錄數據庫查看先前的sid,總共三步,
[javascript] view plain copy print?
[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] view plain copy print?
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換成test,大部分情況其實就一條。----這幾步不需要管的。
[sql] view plain copy print?
[oracle@localhost ~]$ vim /etc/oratab
4、更改oracle用戶的 .bash_profile文件,把orcl改成test
[sql] view plain copy print?
[oracle@localhost ~]$ vim .bash_profile
5、使改好的.bash_profile文件生效
[sql] view plain copy print?
[oracle@localhost ~]$ . .bash_profile
7、查看系統環境變量
[sql] view plain copy print?
[oracle@localhost ~]$ env | grep ORACLE
ORACLE_UNQNAME=test
ORACLE_SID=test
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
效果已經生成。
8、進入$ORACLE_HOME/dbs查看目錄,看那些有orcl,改成test
[sql] view plain copy print?
[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>> test,ORCL>>test,命令如下:
[sql] view plain copy print?
[oracle@localhost dbs]$ mv hc_orcl.dat hc_test.dat
[oracle@localhost dbs]$ mv orapworcl orapwtest
[oracle@localhost dbs]$ mv lkORCL lkTEST
[oracle@localhost dbs]$ mv peshm_orcl_0/ peshm_test_0/
[oracle@localhost dbs]$ mv spfileorcl.ora spfiletest.ora
10、重行生成密碼文件,并查看
[sql] view plain copy print?
[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 orapwtest
11、登錄數據庫,并查看實例名字,結果表明sid已由orcl變成test了
[sql] view plain copy print?
[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
--------------------------------------------------------------------------------
test
第二部分:不用退出登錄,接著開始第二部分,更改數據庫名dbname
2.1備份控制文件
[sql] view plain copy print?
SQL> alter database backup controlfile to trace resetlogs;
Database altered.
2.2關閉并退出數據庫
[sql] view plain copy print?
SQL>
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/ORCL/test/trace ###告警日志里面 ,注意rdbms后面應該是ORCL,因為數據庫名字還沒有改變。
[sql] view plain copy print?
[oracle@localhost trace]$ ls -lrt
總計 80
-rw-r----- 1 oracle oinstall 256 10-01 17:03 test_ora_5286.trm
-rw-r----- 1 oracle oinstall 14393 10-01 17:03 test_ora_5286.trc
-rw-r----- 1 oracle oinstall 68 10-01 17:03 test_mman_5334.trm
-rw-r----- 1 oracle oinstall 852 10-01 17:03 test_mman_5334.trc
-rw-r----- 1 oracle oinstall 61 10-01 17:03 test_cjq0_5437.trm
-rw-r----- 1 oracle oinstall 993 10-01 17:03 test_cjq0_5437.trc
-rw-r----- 1 oracle oinstall 82 10-01 17:04 test_dbrm_5328.trm
-rw-r----- 1 oracle oinstall 1172 10-01 17:04 test_dbrm_5328.trc
-rw-r----- 1 oracle oinstall 90 10-01 17:05 test_vktm_5320.trm
-rw-r----- 1 oracle oinstall 1233 10-01 17:05 test_vktm_5320.trc
-rw-r----- 1 oracle oinstall 72 10-01 17:05 test_vkrm_5439.trm
-rw-r----- 1 oracle oinstall 996 10-01 17:05 test_vkrm_5439.trc
-rw-r----- 1 oracle oinstall 174 10-01 17:05 test_ora_5419.trm
-rw-r----- 1 oracle oinstall 5894 10-01 17:05 test_ora_5419.trc
-rw-r----- 1 oracle oinstall 5969 10-01 17:05 alert_test.log
[oracle@localhost trace]$ vim alert_test.log
[sql] view plain copy print?
可以在 alter_test.log里找到contolfile的備份trc,<em>sid_</em>ora_nnnn.trc 最新的一個就是。
alter_test.log里面有這樣一行字樣,告訴你哪個是控制備份文件
[sql] view plain copy print?
Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/orcl/test/trace/test_ora_5419.trc
2.5復制一份
[sql] view plain copy print?
[oracle@localhost trace]$ cp test_ora_5419.trc test.sql
2.6編輯 test.sql,也就是test_ora_5419.trc的復制品。
1)查找STARTUP NOMOUNT語句,將這一行上面的所有行都刪除
2)查找所有以--開始的行,把這些行刪除
3)查找所有的orcl修改為test,所有的ORCL修改為test ###這個步驟不做也可以,做的目的就是為了符合規矩,實際上控制文件數據文件的目錄是可以隨便起的。
4)找到CREATE CONTROLFILE REUSE DATABASE...語句,將其中的REUSE修改為SET
5)找到RECOVER DATABASE USING BACKUP CONTROLFILE語句,將其用雙橫線(--)注釋掉
結果如下:
[sql] view plain copy print?
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "test" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/test/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/test/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/test/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/test/system01.dbf',
'/u01/app/oracle/oradata/test/sysaux01.dbf',
'/u01/app/oracle/oradata/test/undotbs01.dbf',
'/u01/app/oracle/oradata/test/users01.dbf',
'/u01/app/oracle/oradata/test/example01.dbf'
CHARACTER SET ZHS16GBK
;
--RECOVER DATABASE USING BACKUP CONTROLFILE
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/test/temp01.dbf'
SIZE 30408704 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
2.7生成配置文件
[sql] view plain copy print?
[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 from spfile;
File created.
SQL> exit
Disconnected
2.8目錄更改,這里和oracle 10g不一樣,要注意。
[sql] view plain copy print?
[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/ test/
[oracle@localhost flash_recovery_area]$ mv ORCL/ test/
[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/ test/
[oracle@localhost oradata]$ ls
test
[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/ test/
[oracle@localhost rdbms]$ ls
test
[oracle@localhost rdbms]$ cd test
[oracle@localhost test]$ ls
i_1.mif test orcl
[oracle@localhost test]$ 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/ test/
[oracle@localhost admin]$ ls
test
[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刪除的控制文件。
[sql] view plain copy print?
[oracle@localhost oradata]$ cd test/
[oracle@localhost test]$ ls
control01.ctl redo01.log redo03.log system01.dbf undotbs01.dbf
example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
[oracle@localhost test]$ mv control01.ctl control01.ctl.aaa
[oracle@localhost test]$ ls
control01.ctl.aaa redo01.log redo03.log system01.dbf undotbs01.dbf
example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
[oracle@localhost test]$ cd ..
[oracle@localhost oradata]$ ls
test
[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
test test
[oracle@localhost flash_recovery_area]$ cd test/
[oracle@localhost test]$ ls
control02.ctl
[oracle@localhost test]$ mv control02.ctl control02.ctl.aaa
2.10登錄oracle生成spfile文件
[sql] view plain copy print?
[oracle@localhost test]$ 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/inittest.ora';
File created.
2.11調用前面步驟修改好的test.sql,目的是生成鏈接控制文件等
[sql] view plain copy print?
SQL> @/u01/app/oracle/diag/rdbms/test/test/trace/test.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] view plain copy print?
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 test
db_unique_name string test
global_names boolean FALSE
instance_name string test
lock_name_space string
log_file_name_convert string
service_names string test.localdomain
SQL> select name from v$database;
NAME
---------
test
SQL>
上表明更改成功。
以上是“oracle 11g如何修改數據庫名字和實例名字”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。