共計(jì) 4819 個(gè)字符,預(yù)計(jì)需要花費(fèi) 13 分鐘才能閱讀完成。
這篇文章主要介紹了如何修改 oracle 數(shù)據(jù)庫(kù)的 db_name,instace_name,sid_name,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
概念:db_name 被記錄在數(shù)據(jù)文件,日志文件和控制文件中, 可以不同于 instance_name.
sid_name 1. 主要是區(qū)別連接的數(shù)據(jù)庫(kù)
2. 在操作系統(tǒng)層面上進(jìn)行區(qū)分,當(dāng) Oracle 實(shí)例啟動(dòng)時(shí),操作系統(tǒng)上 fork 的進(jìn)程必須通過(guò)這個(gè) SID 將實(shí)例與其他實(shí)例區(qū)分開(kāi)來(lái),后臺(tái)進(jìn)程通過(guò)該 sid 表示數(shù)據(jù)庫(kù) eg: ps-ef|grep smon
3.instance_name 是數(shù)據(jù)庫(kù)中的一個(gè)重要參數(shù),一個(gè)主機(jī)中可以有相同 instance_name 的多個(gè)數(shù)據(jù)庫(kù)。
Oracle 的實(shí)例(instance)是由一塊共享內(nèi)存區(qū)域(SGA)和一組后臺(tái)進(jìn)程(background processes)共同組成;而后臺(tái)進(jìn)程正是數(shù)據(jù)庫(kù)和操作系統(tǒng)進(jìn)行交互的通道,這些進(jìn)程的名稱就是通過(guò) ORACLE_SID 決定的
數(shù)據(jù)庫(kù)名稱 db_name 實(shí)例名稱 instance_name oracle_sid
修改實(shí)例名稱
原來(lái)的實(shí)例名稱
SQL select dbid,name from v$database;
DBID NAME
———- ———
1475786014 ORCL
SQL select instance from v$thread ;
INSTANCE
——————————————————————————–
orcl
修改過(guò)程:
SQL shu immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
[root@node ~]# vi /etc/oratab
test:/u01/app/oracle/product/11.2.0/db_1:N
[oracle@node ~]$ vi .bash_profile
export ORACLE_SID=test
[oracle@node ~]$ source .bash_profile
[oracle@node ~]$ env|grep ORA
ORACLE_SID=test
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
[oracle@node ~]$ cd $ORACLE_HOME/dbs
[oracle@node dbs]$ ll
total 9544
-rw-rw—-. 1 oracle oinstall 1544 Jun 30 21:04 hc_orcl.dat
-rw-r–r–. 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r–r–. 1 oracle oinstall 935 Jun 30 18:04 initorcl.ora
-rw-r—–. 1 oracle oinstall 24 Jun 30 06:47 lkORCL
-rw-r—–. 1 oracle oinstall 1536 Jun 30 06:50 orapworcl
-rw-r—–. 1 oracle oinstall 9748480 Jun 30 18:05 snapcf_orcl.f
-rw-r—–. 1 oracle oinstall 2560 Jun 30 13:09 spfileorcl.ora
[oracle@node dbs]$ mv initorcl.ora inittest.ora
[oracle@node dbs]$ mv hc_orcl.dat hc_test.dat
[oracle@node dbs]$ mv lkORCL lkTEST
[oracle@node dbs]$ mv snapcf_orcl.f snapcf_test.f
[oracle@node dbs]$ mv spfileorcl.ora spfiletest.ora
[oracle@node dbs]$ rm -rf orapworcl
[oracle@node dbs]$ orapwd file=orapwtest password=system
SQL startup;
ORACLE instance started.
Total System Global Area 1152450560 bytes
Fixed Size 2252584 bytes
Variable Size 738197720 bytes
Database Buffers 402653184 bytes
Redo Buffers 9347072 bytes
Database mounted.
Database opened.
SQL select instance_name,status from v$instance;
INSTANCE_NAME STATUS
—————- ————
test OPEN
SQL select instance from v$thread;
INSTANCE
——————————————————————————–
test
SQL select dbid,name from v$database;
DBID NAME
———- ———
1475786014 ORCL
修改數(shù)據(jù)庫(kù)名稱
備份控制文件
SQL alter database backup controlfile to trace ;
Database altered.
more /u01/app/oracle/diag/rdbms/orcl/test/trace/test_ora_119661.trc
修改后如下
CREATE CONTROLFILE set DATABASE TEST RESETLOGS noARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 /oradata/test/redo01.log SIZE 50M BLOCKSIZE 512,
GROUP 2 /oradata/test/redo02.log SIZE 50M BLOCKSIZE 512,
GROUP 3 /oradata/test/redo03.log SIZE 50M BLOCKSIZE 512
— STANDBY LOGFILE
DATAFILE
/oradata/test/system01.dbf ,
/oradata/test/sysaux01.dbf ,
/oradata/test/undotbs01.dbf ,
/oradata/test/users01.dbf ,
/oradata/test/fan.dbf
CHARACTER SET AL32UTF8
;
(查找所有的 orcl 修改為 test,所有的 ORCL 修改為 test, 找到 CREATE CONTROLFILE REUSE DATABASE… 語(yǔ)句,將其中的 REUSE 修改為 SET
SQL shu immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL create pfile from spfile;
修改 inittest.ora
*.audit_file_dest= /u01/app/oracle/admin/test/adump
*.audit_trail= NONE
*.compatible= 11.2.0.4.0
*.control_files= /oradata/test/control01.ctl
*.db_block_size=8192
*.db_domain=
*.db_name= test
*.db_recovery_file_dest= /u01/app/oracle/fast_recovery_area
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest= /u01/app/oracle
*.dispatchers= (PROTOCOL=TCP) (SERVICE=testXDB)
*.log_archive_format= %t_%s_%r.dbf
*.memory_target=1150287872
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile= EXCLUSIVE
*.undo_tablespace= UNDOTBS1
更換目錄
/u01/app/oracle/admin/orcl/adump
/oradata/orcl/
將 orcl 更改為 test (控制文件中的目錄和操作系統(tǒng)保持一致)
sql create spfile from pfile;
sql startup nomount;
sql
SQL CREATE CONTROLFILE set DATABASE TEST RESETLOGS noARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 /oradata/test/redo01.log SIZE 50M BLOCKSIZE 512,
9 GROUP 2 /oradata/test/redo02.log SIZE 50M BLOCKSIZE 512,
10 GROUP 3 /oradata/test/redo03.log SIZE 50M BLOCKSIZE 512
11 — STANDBY LOGFILE
12 DATAFILE
13 /oradata/test/system01.dbf ,
14 /oradata/test/sysaux01.dbf ,
15 /oradata/test/undotbs01.dbf ,
16 /oradata/test/users01.dbf ,
17 /oradata/test/fan.dbf
18 CHARACTER SET AL32UTF8
19 ;
Control file created.
SQL alter database open resetlogs;
Database altered.
SQL select dbid,name from v$database;
DBID NAME
———- ———
1475786014 TEST
SQL select instance from v$thread;
INSTANCE
——————————————————————————–
test
SQL select instance_name,status from v$instance;
INSTANCE_NAME STATUS
—————- ————
test OPEN
感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“如何修改 oracle 數(shù)據(jù)庫(kù)的 db_name,instace_name,sid_name”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!