perl管理oracle实例

-- perl oracle管理
#!/usr/bin/perl
use strict;
use warnings;

my $ORACLE_HOME = '/u01/oracle';
my $ORACLE_SID = 'orcl';
my $PATH = $ENV{PATH};

my $user;
my $passwd;
my $ora_conn;

$ENV{ORACLE_HOME} = $ORACLE_HOME;
$ENV{ORACLE_SID} = $ORACLE_SID;
$ENV{PATH} = "$ORACLE_HOME/bin:$PATH";
$EVN{LD_LIBRARY_PATH} = "$ORACLE_HOME/lib:$LIBPATH";

$user = "u01";
$passwd = "u01";
$ora_conn = "$user/$passwd\@morewood";

system("./drop_object.sh $ora_conn $user > /dev/null 2>\&1 &");
print "......Delete Done!......\n";

sleep(2);

system("imp $user/$passwd file=$user.dmp full=y buffer=10485760 ignore=Y log=$user.log &");
print "......Import Done!......\n";

exit

 


 --------------------------------------------------------

#!/bin/sh
#name drop_object.sh
sqlplus -s << EOF
$1
set pages 0;
set term off;
set feedback off;
spool /tmp/dropobj.$2.sql
select 'alter session set recyclebin=off;' from dual;
select 'drop ' || object_type || ' ' ||  object_name || ';' from user_objects where object_type = 'TABLE';
select 'drop ' || object_type || ' ' || object_name || ';' from user_objects where object_type ='INDEX';
spool off
@/tmp/dropobj.$2.sql
exit
EOF
#
exit

posted @ 2012-06-17 22:19  痞子过  阅读(619)  评论(0编辑  收藏  举报