Hello,
I have problem with reconnect to Oracle.
1) db running
2) script running
3) i reconnect db
4) when sleep(x), where x(for example 120sec) > db restart time, then scrip
hangs
------------------
About to connect
Connected
Still Connected
Still Connected
---> db restart within 120 sec
DBD::Oracle::db prepare failed: ORA-03113: end-of-file on communication
channel (DBD ERROR: OCIStmtExecute/Describe) {SELECT 1 FROM DUAL} at
./dbd_test.pl line 14.
Segmentation fault (core dumped)
5) when speel(x), where x(for example 2sec)< db restart time, then it is OK.
About to connect
Connected
Still Connected
Still Connected
DBD::Oracle::db prepare failed: ORA-01089: immediate shutdown in progress -
no operations are permitted (DBD ERROR: OCIStmtExecute/Describe) {SELECT 1
FROM DUAL} at ./dbd_test.pl line 14.
Couldn't open cursor at ./dbd_test.pl line 15.
About to connect
DBI->connect(devdb_atom) failed: ORA-07200: slsid: oracle_sid not set. (DBD
ERROR: OCISessionBegin) at ./dbd_test.pl line 9
Couldn't connect at ./dbd_test.pl line 9.
...
About to connect
DBI->connect(devdb_atom) failed: ORA-07200: slsid: oracle_sid not set. (DBD
ERROR: OCISessionBegin) at ./dbd_test.pl line 9
Couldn't connect at ./dbd_test.pl line 9.
...
About to connect
DBI->connect(devdb_atom) failed: ORA-01034: ORACLE not available (DBD ERROR:
OCISessionBegin) at ./dbd_test.pl line 9
Couldn't connect at ./dbd_test.pl line 9.
...
About to connect
DBI->connect(devdb_atom) failed: ORA-01033: ORACLE initialization or
shutdown in progress (DBD ERROR: OCISessionBegin) at ./dbd_test.pl line 9
Couldn't connect at ./dbd_test.pl line 9.
...
About to connect
Connected
Still Connected
Still Connected
use DBI;
while (1) {
eval {
print "About to connect\n";
my ($dbh) = DBI->connect("dbi:Oracle:****","****","****") || die
"Couldn't connect";
print "Connected\n";
while (1) {
my ($sh) = $dbh->prepare("SELECT 1 FROM DUAL");
die "Couldn't open cursor" unless $sh;
print "Still Connected\n";
sleep(120);
}
};
if ($@) {
print $@;
sleep(2);
}
}
thanks for help
andy.