dataguard--java.sql.SQLException: ORA-01033: ORACLE initialization or shutdown in progress

报错:
2012-06-19 16:22:37,737 [SeverityLoad https://rac1:3938/emd/main] WARN jdbc.ConnectionCache _getConnection.353 - Got a fatal exeption when getting a

connection; Error code = 1033; Cleaning up cache and retrying
2012-06-19 16:22:37,769 [SeverityLoad https://rac1:3938/emd/main] ERROR eml.XMLLoader markFileAsError.890 - ORA-01033: ORACLE initialization or shutdown in

progress

java.sql.SQLException: ORA-01033: ORACLE initialization or shutdown in progress

at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:77)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:472)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:414)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:406)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:309)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:405)
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:621)
at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:492)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:386)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:276)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:212)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:140)
at oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection(OracleImplicitConnectionCache.java:1752)
at oracle.jdbc.pool.OracleImplicitConnectionCache.makeOneConnection(OracleImplicitConnectionCache.java:644)
at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:592)
at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:460)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:544)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:248)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:201)
at oracle.sysman.util.jdbc.ConnectionCache._getConnection(ConnectionCache.java:359)
at oracle.sysman.util.jdbc.ConnectionCache._getConnection(ConnectionCache.java:322)
at oracle.sysman.util.jdbc.ConnectionCache.getUnwrappedConnection(ConnectionCache.java:575)
at oracle.sysman.emSDK.svc.conn.FGAConnectionCache.getFGAConnection(FGAConnectionCache.java:207)
at oracle.sysman.emSDK.svc.conn.ConnectionService.getPrivateConnectionNoWait(ConnectionService.java:1342)
at oracle.sysman.emdrep.dbjava.loader.XMLLoader.markFileAsError(XMLLoader.java:878)
at oracle.sysman.emdrep.receiver.FxferRecv.loadSeverities(FxferRecv.java:1210)
at oracle.sysman.emdrep.receiver.FxferRecv.receiveFile(FxferRecv.java:1613)
at oracle.sysman.emdrep.receiver.FxferRecv.doPost(FxferRecv.java:768)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:357)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:889)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:592)
at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:460)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:544)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:248)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:201)
at oracle.sysman.util.jdbc.ConnectionCache._getConnection(ConnectionCache.java:359)
at oracle.sysman.util.jdbc.ConnectionCache._getConnection(ConnectionCache.java:322)
at oracle.sysman.util.jdbc.ConnectionCache.getUnwrappedConnection(ConnectionCache.java:575)
at oracle.sysman.emSDK.svc.conn.FGAConnectionCache.getFGAConnection(FGAConnectionCache.java:207)
at oracle.sysman.emSDK.svc.conn.ConnectionService.getPrivateConnectionNoWait(ConnectionService.java:1342)
at oracle.sysman.emdrep.dbjava.loader.XMLLoader.markFileAsError(XMLLoader.java:878)
at oracle.sysman.emdrep.receiver.FxferRecv.loadSeverities(FxferRecv.java:1210)
at oracle.sysman.emdrep.receiver.FxferRecv.receiveFile(FxferRecv.java:1613)
at oracle.sysman.emdrep.receiver.FxferRecv.doPost(FxferRecv.java:768)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:357)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:889)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:637)

解决:

一、创建一个新service
exec DBMS_SERVICE.CREATE_SERVICE (service_name => 'failover.abc.com',network_name => 'failover.abc.com',aq_ha_notifications => true,failover_method =>

'BASIC',failover_type => 'SELECT',failover_retries => 180,failover_delay => 1);

二、启动service
exec dbms_service.start_service('failover.abc.com');

三、查看service已经启动
lsnrctl status

四、创建触发器
CREATE OR REPLACE TRIGGER manage_OCIservice after startup on database
DECLARE
role VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE INTO role FROM V$DATABASE;
IF role = 'PRIMARY' THEN
DBMS_SERVICE.START_SERVICE('failover.abc.com');
ELSE
DBMS_SERVICE.STOP_SERVICE('failover.abc.com');
END IF;
END;
/


五、重新配置em
emctl config dbconsole -store_repos_details -repos_conndesc '"(DESCRIPTION=(FAILOVER=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=rac2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=failover.abc.com))(FAILOVER_MODE=(TYPE=select)(METHOD=basic)))"' -repos_user

sysman

六、重新启动em
emctl stop dbconsole
emctl start dbconsole

下面是日志:

[oracle@rac1 ~]$ emctl config dbconsole -store_repos_details -repos_conndesc '"(DESCRIPTION=(FAILOVER=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1)

(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=rac2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=failover.abc.com))(FAILOVER_MODE=(TYPE=select)(METHOD=basic)))"' -

repos_user sysman
Oracle Enterprise Manager 11g Database Control Release 11.2.0.3.0
Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved.
https://rac1:1158/em/console/aboutApplication
emctl status | secure | setpasswd dbconsole
emctl config dbconsole -heap_size -max_perm_size

[oracle@rac1 ~]$ emctl stop dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.3.0
Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved.
https://rac1:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 11g Database Control ...
... Stopped.
[oracle@rac1 ~]$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.3.0
Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved.
https://rac1:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ..... started.
------------------------------------------------------------------
Logs are generated in directory /oracle/product/11.2.0/db_1/rac1_RAC/sysman/log

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25133597/viewspace-1058669/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25133597/viewspace-1058669/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值