下面为数据库创建多个实例:
原实例是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/,如需转载,请注明出处,否则将追究法律责任。