為同一個資料庫建立新的例項

jane_pop發表於2014-10-22
下面為資料庫建立多個例項:
原例項是orcl,現新建一個名為orcl2的例項。
1.修改配置檔案/home/oracle/.bash_profile,其實不修改也行。
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

#use for oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_SID=orcl2
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias adrci='rlwrap adrci'

在其中新增一行export ORACLE_SID=orcl2。注意,配置檔案中如果出現兩個相同的環境變數,那麼後面的值會覆蓋前面的,所以ORACLE_SID這個環境變數的預設值是orcl2。

2.建立新例項的引數檔案,可以利用原例項的引數檔案來建立。因為是連線的是同一個資料庫,所以複製的引數檔案只需改下名稱就行了。
[oracle@localhost dbs]$ cp initorcl.ora initorcl2.ora

然後開啟initorcl2.ora:
orcl2.__db_cache_size=201326592
orcl2.__java_pool_size=4194304
orcl2.__large_pool_size=4194304
orcl2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl2.__pga_aggregate_target=343932928
orcl2.__sga_target=507510784
orcl2.__shared_io_pool_size=0
orcl2.__shared_pool_size=289406976
orcl2.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/controlfile/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl','/u01/app/oracle/flash_recovery_area/orcl/control03.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_flashback_retention_target=240
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fast_start_mttr_target=300
*.log_archive_dest_1='location=/u01/app/archivelog/dest1'
*.log_archive_dest_2='location=/u01/app/archivelog/dest2'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=848297984
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='NONE'
*.resource_limit=TRUE
*.undo_tablespace='UNDOTBS1'
 
 


4.利用上面建立的pfile建立相應的spfile
[oracle@localhost dbs]$ export ORACLE_SID=orcl2 
[oracle@localhost dbs]$ sqlplus /nolog 

SQL*Plus: Release 11.2.0.1.0 Production on Mon Oct 20 19:39:09 2014 

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

@ 20-OCT-14>conn /as sysdba 
Connected to an idle instance. 

SYS@orcl2 20-OCT-14>create spfile from pfile; 

File created.

5.啟動例項測試
[oracle@localhost dbs]$ sqlplus /nolog 

SQL*Plus: Release 11.2.0.1.0 Production on Mon Oct 20 19:41:12 2014 

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

@ 20-OCT-14>conn /as sysdba 
Connected to an idle instance. 
SYS@orcl2 20-OCT-14>startup 
ORACLE instance started. 

Total System Global Area 849530880 bytes 
Fixed Size 1339824 bytes 
Variable Size 499125840 bytes 
Database Buffers 343932928 bytes 
Redo Buffers 5132288 bytes 
Database mounted. 
Database opened. 
SYS@orcl2 20-OCT-14>show parameter instance_name 

NAME TYPE VALUE 
------------------------------------ ----------- ------------------------------ 
instance_name string orcl2

例項orcl2建立成功。

檢視後臺程式:
[oracle@localhost ~]$ ps -ef|grep ora_ 
oracle 6282 1 0 20:06 ? 00:00:00 ora_pmon_orcl2 
oracle 6284 1 0 20:06 ? 00:00:00 ora_vktm_orcl2 
oracle 6288 1 0 20:06 ? 00:00:00 ora_gen0_orcl2 
oracle 6290 1 0 20:06 ? 00:00:00 ora_diag_orcl2 
oracle 6292 1 0 20:06 ? 00:00:00 ora_dbrm_orcl2 
oracle 6294 1 0 20:06 ? 00:00:00 ora_psp0_orcl2 
oracle 6296 1 0 20:06 ? 00:00:00 ora_dia0_orcl2 
oracle 6298 1 3 20:06 ? 00:00:00 ora_mman_orcl2 
oracle 6300 1 0 20:06 ? 00:00:00 ora_dbw0_orcl2 
oracle 6302 1 0 20:06 ? 00:00:00 ora_lgwr_orcl2 
oracle 6304 1 0 20:06 ? 00:00:00 ora_ckpt_orcl2 
oracle 6306 1 0 20:06 ? 00:00:00 ora_smon_orcl2 
oracle 6308 1 0 20:06 ? 00:00:00 ora_reco_orcl2 
oracle 6310 1 1 20:06 ? 00:00:00 ora_mmon_orcl2 
oracle 6312 1 0 20:06 ? 00:00:00 ora_mmnl_orcl2 
oracle 6314 1 0 20:06 ? 00:00:00 ora_d000_orcl2 
oracle 6316 1 0 20:06 ? 00:00:00 ora_s000_orcl2 
oracle 6405 1 0 20:06 ? 00:00:00 ora_arc0_orcl2 
oracle 6409 1 0 20:06 ? 00:00:00 ora_arc1_orcl2 
oracle 6411 1 0 20:06 ? 00:00:00 ora_arc2_orcl2 
oracle 6413 1 0 20:06 ? 00:00:00 ora_ctwr_orcl2 
oracle 6415 1 0 20:06 ? 00:00:00 ora_arc3_orcl2 
oracle 6417 1 0 20:06 ? 00:00:00 ora_qmnc_orcl2 
oracle 6431 1 1 20:06 ? 00:00:00 ora_cjq0_orcl2 
oracle 6437 1 6 20:06 ? 00:00:00 ora_j000_orcl2 
oracle 6439 1 0 20:06 ? 00:00:00 ora_j001_orcl2 
oracle 6487 1 1 20:06 ? 00:00:00 ora_q000_orcl2 
oracle 6489 1 0 20:06 ? 00:00:00 ora_q001_orcl2 
oracle 6491 5980 0 20:06 pts/2 00:00:00 grep ora_

可以看到,我們已經使用新建例項orcl2成功連線並且開啟資料庫了。
當我們export ORACLE_SID=orcl2的時候,就會引導oracle去預設位置查詢對應的引數檔案,也就是說,透過ORACLE_SID這個標誌就可以找到相應的spfile.ora或者init.ora,找到引數檔案之後,根據引數檔案中記錄就可以找到控制檔案的位置,然後根據控制檔案中記錄的資訊找到資料檔案,日誌檔案等並檢查一致性,進而開啟資料庫。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29800581/viewspace-1306923/,如需轉載,請註明出處,否則將追究法律責任。

相關文章