Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Perl Helps SQL Plus Script generation. Release the Power
Hi !
I'm starting to do some dba stuff.
I needed to copy a list of procedures/functions from development DB to other
DB's.
So I came up with a run control file like this:
<BOF>
#----------------------------------------------------
# This shows how easy is to update a list of objects
# from development DB into test and production DB's
#
# compile_invalid is a script that does that
#----------------------------------------------------
# Export objects is object_list file from Development
SQL connect devel/devel_at_develdb;
EXPORT_SOURCE object_list
# Import into Test DB
SQL connect test/test_at_testdb;
IMPORT_SOURCE object_list
SQL start compile_invalid;
# Import into Production
SQL connect prod/prod_at_proddb;
IMPORT_SOURCE object_list
SQL start compile_invalid;
<EOF>
And now I just run the command:
dba.bat run_control_file
where dba.bat is
del cmds
copy %1 cmds
perl dba.pl > sc.sql
plus80 -s @sc.sql > log
and dba.pl is attached, plus a help file.
So what is happening ?
I write a run control file, pass it to a Perl script and it generates a SQL
Plus script(sc.sql). This is sent to SQL Plus in dba.bat to run the
commands.
For the IMPORT and EXPORT source commands you need to create directory
"source".
Many other commands can be created. I think SQL Plus script generation can become very usefull. A well written Perl script can be a great tool.
If you would like to do more or have any suggestions, please contact me.
Rui Anastacio
begin 666 dba.txt
M#0H_at_1$)!($AE;' -"B ]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0T*(%!E<FP_at_4U%,
M(%!,55,@<V-R:7!T(&=E;F5R871I;VX-"B!2=6D_at_06YA<W1A8VEO#0H-"@T* M( T*#0H-"B!#;VUM86YD($9I;&4@(" M+2T^($1"02 M+2T^(%-13"!03%53 M(%-C<FEP=" M+2T^(%-13"!03%53#0H_at_8VUD<PT*#0H-"B!#3413($9O<FUA M= T*("TM+2TM+2TM+2TM#0H-"B!";&%N:R!L:6YE<R!A<F4@;VUI='1E9"X@ M3&EN97,@<W1A<G1I;F<@=VET:" C(&%R92!O;6ET=&5D+@T*#0H@+2TM#0H@M4U%,#0H@+2TM#0H_at_4VEN=&%X90T*(" @4U%,#0H@("!C;VUM86YD<PT*(" @
M+@T*#0H@("!O<@T*#0H@("!344P_at_8V]M;6%N9',-"@T*($1E<V-R:7!T:6]N M#0H@("!7<FET97,@=&AE(&-O;6UA;F1S('1O('1H92!S8W)I<'0N#0H-"B!% M>&%M<&QE<PT*(" @4U%,(&-O;FYE8W0@=&5S="\Q,C- 9&5V96QO<#L-"@T* M(" @4U%,#0H@("!S<&]O;"!C;&EE;G1S#0H@("!S96QE8W0@*B!F<F]M(&-LM:65N=',[#0H@("!S<&]O;"!O9F8[#0H@(" N#0H-"@T*("TM+2TM+2TM+2TM M+2T-"B!%6%!/4E1?4T]54D-%#0H@+2TM+2TM+2TM+2TM+0T*(%-I;G1A>&4- M"B @($584$]25%]33U520T4@;V)J96-T7VQI<W1?9FEL90T*#0H@("!O<@T*
M#0H@("!%6%!/4E1?4T]54D-%#0H@("!O8FIE8W0Q#0H@("!O8FIE8W1.#0H@ M(" N#0H-"B!$97-C<FEP=&EO;@T*(" @1V5T<R!T:&4@<V]U<F-E(&9R;VT@ M;V)J96-T<R!A;F0@=W)I=&5S('1O('-O=7)C92!D:7)E8W1O<GDN($5A8V_at_-M"B @(&]B:F5C="!S;W5R8V4@:7,@<F5A9"!F<F]M(%5315)?4T]54D-%(&%N
M9"!I<R!W<FET=&5N(&$@82!F:6QE('=I=&@-"B @('1H92!N86UE.B!O8FIE M8W0N<W%L#0H@("!);B!T:&4_at_9FER<W0_at_9F]R;2!I="!W:6QL(')E860@=&AE M(&QI<W0@;V8@;V)J96-T<R!F<F]M(&$@9FEL90T*#0H_at_17AA;7!L97,-"B @M($584$]25%]33U520T4-"B @(&UY7V9U;F,-"B @(&UY7W!R;V,-"B @("X- M"@T*(" @15A03U)47U-/55)#12!A;'1E<E]O8FIE8W1S#0H-"B M+2TM+2TM M+2TM+2TM(" @#0H_at_24U03U)47U-/55)#10T*("TM+2TM+2TM+2TM+2T-"B!3 M:6YT87AE#0H@("!)35!/4E1?4T]54D-%(&]B:F5C=%]L:7-T7V9I;&4-"@T* M(" @;W(-"@T*(" @24U03U)47U-/55)#10T*(" @;V)J96-T,0T*(" @;V)J M96-T3_at_T*(" @+@T*#0H@#0H_at_1&5S8W)I<'1I;VX-"B @(%)E861S(&5A8V@@ M;V8@=&AE(&]B:F5C="!F:6QE<R!F<F]M('-O=7)C92!D:7)E8W1O<GD_at_86YD M('-T87)T)W,@=&AE;2X-"@T*($5X86UP;&4-"B @(",M+2TM+2TM+2TM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H@(" C M(%1H:7,@<VAO=W,@:&]W(&5A<WD@:7,@=&\@=7!D871E(&$@;&ES="!O9B!O
M8FIE8W1S#0H@(" C(&9R;VT_at_9&5V96QO<&UE;G0_at_1$(@:6YT;R!T97-T(&%N M9"!P<F]D=6-T:6]N($1")W,-"B @(",-"B @(",@8V]M<&EL95]I;G9A;&ED M(&ES(&$@<V-R:7!T('1H870_at_9&]E<R!T:&%T#0H@(" C+2TM+2TM+2TM+2TMM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+0T*#0H@ M(" C($5X<&]R="!O8FIE8W1S(&ES(&]B:F5C=%]L:7-T(&9I;&4_at_9G)O;2!$ M979E;&]P;65N= T*#0H@("!344P_at_8V]N;F5C="!D979E;"]D979E;$!D979E M;&1B.PT*(" @15A03U)47U-/55)#12!O8FIE8W1?;&ES= T*#0H@(" C($EM M<&]R="!I;G1O(%1E<W0_at_1$(-"B @(%-13"!C;VYN96-T('1E<W0O=&5S=$!T M97-T9&([#0H@("!)35!/4E1?4T]54D-%(&]B:F5C=%]L:7-T#0H@("!344P@ M<W1A<G0_at_8V]M<&EL95]I;G9A;&ED.PT*#0H@(" C($EM<&]R="!I;G1O(%!R M;V1U8W1I;VX@#0H@("!344P_at_8V]N;F5C="!P<F]D+W!R;V1 <')O9&1B.PT* M(" @24U03U)47U-/55)#12!O8FIE8W1?;&ES= T*(" @4U%,('-T87)T(&-O <;7!I;&5?:6YV86QI9#L-"@T*#0H-"@T*#0H-"@`` `
begin 666 dba.pl
M#0IP<FEN=#P\14]&.PT*<V5T('!A9V5S(# [#0IS970_at_9F5E9&)A8VL@;V9F
M.PT*#0I%3T8-"@T*#0IO<&5N($--1"PB/&-M9',B.PT*#0IW:&EL92 H/$--
M1#XI('L-"B!C:&]P.R!U8SL-"B!I9B H+UXC+BHO('Q\("]>)"\I('L@;F5X M=#L@?0T*#0H@;2\H7EM!+5I?72LI+SL@)&-M9" ]("0Q.PT*(&EF("@O7',H M+BHD*2\I('L@)'!A<B ]("0Q.R!](&5L<V4@>R D<&%R(#T@)R<[('T-"@T* M(%-7251#2#H@>PT*(" @:68@*"]>15A03U)47U-/55)#12\I(" @(" @>R F M17AP;W)T7U-O=7)C93L@(" @("!L87-T.R!]#0H@("!I9B H+UY)35!/4E1?M4T]54D-%+RD@(" @("![("9);7!O<G1?4V]U<F-E.R @(" @(&QA<W0[('T- M"B @(&EF("@O7E-13"\I(" @(" @(" @(" @(" @('L@)E-Q;#L@(" @(" @ M(" @(" @(" @;&%S=#L@?0T*('T-"GT-"F-L;W-E($--1#L-"@T*<')I;G0\ M/$5/1CL-"@T*97AI=#L-"D5/1_at_T*#0H-"@T*(RTM+2TM+2TM+2TM+2TM+2TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H- M"G-U8B!%>'!O<G1?4V]U<F-E4U%,('L-"G!R:6YT/#Q%3T8[#0IS<&]O;"!S M;W5R8V5<7"1?+G-Q;#L-"@T*<V5L96-T("=#4D5!5$4_at_3U(@4D503$%#12<@ M9G)O;2!D=6%L.PT*#0I314Q%0U0@=&5X= T*1E)/32 @(%5315)?4T]54D-% M#0I72$5212 @;F%M92 ]('5P<&5R*"<D7R<I#0I/4D1%4B!"62!L:6YE.PT* M#0IS<&]O;"!O9F8[#0H-"D5/1_at_T*?0T*#0H-"@T*<W5B($5X<&]R=%]3;W5R M8V4@>PT*(&EF("@D<&%R*2![#0H@("!O<&5N($E.+"(\)'!A<B([#0H@("!W
M:&EL92 H/$E./BD@>PT*(" @("!C:&]P.R!U8SL-"B @(" @)D5X<&]R=%]3 M;W5R8V5344P[#0H@("!]#0H@("!C;&]S92!)3CL-"B!]#0H_at_96QS92![#0H@ M("!W:&EL92 H/$--1#XI('L-"B @(" @8VAO<#L@=6,[#0H@(" @(&EF("@DM7R!E<2 G+B<I('L@;&%S=#L@?0T*(" @(" F17AP;W)T7U-O=7)C95-13#L-
M"B @('T-"B!]#0I]#0H-"@T*<W5B($EM<&]R=%]3;W5R8V4@>PT*(&EF("@D M<&%R*2![#0H@("!O<&5N($E.+"(\)'!A<B([#0H@("!W:&EL92 H/$E./BD@ M>PT*(" @("!C:&]P.R!U8SL-"B @(" @<')I;G0@(G-T87)T('-O=7)C95Q<M)%\N<W%L7&XO7&XB.PT*(" @?0T*(" @8VQO<V4_at_24X[#0H@?0T*(&5L<V4@
M>PT*(" @=VAI;&4@*#Q#340^*2![#0H@(" @(&-H;W [('5C.PT*(" @("!I M9B H)%\@97$@)RXG*2![(&QA<W0[('T-"B @(" @<')I;G0@(G-T87)T('-O M=7)C95Q<)%\N<W%L7&XO7&XB.PT*(" @?0T*('T-"GT-"@T*#0IS=6(@4W%LM('L-"B!I9B H)'!A<BD@>PT*(" @<')I;G0@)'!A<BPB7&XB.PT*('T-"B!E
M;'-E('L-"B @('=H:6QE("@\0TU$/BD@>PT*(" @(&-H;W [('5C.PT*(" @ M(&EF("@D7R!E<2 G+B<I('L@;&%S=#L@?0T*(" @('!R:6YT("1?+")<;B([ 3#0H@("!]#0H@?0T*?0T*#0H-"@``
![]() |
![]() |