How to create a Oracle 11g RAC Database manually without DBCA ?

来源:互联网 发布:用友nc系统java插件 编辑:程序博客网 时间:2024/05/22 14:06

From now on, Write everything in English.

To create a Oracle 11g RAC database manually, there should be a ready RAC env, and you should following the steps below.

1.Create a Single instance Database in a Oracle 11g RAC ready Env. For more info , Pls refer to my previous article How to create Oracle 11g R2 database manually in ASM? 

Single instance Database in a 11g RAC:

instance_name=maomi

db_name=maomi

pfile= initmaomi.ora => spfile='+DATA/maomi/spfilemaomi.ora'

spfile='+DATA/maomi/spfilemaomi.ora'

2.Convert a Single instance Database to RAC Database in the following way.

2.1 create a pfile from existing spfile like the following:

vi initmaomi1.ora
*.__db_cache_size=125829120
*.__java_pool_size=4194304
*.__large_pool_size=4194304
*.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
*.__pga_aggregate_target=146800640
*.__db_cache_size=125829120
*.__java_pool_size=4194304
*.__large_pool_size=4194304
*.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
*.__pga_aggregate_target=146800640
*.__db_cache_size=125829120
*.__java_pool_size=4194304
*.__large_pool_size=4194304
*.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
*.__pga_aggregate_target=146800640
*.__sga_target=272629760
*.__shared_io_pool_size=0
*.__shared_pool_size=130023424
*.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/maomi/adump'
*.audit_trail='db'
*.compatible='11.2.0'
*.control_files='+DATA/maomi/controlfile/current.322.834531075','+FRA/maomi/controlfile/current.469.834531075'#Oracle managed file
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.DB_CREATE_ONLINE_LOG_DEST_1='+DATA'
*.DB_CREATE_ONLINE_LOG_DEST_2='+FRA'
*.db_domain=''
*.db_name='maomi'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=2G
*.diagnostic_dest='/u01/app/oracle'
*.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.8.21)(PORT=1521))))'
*.log_archive_dest_1='location=+FRA'
*.memory_target=400m
*.open_cursors=300
*.processes=150
*.remote_listener='rac-scan:1521'
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'

2.1 Create a new password files for each instances

[oracle@rac1 dbs]$ orapwd file=oramaomi1 password=oracle entries=5
[oracle@rac2 dbs]$ orapwd file=oramaomi2 password=oracle entries=5

2.2 Add an entry in the /etc/oratab of each node.

[oracle@rac2 dbs]$ more /etc/oratab
maomi:/u01/app/oracle/product/11.2.0.3/dbhome_1:N               # line added by Agent
[oracle@rac1 dbs]$ more /etc/oratab
maomi:/u01/app/oracle/product/11.2.0.3/dbhome_1:N               # line added by Agent

2.3 Add the following entry in the $ORACLE_HOME/network/admin/tnsnames.ora of each node.

MAOMI =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = maomi)
    )
  )
 
2.4 Add or modify the following parameters in the newly created pfile initmaomi1.ora.

*.cluster_database_instances=2
*.cluster_database=true
maomi1.instance_number=1
maomi2.instance_number=2
maomi1.thread=1
maomi2.thread=2
*.undo_management='AUTO'
maomi1.undo_tablespace='UNDOTBS1'
maomi2.undo_tablespace='UNDOTBS2'
maomi1.instance_name = maomi1
maomi2.instance_name = maomi2

2.5 Keep the existing instance maomi in open state, and then create an undo tablespace and another 2 redo group for the
second instance.

CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE SIZE 200M;
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 3 SIZE 10M;
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 4 SIZE 10M;

2.6 shutdown the instance maomi

and start the new instance maomi1,and enable redo thread for the instance maomi2.

export ORACLE_SID=maomi1

sqlplus / as sysdba
STARTUP;
ALTER DATABASE ENABLE PUBLIC THREAD 2;

2.7 create the pfile and spfile for the RAC database and startup the second instance.

create spfile='+DATA/maomi/spfilemaomi.ora' from pfile='initmaomi1.ora';

vi inittemp
spfile='+DATA/maomi/spfilemaomi.ora'

cp inittemp $ORACLE_HOME/dbs/initmaomi1.ora
scp $ORACLE_HOME/dbs/initmaomi1.ora rac2:$ORACLE_HOME/dbs/initmaomi2.ora

[oracle@rac2 dbs]$ export ORACLE_SID=maomi2
[oracle@rac2 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Dec 20 12:14:45 2013

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  418484224 bytes
Fixed Size                  1345352 bytes
Variable Size             285214904 bytes
Database Buffers          125829120 bytes
Redo Buffers                6094848 bytes
Database mounted.
Database opened.
SQL>

SQL> select instance_name,status from gv$instance;

INSTANCE_NAME                                    STATUS
------------------------------------------------ ------------------------------------
maomi2                                           OPEN
maomi1                                           OPEN

modify the local_listener for the instance maomi2, so that the new instance can register in the listener.

alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.8.22)(PORT=1521))))' scope=both;

2.8 Run RAC Database Data Dictionary Scripts

--update RAC component data dictionary
$ORACLE_HOME/rdbms/admin/catclust.sql

--rebuild invalid object
$ORACLE_HOME/rdbms/admin/utlrp.sql

2.9 shutdown both instances and register the database to OCR

[oracle@rac1 dbs]$ srvctl add database -d maomi -o '/u01/app/oracle/product/11.2.0.3/dbhome_1' -p '+DATA/maomi/spfilemaomi.ora' -s 'OPEN' -y 'AUTOMATIC'
[oracle@rac1 dbs]$ srvctl add instance -d maomi -i maomi1 -n rac1
[oracle@rac1 dbs]$ srvctl add instance -d maomi -i maomi2 -n rac2
[oracle@rac1 dbs]$ srvctl start database -d maomi


转载请注明作者出处及原文链接,否则将追究法律责任:

作者:xiangsir

原文链接:http://blog.csdn.net/xiangsir/article/details/17438587

QQ:444367417

MSN:xiangsir@hotmail.com



5 0
原创粉丝点击