Hi,
Consider the following Environment
Environment :
Nodenames : node1.us.oracle.com node1
node2.us.oracle.com node2
node3.us.oracle.com node3
Node to be removed : node3.us.oracle.com node3.
Database name : racdb
Instance names : racdb1, racdb2, racdb3
Step 1 : Delete instance from node3
1. Do this on node1
Login as the oracle user
Set the ORACLE_HOME and PATH env variables to point to the database home
Run “dbca
Choose RAC database
Choose Instance Management
Choose Delete Instance
It shows a screen with the database name. At the bottom of the screen, enter the sys user and password.
Choose the instance to delete ( racdb3 on node3 )
Confirm deletion.
2. If your database is running on ASM, then follow the next steps to clean-up ASM on node3.
Do this on node1
Srvctl stop asm –n node3
Srvctl remove asm –n node3
Do this on node3
Cd $ORACLE_HOME/admin
Rm –rf +ASM
Cd $ORACLE_HOME/dbs
Rm –f * ASM *
Remove oratab entries beginning with +ASM.
3. Remove the listener running on node3
Do this on node3
Login as the oracle user and set the ORACLE_HOME to database home
Netca
Choose Cluster management
Choose Listener
Choose Remove
Confirm deletion of LISTENER
4. Removing node3 from the database and deleting ORACLE_HOME
Do this on node3
Export ORACLE_HOME=
Cd $ORACLE_HOME/oui/bin
./runInstaller –updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={node3}†–local
./runInstaller
Choose De-install products and select the dbhome
This will remove the database home software and leaves behind only some files and directories
Do this on node1
Cd $ORACLE_HOME/oui/bin
./runInstaller –updateNodeList ORACLE_HOME=$ORACLE_HOME “CLUSTER_NODES={node1,node2}â€
5. Removing node3 from the cluster and deleting Oracle Clusterware software from node3
Do this on node1
$CRS_HOME/bin/racgons remove_config node3:6200
( Replace port 6200 in the above command with the number that you see in the remote port section of the ons.config file in the CRS_HOME/opmn/conf diretory )
Do this on node3
Login as the root user
Cd $CRS_HOME/install
Rootdelete.sh
Do this on node1
Login as the root user
$CRS_HOME/bin/olsnodes –n
In the above command’s output check the node number for node3 e.g 3
Cd $CRS_HOME/install
Rootdeletenode.sh node3,3
Do this on node3
Login as the oracle user
Cd $CRS_HOME/oui/bin
./runInstaller –updateNodeList ORACLE_HOME=$CRS_HOME “CLUSTER_NODES={node3}†CRS=TRUE –local
./runInstaller
Choose Deinstall software and remove the CRSHOME.
Do this on node1
Login as the oracle user
Cd $CRS_HOME/oui/bin
./runInstaller –updateNodeList ORACLE_HOME=$CRS_HOME “CLUSTER_NODES={node1,node2}†CRS=TRUE
To verify the removal of the node from the cluster, run these commands
Do this on node1
Srvctl status nodeapps –n node3
Should return a message saying ‘Invalid nodeâ€
Crs_stat | grep –I node3
Should not get any output
Olsnodes –n
Should list node1 and node2 only.
Hi,
to put your database in shared server configuration u need to add the following parameters in init
*.dispatchers=’(protocol=TCP)(listener=
*.max_shared_servers=100
*.shared_servers=5
*.max_dispatchers=150
after making the above changes you need shutdown and restart the database with init
Confirm that above parameters are set by logging in sys as sysdba and give the command
SQL> show parameter dispatchers;
SQL> show parameter max_shared_servers; …..
to check whether your listener is aware of the shared server connection from command prompt give the following command
c:\> lsnrctl services
Instance “ITALIC”, status READY, has 6 handler(s) for this service…
Handler(s):
“DEDICATED” established:0 refused:0 state:ready
LOCAL SERVER
“D004″ established:0 refused:0 current:0 max:1002 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=01HW105868.India.TCS.com)(PORT=2141))
“D003″ established:1 refused:0 current:1 max:1002 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=01HW105868.India.TCS.com)(PORT=2140))
“D002″ established:1 refused:0 current:0 max:1002 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=01HW105868.India.TCS.com)(PORT=2139))
“D001″ established:1 refused:0 current:1 max:1002 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=01HW105868.India.TCS.com)(PORT=2138))
“D000″ established:1 refused:0 current:0 max:1002 state:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=01HW105868.India.TCS.com)(PORT=2137))
Also, to make shared server connections you need to add SERVER=SHARED parameters in the CONNECT_DATA parameter of all the tnsnames.ora of clients as shown
SSKIDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.240.158)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = SSKIDB)
(INSTANCE_NAME = SSKIDB)
)
)
Now, to check whether all the clients are using shared server connection fire the following query as sys
SQL> select USERNAME,SERVER,MACHINE,TERMINAL,type from v$session where type=’USER’;