After I stoped S01 service on node4 by srvctl command-line. It's OK .
$ srvctl stop service -d DB -s S01 -i DB4
After that, I need to start S01 service on this (node4) node (DB4)
$ srvctl start service -d DB -s S01 -i DB4PRKP-1030 : Failed to start the service S01.CRS-0215: Could not start resource 'ora.DB.S01.DB4.srv'
that's make me!... confused. So, I tried another idea... (try to force stop)
$ srvctl stop service -d DB -s S01 -i DB4PRKP-1065 : Service S01 is already stopped on instance DB4.$ srvctl stop service -d DB -s S01 -i DB4 -fPRKP-1065 : Service S01 is already stopped on instance DB4.$ srvctl start service -d DB -s S01 -i DB4PRKP-1030 : Failed to start the service S01.CRS-0215: Could not start resource 'ora.DB.S01.DB4.srv'
that's not help me anything.
Check... Use "crs_stat"
ora.DB.S01.DB3.srv ONLINE ONLINE on node03ora.DB.S01.DB4.srv ONLINE OFFLINE on node04ora.DB.S01.cs ONLINE ONLINE on node03
So, I had some idea... I checked imon_DB.log file at $ORACLE_HOME/log/hostname/racg/* PATH on node, I used "srvctl start service -d DB -s S01 -i DB4"
2009-03-06 15:33:34.912: [ RACG][1273112928] [28413][1273112928][ora.DB.S01.DB4.srv]: clsrcsnstartsrv: service name S01 already exists2009-03-06 15:33:34.913: [ RACG][1273112928] [28413][1273112928][ora.DB.S01.DB4.srv]: CLSR-0002: Oracle error encountered while executing clsrcsnstartsrv : execute22009-03-06 15:33:34.913: [ RACG][1273112928] [28413][1273112928][ora.DB.S01.DB4.srv]: ORA-44305: service S01 is runningORA-06512: at "SYS.DBMS_SYS_ERROR", line 86ORA-06512: at "SYS.DBMS_SERVICE", line 444ORA-06512: at "SYS.DBMS_SERVICE", line 365
ORA-44305: service S01 is running
What's going on?
So, I connected database on DB4 instance (node4)
$ env | grep ORACLE_SIDORACLE_SID=DB4$ sqlplus / as sysdbaSQL> select instance_name from v$instance;INSTANCE_NAME----------------DB4SQL> show parameter service_nameNAME TYPE VALUE------------------------- ----------- --------service_names string S01, DB
Oh, This Instance has S01 service online.
My idea used DBMS_SERVICE.STOP_SERVICE to stop service (S01) on this instance.
SQL> exec DBMS_SERVICE.STOP_SERVICE('S01','DB4');PL/SQL procedure successfully completed.SQL> show parameter service_nameNAME TYPE VALUE------------------------- ----------- --------service_names string DB
And then use "srvctl" command to start again...
$ srvctl start service -d DB -s S01 -i DB4
Wow, It worked... no error
And then check...
Use "crs_stat"
ora.DB.S01.DB3.srv ONLINE ONLINE on node03ora.DB.S01.DB4.srv ONLINE ONLINE on node04ora.DB.S01.cs ONLINE ONLINE on node03
And...
$ sqlplus / as sysdbaSQL> select instance_name from v$instance;INSTANCE_NAME----------------DB4SQL> show parameter service_nameNAME TYPE VALUE------------------------- ----------- --------service_names string S01, DB
... It's OK, thanks OCP & OCE help me this idea!
Enjoy!
5 comments:
YOU ROCK!
I had the same problem and dbms_service.stop_service WORKED LIKE A CHARM...
THANK YOU VERY MUCH DUDE>>.
-Anand
@Anand
I hope this can help.
If it' can not help.. we might check some bug about "database service" name on oracle support.
I had the same problem and following the instructions from your article fixed the issue. Thanks a lot!
Same probleme reolved. Thank you very much its help a lot.
This has Helped Thanks
-Ravindra
Post a Comment