[svn:dbd-oracle] r14877 - dbd-oracle/branches/FAN/t

[email protected] Fri, 27 May 2011 05:06:51 -0700 (PDT)
Newsgroups perl.dbd.oracle.changes
Message-ID <[email protected]>
Author: byterock
Date: Fri May 27 05:06:51 2011
New Revision: 14877

Added:
   dbd-oracle/branches/FAN/t/17taf.t

Log:
Second checkin

Added: dbd-oracle/branches/FAN/t/17taf.t
==============================================================================
--- (empty file)
+++ dbd-oracle/branches/FAN/t/17taf.t	Fri May 27 05:06:51 2011
@@ -0,0 +1,104 @@
+#!perl -w
+use Test::More;
+use DBI;
+use DBD::Oracle qw(:ora_types ORA_OCI);
+use Data::Dumper;
+use Math::BigInt;
+use strict;
+
+unshift @INC ,'t';
+require 'nchar_test_lib.pl';
+
+$| = 1;
+
+my @test_sets = (
+	[ "CHAR(10)",     10 ],
+	[ "VARCHAR(10)",  10 ],
+	[ "VARCHAR2(10)", 10 ],
+);
+
+# Set size of test data (in 10KB units)
+#	Minimum value 3 (else tests fail because of assumptions)
+#	Normal  value 8 (to test 64KB threshold well)
+my $sz = 8;
+
+my $tests = 3;
+my $tests_per_set = 11;
+$tests += @test_sets * $tests_per_set;
+
+my $t = 0;
+my $failed = 0;
+my %ocibug;
+my $table = "dbd_ora__drop_me" . ($ENV{DBD_ORACLE_SEQ}||'');
+
+
+my $dsn = oracle_test_dsn();
+
+my $sys_dbuser = $ENV{ORACLE_SYS_USERID} || '';
+
+my @sys = split(/,/,$sys_dbuser);
+
+#if ($sys_dbuser eq '') {
+#    plan skip_all => "ORACLE_SYS_USERID not defined.\n";
+#}
+use Data::Dumper;
+
+warn Dumper \@sys;
+my $att = { RaiseError => 1, TraceLevel => 1 };
+
+#sys/design1
+my @con = ('dbi:Oracle:ORCLTDB','sys','design1', $att );
+
+  $att->{ora_session_mode} = DBD::Oracle::ORA_SYSDBA;
+my   $dbh = DBI->connect( @con );
+#my $dbh = DBI->connect('dbi:Oracle:',$sys[0], $sys[1], {
+#                           	RaiseError => 1,
+#				ora_session_mode=>DBD::Oracle::ORA_SYSDBA
+#				});
+
+if ($dbh) {
+    plan tests=>$tests;
+} else {
+    plan skip_all => "Unable to connect to oracle\n";
+}
+
+
+my $ary = $dbh->selectall_arrayref('select username, program from v$session where sid <> ( select distinct sid from v$mystat ) and username is not null');
+
+if ( @$ary ) {
+    print "Active session: $_->[0] ($_->[1])\n" for @$ary;
+    $dbh->ora_db_shutdown( { ora_mode => DBD::Oracle::OCI_DBSHUTDOWN_ABORT } );
+}
+else {
+    $dbh->ora_db_shutdown( { } );
+    $dbh->do('ALTER SYSTEM SET job_queue_processes = 0');  # SCOPE=MEMORY
+    $dbh->do('ALTER SYSTEM SET aq_tm_processes = 0');  # SCOPE=MEMORY
+    $dbh->do('ALTER DATABASE CLOSE NORMAL');
+    $dbh->do('ALTER DATABASE DISMOUNT');
+    $dbh->ora_db_shutdown( { ora_mode => DBD::Oracle::OCI_DBSHUTDOWN_FINAL } );
+}
+$dbh->disconnect;
+
+sleep(25);
+
+
+#  $att->{ora_session_mode} = DBD::Oracle::ORA_SYSDBA | DBD::Oracle::OCI_PRELIM_AUTH;
+
+  $dbh = DBI->connect('dbi:Oracle:ORCLTDB','sys','design1', $att );
+
+#                                RaiseError => 1,
+ #                               ora_session_mode=>DBD::Oracle::ORA_SYSOPER
+  #                              });
+
+  #$dbh = DBI->connect( @con );
+  $dbh->ora_db_startup( { ora_pfile => $ENV{ORA_PFILE} } );
+  $dbh->disconnect;
+
+  $att->{ora_session_mode} = DBD::Oracle::ORA_SYSDBA;
+  $dbh = DBI->connect($dsn, $sys_dbuser, '', $att);  
+
+  $dbh->do('ALTER DATABASE MOUNT');
+  $dbh->do('ALTER DATABASE OPEN');
+  $dbh->disconnect;
+
+__END__