RE: New database releases - training dev staff

  • From: "Goulet, Dick" <DGoulet@xxxxxxxx>
  • To: <bob_murching@xxxxxxxxx>, "Oracle Discussion List" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 31 Aug 2005 09:46:25 -0400

Bob,
 
    In our shop I normally get the task of doing a power point on the
new features that the developers will be interested in, things like the
10g recyclebin whenever we get to that, while keeping the DBA only stuff
out.  The presentations are scheduled for each group of developers we
have & we have a few.  Attendance is spotty, but that's the way it goes.
The power Points are posted on out intranet home page for future
reference.  As far as dbms_crypto & utl_mail, etc...  When I get wind of
a need that could use these things I normally create a wrapper around
them that the developers then use.  As in the case of mail:
 
create or replace procedure vicor_mail(addressee in varchar2, subject in
varchar2,
                                       message in varchar2, sender in
varchar2 default null) is
  c utl_smtp.connection;
  v_crlf VARCHAR2(2):= CHR(13)||CHR(10);
  v_msg varchar2(32767);
  v_add_src varchar2(2000);
  v_addr varchar2(40);
  msg_chunck varchar2(2000);
  mail_server varchar2(30);
  madr varchar2(100);
  slen number := 1;
  dmy number := 0;
  a number := 0;
  t number := 0;
 
begin
  select default_mail_server into mail_server
  from oracle_server;
  c := utl_smtp.open_connection(mail_server);
  utl_smtp.helo(c, mail_server);
  if(sender is not null) then
    madr := replace(sender,' ','_');
    utl_smtp.mail(c, madr);
  else utl_smtp.mail(c, 'Import<import@xxxxxxxx>');
  end if;
  v_add_src := replace(addressee,' ','_');
  if(instr(addressee,',') = 0) then utl_smtp.rcpt(c, v_add_src);
  else
    v_add_src := replace(addressee,' ','_')||',';
    while(instr(v_add_src,',',slen) > 0) loop
      v_addr := substr(v_add_src, slen, instr(substr(v_add_src,
slen),',')-1);
      slen := slen+instr(substr(v_add_src, slen),',');
      utl_smtp.rcpt(c, v_addr);
    end loop;
  end if;
  utl_smtp.open_data(c);
  utl_smtp.write_data(c, 'SUBJECT: '||subject||utl_tcp.CRLF);
  v_msg := utl_tcp.CRLF||replace(replace(message,'  ',' '),'
',chr(10));
  if(length(v_msg) > 2000) then
     while(a < length(v_msg)) loop
       msg_chunck := substr(v_msg, a, 2000);
       a := a+length(msg_chunck);
       utl_smtp.write_data(c,msg_chunck);
     end loop;
  else  utl_smtp.write_data(c, v_msg);
  end if;
  utl_smtp.close_data(c);
  utl_smtp.quit(c);
end;
 
The developer then uses the procedure vs. all of the other stuff.  And
yes this made it's was up from an earlier version of UTL_SMTP,

  _____  

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Murching, Bob
Sent: Wednesday, August 31, 2005 9:34 AM
To: 'Oracle Discussion List'
Subject: New database releases - training dev staff



Good morning! 

I'd be interested to know how DBA groups elsewhere do knowledge transfer
of new database features (from an application development perspective)
to the staff who ultimately build applications against the databases you
administer.  Granted, these people may be pure developers, analysts or
architects, app DBAs or something else from shop to shop, but eventually
someone needs to decide whether to use dbms_crypto, utl_mail or
whatnaught and that person needs to train others.  What's worked, what
hasn't?

In the past, we've done some "brown bag" lunchtime sessions in a
conference room, primarily DBAs giving brief (30min) sessions on new
features, or cool tips/tricks with SQL or PL/SQL, the 10g recyclebin,
and so forth, usually with senior development staff and dev team
technical managers.  (It's fallen off a bit lately.)  These have worked
well although they've been a bit scattershot--unstructured and more of a
volunteer effort.

Thoughts? 

Bob 

Other related posts: