11g Upgrade - Network ACL

I want to upgrade my oracle 10g database to 11g. the utlui112.sql script shows following -
WARNING: --> Database contains schemas with objects dependent on network packages.
.... Refer to the Upgrade Guide for instructions to configure Network ACLs.
.... USER MDMSYS has dependent objects.
According to documentation , it is not clear whether I need to install XML DB before upgrade or after upgrade to 11g.
I run the following query and result is as follows -
SQL >SELECT * FROM DBA_DEPENDENCIES WHERE referenced_name IN ('UTL_TCP','UTL_SMTP','UTL_MAIL','UTL_HTTP','UTL_INADDR')
AND owner NOT IN ('SYS','PUBLIC','ORDPLUGINS');
OWNER NAME TYPE REFERENCED_OWNER REFERENCED_NAME REFERENCED_TYPE
REFERENCED_LINK_NAME DEPE
MDMSYS MDM_JOB PACKAGE BODY PUBLIC UTL_TCP SYNONYM
HARD
MDMSYS MDM_JOB PACKAGE BODY MDMSYS UTL_TCP NON-EXISTENT
Can someone plaease help on how I can configure the network ACLs?

Hi ,
You can grant to a network and not necessary to grant each machines IP details.
Also this has to be granted to users or the principal is the schema who will be executing this utl_smtp.
If there are multiple users, then you need to grant access to each user.
You need to configure below steps to grant access to the user for utl operations.
This is a new security feature to 11g.
Please review below document :
Oracle® Database Security Guide
11g Release 1 (11.1)
Part Number B28531-06
4 Configuring Privilege and Role Authorization
Managing Fine-Grained Access to External Network Services
URL : http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authorization.htm#CIHDAJDJ
A example of the setting:
=================
If you are creating the ACL for the first time, you can directly go to step (d).
Please replace the values in < > with your environment values.
a. Drop the user privilege:(please run the below for all the users who are granted connect privilege).
BEGIN
DBMS_NETWORK_ACL_ADMIN.delete_privilege (
acl => '<mailserver_acl.xml>',
principal => '<MYUSER>',
is_grant => FALSE,
privilege => 'connect');
COMMIT;
END;
b. Unassign the network details from ACL (The ip address are only example, please replace with the
values you have specified)
BEGIN
DBMS_NETWORK_ACL_ADMIN.unassign_acl (
acl => '<mailserver_acl.xml>',
host => '<192.168.2.3>',
lower_port => <25>,
upper_port => <25>);
COMMIT;
END;
c. Drop the ACL
BEGIN
DBMS_NETWORK_ACL_ADMIN.drop_acl (
acl => '<mailserver_acl.xml>');
COMMIT;
END;
d. Create the acl again fresh:
BEGIN
DBMS_NETWORK_ACL_ADMIN.create_acl (
acl => 'mailserver_acl.xml',
description => 'Mailserver ACL',
principal => '<MYUSER>',
is_grant => TRUE,
privilege => 'connect',
start_date => SYSTIMESTAMP,
end_date => NULL);
COMMIT;
END;
e. Assign the acl to the network:(please have the ip address modified to correct IP of the machine where this utl package is targetted run.)
for example IP/hostname of mail server should be there for UTL_SMTP to execute.
BEGIN
DBMS_NETWORK_ACL_ADMIN.assign_acl (
acl => 'mailserver_acl.xml',
host => '<192.168.2.3>',
lower_port => <25>,
upper_port => <25>);
COMMIT;
END;
f.Test the package.
Thanks,
Sathya

Similar Messages

  • Network ACLs topics after upgrade to 11g.

    Hi Group
    On my pre script upgrade from 10.2.0.4 to 11.1.0.7, a message appear on the final part of the log:
    WARNING: --> Database contains schemas with objects dependent on network
    packages.
    .... Refer to the 11g Upgrade Guide for instructions to configure Network ACLs.
    .... USER USR_COMP has dependent objects.
    .... USER USR_DEV has dependent objects.
    Really I don't know what to do on this issue.
    I've read the instructions and I have executed the following but I'm not sure it be right procedure:
    BEGIN
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('netacl.xml',
    'Allow usage to the UTL network packages', 'USR_COMP', TRUE, 'connect');
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE('netacl.xml' ,'USR_COMP', TRUE, 'resolve');
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE('netacl.xml' ,'USR_DEV', TRUE, 'connect');
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE('netacl.xml' ,'USR_DEV', TRUE, 'resolve');
    -- Specify which hosts this ACL applies to,
    -- for simplicity, we're saying all (*)
    -- You might want to specify certain hosts to lock this down.
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('netacl.xml','*');
    END;
    How can I validate that both users now have the correct privileges from the old version?
    Thanks in advance

    Hi,
    Refer thread:
    11g Upgrade - Network ACL
    Hope helps :)
    thanks,
    X A H E E R

  • Best way to avoid requirement for network ACL after upgrade to 11g

    Hi All,
    After upgrade from 10g to 11g, I found Network ACLs required to make code using SYS.UTL_SMTP to work. Otherwise there is an error: ORA-24247: network access denied by access control list (ACL).
    Do you know an elegant way to get rid of ACLs? I mean to open the network for all user's code, like it was on 10g, instead of checking what is actually needing it and doing specific ACLs for users. Database parameter disabling ACL restrictions seems natural option here, but it looks like Oracle not introduced such.
    Kind Regards,
    Artzaw

    I don't know of a way to disable ACLs, no.  I'd imagine that there probably is a hidden parameter that Oracle Support could direct you to.  I'm hard-pressed to imagine why you'd really want to disable that functionality, though.
    You can create an ACL that allows access to an arbitrary host on an arbitrary port (host => '*.*.*.*' and with NULL lower_port and upper_port values). 
    Justin

  • 11g Upgrade Issues and Questions

    Hi,
    I am upgrading database from 9.2.0.6 to 11g in EBS, Apps version is 11.5.10.2.
    I have performed 11.1.0.7 patch set installation tasks & Apply additional 11.1.0.7 RDBMS patches
    Now my query is that I have to copy InitSID.ora from 9i to 11g before or after database Upgrade(using DBUA)?
    When I have to set Database Initialization Parameters for Oracle Applications Release 11i before or after database Upgrade(using DBUA)?
    Regard's
    GSM

    Hi,
    The output of utlu111i.sql script is as below before upgrade.We have to make any modification before upgrade.If yes where I have to do the changes.
    SQL> @utlu111i.sql
    Oracle Database 11.1 Pre-Upgrade Information Tool 04-09-2010 12:55:26
    Database:
    --> name: PROD
    --> version: 9.2.0.8.0
    --> compatible: 9.2.0
    --> blocksize: 8192
    --> timezone file: V4
    Logfiles: [make adjustments in the current environment]
    --> The existing log files are adequate. No changes are required.
    Tablespaces: [make adjustments in the current environment]
    --> SYSTEM tablespace is adequate for the upgrade.
    .... minimum required size: 8052 MB
    --> ODM tablespace is adequate for the upgrade.
    .... minimum required size: 10 MB
    --> APPS_UNDOTS1 tablespace is adequate for the upgrade.
    .... minimum required size: 299 MB
    --> APPS_TS_TX_DATA tablespace is adequate for the upgrade.
    .... minimum required size: 2322 MB
    --> APPS_TS_QUEUES tablespace is adequate for the upgrade.
    .... minimum required size: 70 MB
    --> OLAP tablespace is adequate for the upgrade.
    .... minimum required size: 16 MB
    Update Parameters: [Update Oracle Database 11.1 init.ora or spfile]
    WARNING: --> "compatible" must be set to at least 10.1.0
    Renamed Parameters: [Update Oracle Database 11.1 init.ora or spfile]
    -- No renamed parameters found. No changes are required.
    Obsolete/Deprecated Parameters: [Update Oracle Database 11.1 init.ora or spfile]
    --> "optimizer_max_permutations"
    --> "row_locking"
    --> "undo_suppress_errors"
    --> "max_enabled_roles"
    --> "enqueue_resources"
    --> "sql_trace"
    --> "background_dump_dest" replaced by "diagnostic_dest"
    --> "user_dump_dest" replaced by "diagnostic_dest"
    --> "core_dump_dest" replaced by "diagnostic_dest"
    Components: [The following database components will be upgraded or installed]
    --> Oracle Catalog Views [upgrade] VALID
    --> Oracle Packages and Types [upgrade] VALID
    --> JServer JAVA Virtual Machine [upgrade] VALID
    --> Oracle XDK for Java [upgrade] VALID
    --> Real Application Clusters [upgrade] INVALID
    --> OLAP Analytic Workspace [upgrade] UPGRADED
    --> OLAP Catalog [upgrade] VALID
    --> Oracle Text [upgrade] VALID
    --> Oracle XML Database [install]
    --> Oracle Java Packages [upgrade] VALID
    --> Oracle interMedia [upgrade] VALID
    --> Spatial [upgrade] VALID
    --> Data Mining [upgrade] VALID
    --> Oracle OLAP API [upgrade] UPGRADED
    Miscellaneous Warnings
    WARNING: --> Passwords exist in some database links.
    .... Passwords will be encrypted during the upgrade.
    .... Downgrade of database links with passwords is not supported.
    WARNING: --> Deprecated CONNECT role granted to some user/roles.
    .... CONNECT role after upgrade has only CREATE SESSION privilege.
    WARNING: --> Database contains stale optimizer statistics.
    .... Refer to the 11g Upgrade Guide for instructions to update
    .... statistics prior to upgrading the database.
    .... Component Schemas with stale statistics:
    .... SYS
    .... OLAPSYS
    .... MDSYS
    .... ODM
    WARNING: --> Database contains INVALID objects prior to upgrade.
    .... The list of invalid SYS/SYSTEM objects was written to
    .... registry$sys_inv_objs.
    .... The list of non-SYS/SYSTEM objects was written to
    .... registry$nonsys_inv_objs.
    .... Use utluiobj.sql after the upgrade to identify any new invalid
    .... objects due to the upgrade.
    .... USER APPS has 3 INVALID objects.
    WARNING: --> Database contains schemas with objects dependent on network
    packages.
    .... Refer to the 11g Upgrade Guide for instructions to configure Network ACLs.
    .... USER APPS has dependent objects.
    .... USER MDSYS has dependent objects.
    SYSAUX Tablespace:
    [Create tablespace in the Oracle Database 11.1 environment]
    --> New "SYSAUX" tablespace
    .... minimum required size for database upgrade: 500 MB
    PL/SQL procedure successfully completed.
    SQL> spool off
    Thank's
    Regards
    GSM

  • Problem creating Network ACL for a ROLE in Oracle 11gR2

    According to Oracle Documentation when you create a new Network ACL you can add privileges to a user or role.  I need to create a new ACL for the UTL_SMTP package for a specific role, but when I granted it the users who have that role are still getting the "ORA-24247: network access denied by access control list (ACL)" error when they try to send an email.  If I grant the ACL privilege to the same users directly it works fine.  Is there any step I'm missing?  This is the test I have made on my Solaris 10 - Oracle 11gR2 (11.2.0.3) Standard Edition server:
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 21 09:31:52 2013
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    SQL> CONNECT system/******@testdb
    Connected.
    SQL> SET LINES 1000
    SQL> SELECT * FROM v$version;
    BANNER
    Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Solaris: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    SQL> COLUMN host FORMAT A20
    SQL> COLUMN lower_port FORMAT 99999
    SQL> COLUMN upper_port FORMAT 99999
    SQL> COLUMN acl FORMAT A40
    SQL> COLUMN acl FORMAT A40
    SQL> COLUMN principal FORMAT A15
    SQL> COLUMN privilege FORMAT A10
    SQL> COLUMN is_grant FORMAT A8
    SQL> COLUMN status FORMAT A10
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    no rows selected
    SQL> SELECT acl,principal,privilege,is_grant FROM dba_network_acl_privileges;
    no rows selected
    SQL> CREATE USER testacl IDENTIFIED BY testacl;
    User created.
    SQL> GRANT CONNECT TO testacl;
    Grant succeeded.
    SQL>
    SQL> BEGIN
      2     dbms_network_acl_admin.create_acl('test_smtp.xml','TEST SMTP ACL','TESTACL',true,'connect');
      3     dbms_network_acl_admin.assign_acl('test_smtp.xml','localhost',25);
      4     commit;
      5  END;
      6  /
    PL/SQL procedure successfully completed.
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    HOST                 LOWER_PORT UPPER_PORT ACL
    localhost                    25         25 /sys/acls/test_smtp.xml
    SQL> SELECT acl,principal,privilege,is_grant FROM dba_network_acl_privileges;
    ACL                                      PRINCIPAL       PRIVILEGE  IS_GRANT
    /sys/acls/test_smtp.xml                  TESTACL         connect    true
    After creating this ACL I test it like this:
    SQL> CONNECT testacl/testacl@testdb
    Connected.
    SQL> SELECT host, lower_port, upper_port, privilege, status FROM user_network_acl_privileges;
    HOST                 LOWER_PORT UPPER_PORT PRIVILEGE  STATUS
    localhost                    25         25 connect    GRANTED
    SQL> DECLARE
      2     c utl_smtp.connection;
      3  BEGIN
      4     c := utl_smtp.open_connection('localhost', 25); -- SMTP on port 25
      5     utl_smtp.helo(c, 'localhost');
      6     utl_smtp.mail(c, 'Oracle11.2');
      7     utl_smtp.rcpt(c, '[email protected]');
      8     utl_smtp.data(c,'From: Oracle'||utl_tcp.crlf||'To: [email protected]'||utl_tcp.crlf||'Subject: UTL_SMTP TEST'||utl_tcp.crlf||'');
      9     utl_smtp.quit(c);
    10  END;
    11  /
    PL/SQL procedure successfully completed.
    SQL>
    This works fine and I receive the email correctly.  Now if I try to do the same thing for a role:
    SQL> CONNECT system/******@testdb
    Connected.
    SQL> BEGIN
      2     dbms_network_acl_admin.drop_acl('test_smtp.xml');
      3     commit;
      4  END;
      5  /
    PL/SQL procedure successfully completed.
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    no rows selected
    SQL> CREATE ROLE testacl_role;
    Role created.
    SQL> GRANT testacl_role TO testacl;
    Grant succeeded.
    SQL> ALTER USER testacl DEFAULT ROLE ALL;
    User altered.
    SQL>
    SQL> BEGIN
      2     dbms_network_acl_admin.create_acl('test_smtp.xml','TEST SMTP ACL','TESTACL_ROLE',true,'connect');
      3     dbms_network_acl_admin.assign_acl('test_smtp.xml','localhost',25);
      4     commit;
      5  END;
      6  /
    PL/SQL procedure successfully completed.
    SQL> SELECT host, lower_port, upper_port, acl FROM dba_network_acls;
    HOST                 LOWER_PORT UPPER_PORT ACL
    localhost                    25         25 /sys/acls/test_smtp.xml
    SQL> SELECT acl,principal,privilege,is_grant FROM dba_network_acl_privileges;
    ACL                                      PRINCIPAL       PRIVILEGE  IS_GRANT
    /sys/acls/test_smtp.xml                  TESTACL_ROLE    connect    true
    SQL>
    And now I test it again with the same user:
    SQL> CONNECT testacl/testacl@testdb
    Connected.
    SQL>
    SQL> SELECT host, lower_port, upper_port, privilege, status FROM user_network_acl_privileges;
    no rows selected
    SQL> DECLARE
      2     c utl_smtp.connection;
      3  BEGIN
      4     c := utl_smtp.open_connection('localhost', 25); -- SMTP on port 25
      5     utl_smtp.helo(c, 'localhost');
      6     utl_smtp.mail(c, 'Oracle11.2');
      7     utl_smtp.rcpt(c, '[email protected]');
      8     utl_smtp.data(c,'From: Oracle'||utl_tcp.crlf||'To: [email protected]'||utl_tcp.crlf||'Subject: UTL_SMTP TEST'||utl_tcp.crlf||'');
      9     utl_smtp.quit(c);
    10  END;
    11  /
    DECLARE
    ERROR at line 1:
    ORA-24247: network access denied by access control list (ACL)
    ORA-06512: at "SYS.UTL_TCP", line 17
    ORA-06512: at "SYS.UTL_TCP", line 267
    ORA-06512: at "SYS.UTL_SMTP", line 161
    ORA-06512: at "SYS.UTL_SMTP", line 197
    ORA-06512: at line 4
    SQL>
    I'm aware that role privileges doesn't apply inside procedures, functions or packages by default, but this is an anonymous block so it should use the active roles for the user.  I also tried adding a "dbms_session.set_role('TESTACL_ROLE');" at the beggining of the anonymous PL/SQL block but I got the same access error.
    Thanks in advance for any help you can give to me on this question, it would be very hard to grant the ACL to all the individual users as they are more than 1000, and we create more regularly.

    Thanks for your quick reply... I don't have a problem creating the basic ACL with the privileges granted for a user.  The problem appears when I try to create an ACL with privileges for a ROLE.  You can see here http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_networkacl_adm.htm#BABIGEGG than the official Oracle documentation states that you can assign the ACL principal to be a user or role:
    Parameter
    Description
    acl
    Name of the ACL. Relative path will be relative to "/sys/acls".
    description
    Description attribute in the ACL
    principal
    Principal (database user or role) to whom the privilege is granted or denied. Case sensitive.
    My issue is that when I try to create the ACL for a role it doesn't work.
    Have you ever created an ACL for a role? if so please send me an example or let me know which step I might be missing.  Cheers.

  • Oracle DB 10g to 11g Upgrade

    Hi,
    We have a SAP Oracle Database, the size is 1.5 TB.
    The Hardware details are
    Application – SAP ERP 6.0 EHP5 SPS6
    Database – Oracle 10.2.0.2
    OS Platform – AIX 5.3 TL05, SP06
    HW – 8 Dual Core CPU’s, 256 GB RAM on DB-CI server
    Test Environment : 32 GB RAM
    Please from your experience let me know how much time will a 10g to 11g upgrade will take.
    Regards,
    Narayan

    hi,
    There are several parameters you have to check before upgrading. Commonly it is independent of size of database.I think it will take as minimum 1 hour. Check the links to speed up upgrading and to consider pre-upgrade preparation:
    https://blogs.oracle.com/UPGRADE/entry/how_long_will_your_upgrade_tak
    http://www.oracle.com/technetwork/database/upgrade/best-practices-for-upgrading-11gr2-174946.pdf

  • Network ACL for two specific ports

    As far as I can tell there is no way to set Network ACLs such that only two specific ports are available. I'm using Oracle 11gR2.
    I'd like a HTTP port and an SMTP port open for the local loopback address. These are ports 7777 and 25. It's my understanding that you can have only one ACL per host. While it seems you can create more, any additional ACL's for the same host don't always work as expected. So does anyone have any advice as how I can do this? I'd rather not have every port between 7777 and 25 available but this is what I currently have...
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
    acl => 'local_loopback.xml'
    , host => '127.0.0.1'
    , lower_port => 25
    , upper_port => 7777
    );

    Billy  Verreynne  wrote:
    As far as I can tell there is no way to set Network ACLs such that only two specific ports are available. I'm using Oracle 11gR2.>Not so in my experience. An ACL can be for a specific target, but contain multiple ports for that target.
    E.g. I assign ports 80, 7777, 8080, and a few others, in a single web-acl.xml, to a network target (host or domain).
    Read the usage notes in Oracle® Database PL/SQL Packages and Types Reference.>Thanks I'll try that. I think we had problems in the past with separate ACL's containing rules for the same host, the response we got back from support was not to do that. This way didn't occur to me.

  • Oracle 11g upgrade: How to update stale statistics for sys and sysman?

    Hi,
    I am in the process of testing Oracle 11g upgrade from Oracle 10.2.0.3. I have run utlu111i.sql on the 10g database.
    The utility utlu111i.sql reports about the stale statistics for SYS and SYSMAN components.
    I executed dbms_stats.gather_dictionary_stats; dbms_stats.gather_schema_stats('SYS'); and dbms_stats.gather_schema_stats('SYSMAN');
    After that the utlu111i.sql still reports the stale statistics for sys and sysman. Does anyone know how to get rid off this warning successfully?
    Thanks,
    Sreekanth

    Does anyone know how to get rid off this warning successfully?Just ignore the warnings. Check The Utlu111i.Sql Pre-Upgrade Script Reports Stale Sys Statistics - 803774.1 from Metalink.

  • Oracle packages - nested table cursor - 11g upgrade testing

    I have a package call Crisis_Contacts. This package has a function(generate_file) in it that has a create cusor statement which calls on another function(split) in another package called NCF_UTL. In testing our code for a 11g upgrade the cursor statement calling on the split function is throwing a Error: ORA-00600: internal error code, arguments: [4814], [5], [0], [0], [], [], [], [], [], [], [], [] when compiling the package, which it was not doing prior to upgrade. Can you suggest a possible workaround or mod to this code to stop the error from occuring.
    Basically, this code is reading html files and spliting them into section and loading them into the cursor. Then the cursor is read to write them to a table. Then it reads the table and transmits the lines of html to another location.
    CREATE OR REPLACE package body ACADMGR.crisis_contacts as
    function generate_file( file_type in varchar2,
    person_pidm in integer := null,
    person_id in varchar2 := null,
    dry_run in varchar2 := 'N',
    pidm_filter in varchar2 := null,
    include_placeholders in varchar2 := 'N',
    comments in varchar2 := null ) return integer is
    cursor typeDef is
    select * from crisis_contact_file_type ccft
    where ccft.file_type = generate_file.file_type;
    file_type_def typeDef%rowtype;
    cursor fieldDef is
    select * from crisis_contact_file_field ccff
    where ccff.file_type = generate_file.file_type
    order by seq asc;
    type r_typ is ref cursor;
    r r_typ;
    datasel varchar2(32767) := '';
    r_pidm integer;
    pers_pidm integer := person_pidm;
    prev_pidm integer;
    r_tag varchar2(255);
    r_val varchar2(4000);
    type field_list is table of varchar2(256);
    type field_index is table of integer index by varchar2(256);
    type val_list is table of varchar2(4000);
    type req_tbl is table of boolean index by varchar2(256);
    req_fields field_list := field_list();
    all_req_seen boolean;
    fields field_list := field_list();
    vals val_list := val_list();
    field_idx field_index;
    out_id integer;
    out_line integer := 0;
    buf varchar2(4000);
    saved_out_line integer := 0;
    xml_section_lf_delims ncf_utl.split_tbl := ncf_utl.split_tbl( ncf_utl.crlf, chr(13), chr(10) );
    cursor splitcur( txt in varchar2 ) is
    select column_value line from table(ncf_utl.split( txt, xml_section_lf_delims ));
    cursor get_output is
    select text from crisis_contact_file_line
    where output_id = out_id
    order by line_no asc;
    log_time date := sysdate;
    log_seq integer := 1;
    procedure outp( txt in varchar2 ) is
    begin
    --dbms_output.put_line( txt );
    insert into crisis_contact_file_line
    ( output_id, line_no, text )
    values
    ( out_id, out_line, txt );
    out_line := out_line + 1;
    end;
    procedure split_outp( txt in varchar2 ) is
    begin
    if txt is not null then
    for r in splitCur( txt ) loop
    outp( r.line );
    end loop;
    end if;
    end;
    begin
    open typeDef;
    fetch typeDef into file_type_def;
    close typeDef;
    if pers_pidm is null and person_id is not null then
    select distinct(spriden_pidm) into pers_pidm from spriden
    where spriden_id = person_id;
    end if;
    insert into crisis_contact_file_out ( file_type, comments ) values ( file_type, comments )
    returning output_id into out_id;
    datasel := gen_outfile_sql( file_type, pers_pidm, pidm_filter, include_placeholders );
    if dry_run = 'Y' then
    ncf_utl.output_text( datasel );
    else
    split_outp( file_type_def.preamble );
    buf := '';
    for f in fieldDef loop
    fields.extend;
    fields(fields.last) := f.alias;
    field_idx(f.output_field) := fields.last;
    vals.extend();
    if f.mandatory = 'Y' then
    req_fields.extend;
    req_fields(req_fields.last) := f.output_field;
    end if;
    if file_type_def.file_mode = 'DELIM' and file_type_def.print_heading = 'Y' then
    buf := buf || case when fieldDef%rowcount > 1 then nvl(file_type_def.delimiter,',') else '' end ||
    nvl(file_type_def.quote,'') || nvl(f.alias,f.output_field) || nvl(file_type_def.quote,'');
    end if;
    end loop;
    if length(buf) > 0 then
    outp(buf);
    end if;
    --outp( '<?xml version="1.0" encoding="UTF-8"?>' );
    --outp( '<recipients>' );
    open r for datasel;
    loop
    fetch r into r_pidm, r_tag, r_val;
    exit when r%notfound;
    if prev_pidm is null or prev_pidm != r_pidm then
    if prev_pidm is not null then
    split_outp( file_type_def.record_end );
    all_req_seen := true;
    --check and reset 'seen' flags for required fields
    for i in 1..req_fields.count loop
    if vals(field_idx(req_fields(i))) is null then
    all_req_seen := false;
    end if;
    end loop;
    --if not all_req_seen then
    -- rollback to USER_START;
    -- out_line := saved_out_line;
    --end if;
    if all_req_seen then
    buf := '';
    for i in 1..fields.count loop
    if file_type_def.file_mode = 'XML' then
    outp( ' <' || fields(i) || '>' || vals(i) || '</' || fields(i) || '>' );
    elsif file_type_def.file_mode = 'DELIM' then
    buf := buf || case when i > 1 then nvl(file_type_def.delimiter,',') else '' end ||
    nvl(file_type_def.quote,'') || vals(i) || nvl(file_type_def.quote,'');
    end if;
    end loop;
    if file_type_def.file_mode = 'DELIM' then
    outp(buf);
    end if;
    end if;
    end if;
    --savepoint USER_START;
    --saved_out_line := out_line;
    if r_tag != 'endofdata' then
    split_outp( file_type_def.record_start );
    end if;
    for i in 1..fields.count loop
    vals(i) := null;
    end loop;
    end if;
    prev_pidm := r_pidm;
    if field_idx.exists(r_tag) then
    if r_val is not null then
    vals(field_idx(r_tag)) := r_val;
    end if;
    end if;
    end loop;
    if pers_pidm is not null then
    split_outp( file_type_def.record_end );
    end if;
    split_outp( file_type_def.postamble );
    --for o in get_output loop
    -- dbms_output.put_line( o.text );
    --end loop;
    end if;
    return out_id;
    end generate_file;
    procedure gen_and_transmit( file_type in varchar2,
    username in varchar2, pass in varchar2,
    pidm_filter in varchar2 := null,
    include_placeholders in varchar2 := 'N',
    comments in varchar2 := null,
    url_base in varchar2 := null, url_path in varchar2 := null,
    ssl_wallet_path in varchar2 := null, ssl_wallet_pass in varchar2 := null ) is
    out_id integer;
    begin
    out_id := generate_file( file_type, pidm_filter => pidm_filter,
    include_placeholders => include_placeholders,
    comments => comments );
    --transmit_file( out_id, username, pass,
    transmit_file( out_id, 'mhaywood', '------------',
    url_base => url_base, url_path => url_path,
    ssl_wallet_path => ssl_wallet_path, ssl_wallet_pass => ssl_wallet_pass );
    end gen_and_transmit;
    begin
    UTL_HTTP.set_persistent_conn_support( true, 10 );
    end;
    create or replace
    PACKAGE BODY NCF_UTL IS
    PROCEDURE OUTPUT_TEXT( BUFFER IN VARCHAR2, LINE_LEN IN INTEGER := 80 ) IS
    TYPE CHRLIST IS TABLE OF VARCHAR2(1);
    cr VARCHAR2(1) := CHR(13);
         lf VARCHAR2(1) := CHR(10);
         tab VARCHAR2(1) := CHR(9);
         whitespace CHRLIST := CHRLIST( ' ', tab );
         pos INTEGER := 1;
         len INTEGER;
         brk INTEGER;
         curbrk INTEGER;
         lnbrk INTEGER;
         whtbrk INTEGER;
         i INTEGER;
    BEGIN
    len := LENGTH(BUFFER);
         WHILE pos <= len
         LOOP
         WHILE SUBSTR( BUFFER, pos, 1 ) IN ( cr, lf )
         LOOP
         pos := pos + 1;
         END LOOP;
         --find the next newline type char, or pos+250 if one isn't found
    lnbrk := LEAST( NVL(NULLIF(INSTR( BUFFER, cr, pos ),0),pos+250),
                             NVL(NULLIF(INSTR( BUFFER, lf, pos ),0),pos+250) );
         --after the loop:
         -- whtbrk should be the last whitespace char before LINE_LEN + pos
         -- (or == pos, if none found)
         -- curbrk should be == 0 or the 1st whitespace after LINE_LEN + pos
         whtbrk := pos;
         curbrk := pos;
         FOR i IN 1..whitespace.COUNT
         LOOP
         LOOP
         curbrk := INSTR( BUFFER, whitespace(i), whtbrk + 1 );
              IF curbrk <= pos + LINE_LEN AND curbrk >= whtbrk THEN
              whtbrk := curbrk;
              END IF;
              EXIT WHEN curbrk > pos + LINE_LEN OR curbrk = 0;
              END LOOP;
              EXIT WHEN curbrk > pos + LINE_LEN;
         END LOOP;
         brk := LEAST( len + 1, lnbrk, NVL( NULLIF( whtbrk, pos ), pos + 250 ),
                        NVL( NULLIF( curbrk, 0 ), pos + 250 ), pos + 250 );
         dbms_output.put_line( SUBSTR( BUFFER, pos, brk - pos ) );
         pos := brk;
         END LOOP;
    END;
    function split( str in varchar2, d0 in varchar2, d1 in varchar2 := null,
    d2 in varchar2 := null, d3 in varchar2 := null,
    d4 in varchar2 := null, d5 in varchar2 := null,
    d6 in varchar2 := null, d7 in varchar2 := null,
    d8 in varchar2 := null, d9 in varchar2 := null )
    return split_tbl pipelined is
    pos integer := 1;
    curidx integer;
    idx integer;
    delims split_tbl;
    idx_delim varchar2(32767);
    len integer := length( str );
    begin
    if d0 is null then
    --split on whitespace
    delims := split_tbl( ' ', chr(9), chr(10), chr(13) );
    else
    delims := split_tbl( d0, d1, d2, d3, d4, d5, d6, d7, d8, d9 );
    end if;
    loop
    idx := -1;
    --we want the lowest value of IDX > 0
    for i in 1..delims.count loop
    curidx := instr( str, delims(i), pos, 1 );
    if curidx > 0 then
    if idx = -1 or curidx < idx then
    idx := curidx;
    idx_delim := delims(i);
    end if;
    end if;
    end loop;
    if idx > 0 then
    --if splitting on whitespace, treat any amount of it as
    --a single delimiter
    if d0 is not null or idx > pos then
    pipe row( substr( str, pos, idx - pos ) );
    end if;
    else
    -- also make sure to ignore trailing whitespace
    if d0 is not null or pos <= len then
    pipe row( substr( str, pos ) );
    end if;
    exit;
    end if;
    pos := idx + length( idx_delim );
    end loop;
    return;
    end split;
    function split( str in varchar2, delimiters in split_tbl := null )
    return split_tbl pipelined is
    i integer;
    cursor spcur( d0 in varchar2 := null, d1 in varchar2 := null,
    d2 in varchar2 := null, d3 in varchar2 := null,
    d4 in varchar2 := null, d5 in varchar2 := null,
    d6 in varchar2 := null, d7 in varchar2 := null,
    d8 in varchar2 := null, d9 in varchar2 := null ) is
    select column_value v from table (split(str,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9));
    function x( i in integer ) return varchar2 is
    begin
    if delimiters.exists(i) then
    return delimiters(i);
    else
    return null;
    end if;
    end;
    begin
    for r in spcur( x(0),x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9) ) loop
    pipe row( r.v );
    end loop;
    end split;
    END;
    Thanks

    Curious behavior, but irrelevant, IMHO, since one never switches back and forth between two releases in the real world. All that STARTUP UPGRADE does is that it enables upgrade scripts to be run - it does not prevent statements like CREATE USER from being executed since the upgrade may create new needed accounts
    http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve045.htm#SQPUG128
    HTH
    Srini

  • Oracle 11g upgrade in AIX 6.1 with HACMP

    Hi Friends,
    As i have two Power Servers running in AIX 6.1 with oracle 10g in HACMP in which SAP application is running.
    The one is standalone Database and other is central Instance.
    I have done the 11g upgrades successfully in my DEV and QAS servers which are non-cluster Environment.
    Now i want to do the same upgrade in PRD which is in HACMP.
    Please let me know what are the areas should i concentrate specially for cluster environment servers.
    Thanks,
    Hari

    DB Filesystems
    Filesystem GB blocks Free %Used Iused %Iused Mounted on
    /dev/hd4 4.00 2.62 35% 15438 3% /
    /dev/hd2 8.00 5.03 38% 57744 5% /usr
    /dev/hd9var 4.00 2.85 29% 10914 2% /var
    /dev/hd3 4.00 3.50 13% 2575 1% /tmp
    /dev/fwdump 1.00 1.00 1% 13 1% /var/adm/ras/platform
    /dev/hd1 1.00 1.00 1% 6 1% /home
    /dev/hd11admin 0.25 0.25 1% 107 1% /admin
    /proc - - - - - /proc
    /dev/hd10opt 1.00 0.58 43% 9040 7% /opt
    /dev/livedump 0.25 0.25 1% 7 1% /var/adm/ras/livedump
    /dev/lv_oracle 2.00 1.86 8% 21 1% /oracle
    /dev/lv_ora_pip 2.00 2.00 1% 80 1% /oracle/PIP
    /dev/lv_usr_sap 2.00 1.92 5% 78 1% /usr/sap
    /dev/lv_sapmnt 2.00 0.62 70% 978 1% /sapmnt
    /dev/dumplv 95.00 32.80 66% 26790 1% /dump
    /dev/saparchlv 2.00 1.99 1% 57 1% /home/pipadm
    /dev/lv_pip_64 10.00 5.73 43% 18988 2% /oracle/PIP/102_64
    /dev/lv_mirlogA 1.00 0.61 40% 6 1% /oracle/PIP/mirrlogA
    /dev/lv_mirlogB 1.00 0.61 40% 6 1% /oracle/PIP/mirrlogB
    /dev/lv_oraarch 200.00 121.48 40% 433 1% /oracle/PIP/oraarch
    /dev/lv_oralogA 1.00 0.59 41% 8 1% /oracle/PIP/origlogA
    /dev/lv_oralogB 1.00 0.59 41% 8 1% /oracle/PIP/origlogB
    /dev/fslv01 2.00 1.97 2% 102 1% /oracle/PIP/saparch
    /dev/lv_sapbkp 5.00 5.00 1% 40 1% /oracle/PIP/sapbackup
    /dev/lv_sapchk 5.00 5.00 1% 80 1% /oracle/PIP/sapcheck
    /dev/lv_data1 200.00 86.26 57% 30 1% /oracle/PIP/sapdata1
    /dev/lv_data2 200.00 84.92 58% 26 1% /oracle/PIP/sapdata2
    /dev/lv_data3 200.00 84.92 58% 26 1% /oracle/PIP/sapdata3
    /dev/lv_data4 200.00 84.92 58% 26 1% /oracle/PIP/sapdata4
    /dev/lv_data5 200.00 84.92 58% 26 1% /oracle/PIP/sapdata5
    /dev/lv_data6 200.00 84.92 58% 26 1% /oracle/PIP/sapdata6
    /dev/lv_data7 200.00 84.92 58% 26 1% /oracle/PIP/sapdata7
    /dev/lv_data8 200.00 84.93 58% 26 1% /oracle/PIP/sapdata8
    /dev/lv_saporg 20.00 20.00 1% 7 1% /oracle/PIP/sapreorg
    /dev/saptrance 5.00 4.92 2% 588 1% /oracle/PIP/saptrace
    /dev/lv_inventry 2.00 1.99 1% 55 1% /oracle/oraInventory
    /dev/lv_102_64 10.00 5.05 50% 11044 1% /oracle/stage/102_64
    CI
    /dev/hd4 4.00 1.99 51% 14429 3% /
    /dev/hd2 8.00 5.01 38% 57680 5% /usr
    /dev/hd9var 4.00 3.38 16% 10936 2% /var
    /dev/hd3 4.00 3.82 5% 1362 1% /tmp
    /dev/fwdump 1.00 1.00 1% 18 1% /var/adm/ras/platform
    /dev/hd1 1.00 1.00 1% 55 1% /home
    /dev/hd11admin 0.25 0.25 1% 5 1% /admin
    /proc - - - - - /proc
    /dev/hd10opt 1.00 0.58 42% 9024 7% /opt
    /dev/livedump 0.25 0.25 1% 8 1% /var/adm/ras/livedump
    /dev/lv_oracle 2.00 2.00 1% 9 1% /oracle
    /dev/lv_ora_pip 2.00 2.00 1% 52 1% /oracle/PIP
    /dev/lv_usr_sap 10.00 10.00 1% 17 1% /usr/sap
    /dev/lv_client 2.00 1.86 8% 16 1% /oracle/client
    /dev/lv_smnt_pip 10.00 2.20 78% 114142 18% /sapmnt/PIP
    /dev/lv_sap_pip 10.00 8.10 19% 1577 1% /usr/sap/PIP
    /dev/lv_sap_cms 5.00 5.00 1% 8 1% /usr/sap/ccms
    root@pagedb:/ $ su - orapip
    pagedb:orapip 1> echo $ORACLE_HOME
    /oracle/PIP/102_64
    i have upgraded successfully in my DEV and QAS.
    So can i go with the same procedure as i went with non-cluster Env.
    Thanks

  • 11g Upgrade from 10.2.0.4 in SUSE 10.

    Hi Gurus,
    We have 11g Database upgrade on our EBS 11i environment, database size is around 1.3 TB, i already did test upgrade it was not satisfactory results what client is expecting regarding downtime, i followed manual upgrade as i am very much familier with that, i your views and suggestions to reduce upgrade downtime.
    11g Upgrade from 10.2.0.4 in SUSE 10.

    Hi,
    Is your database is RAC or NON-RAC.
    If you are going for patchset upgrade then you can go for roll upgrade patch.
    as you know, you cannot escape the downtime always. ;-)
    i already did test upgrade it was not satisfactory results what client is expecting regarding downtime, i followed manual upgrade as i am very much familier with thatOracle introduces DBUA with many features, still why you are not going for DBUA?
    You have to test the TEST environment using DBUA ;-)
    If for example For 1.3 TB you are going to consistent backup, still you have down time. then there is no point to think on UPGRADE duration.
    but you can perform pro-actively like.. install the 11g ORACLE_HOME before the downtime. & so on.

  • 11G Upgrade - EBS 12.1.2

    I have a few questions on the 11G upgrade.
    DB - 11.2.0.3 - OS - zLinux
    EBS - 12.1.2 - SLES 10-SP3
    I am following note 1058763.1 (Interoperability Notes Oracle E-Business Suite Release 12 with Oracle Database 11g Release 2 (11.2.0) - and am at step 23 - Implement and Run Autoconfig
    Referring to 387859.1 (Using AutoConfig to Manage System Configurations in Oracle E-Business Suite Release 12), I have finished unzipping the appsutil.zip file to the $ORACLE_HOME on the database tier using the unzip -o appsutil.zip.
    The next step in 387859.1 requires running autoconfig on the DB tier - for which I don't find the $ORACLE_HOME/appsutil/scripts folder.
    Section 3.2 of 387859.1 refers to Installing JRE on the Database tier - however when I run the java -version command - I already get the following output on the upgraded 11g home.
    tebsdb01:EBST1:/t01/product/db11.2.0.3 > java -version
    java version "1.6.0"
    Java(TM) SE Runtime Environment (build pxz6460sr9fp3ifix-20111215_04(SR9 FP3+IV12154))
    IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux s390x-64 jvmxz6460sr9-20111214_97396 (JIT enabled, AOT enabled)
    J9VM - 20111214_097396
    JIT - r9_20101028_17488ifx31
    GC - 20101027_AA)
    JCL - 20110727_04
    tebsdb01:EBST1:/t01/product/db11.2.0.3 >
    My first question - what steps have I missed that have resulted in a missing $ORACLE_HOME/appsutil/scripts folder
    My second question - if my java version is already 1.6.0, is there a need to continue with instaling JRE on the database tier?
    This is the first time I am running through a 11g upgrade - hence the plethora of questions.
    Thanks so much in advance for your help.
    Regards

    One last question regarding this 11gR2 upgrade.
    My APPS and BA team are now asking what kind of testing they should be doing on an upgraded 11gR2 instance.
    Can anyone who has upgraded an instance (DB only) shed some light on this aspect of the QA testing process?Since the database upgrade does not change any of the underlying objects under Oracle EBS schemas, you need to do basic checks to verify this upgrade. Examples are ..
    - You can shutdown/startup the database with no issues
    - No errors are reported in the database log files
    - Submit concurrent programs and make sure it completes successfully
    - Make sure CM and all services are up
    - Create/Update Users/Responsibilities
    - Make sure AutoConfig complete successfully
    ..etc
    Thanks,
    Hussein

  • Can I use an airport express to extend a Cisco E4200 802.11n or 802.11g wireless network?

    Can I use an Airport Express to extend a Cisco E4200 802.11n or 802.11g wireless network?  I'd like to improve access in a dead spot with an airport express. I know I can connect this wayt for airplay, but how about extending the signal?
    Thx! ACB

    Apple's "extend a wireless network" function appears to be a proprietary feature that works only with other Apple AirPort routers. As far as we know, this feature is not compatible with devices from other manufacturers.
    It would be extremely unlikely that the Express could do what you want, but some things are never known until  you try.

  • [Urgent] Some questions about OID/OSSO 10g - 11g upgrade

    Dear all,
    We are under doing upgrading assessment of OID/OSSO 10g to 11g for a customer. After reviewed the 'upgrading guide', we still have some questions as below:
    1.     Whether the ‘10g DIP profiles’ will be still available after the OID 11g upgrade? Currently there are some sync of AD<->OID and DB->OID.
    2.     Whether the ‘WNA’ function will still work after the upgrade?
    3.     Is there a big change of OID API from 10g to 11g? If so, I think a big effort maybe on application modification.
    4.     I found that there is a OAM Basic version for OSSO 10g upgrade. So if this OAM Basic will migrate the OSSO configuration (like external application) automatically, or it must be re-configed after the upgrade?
    5.     Currently customer config OID 10g as BPEL/ESB’s identity store. So does BPEL/ESB 10g is certificated with OID 11g also? I didn’t find the certification so far.
    Thank you in advance and any comment are welcome.

    Dear all,
    We are under doing upgrading assessment of OID/OSSO 10g to 11g for a customer. After reviewed the 'upgrading guide', we still have some questions as below:
    1.     Whether the ‘10g DIP profiles’ will be still available after the OID 11g upgrade? Currently there are some sync of AD<->OID and DB->OID.
    2.     Whether the ‘WNA’ function will still work after the upgrade?
    3.     Is there a big change of OID API from 10g to 11g? If so, I think a big effort maybe on application modification.
    4.     I found that there is a OAM Basic version for OSSO 10g upgrade. So if this OAM Basic will migrate the OSSO configuration (like external application) automatically, or it must be re-configed after the upgrade?
    5.     Currently customer config OID 10g as BPEL/ESB’s identity store. So does BPEL/ESB 10g is certificated with OID 11g also? I didn’t find the certification so far.
    Thank you in advance and any comment are welcome.

  • [Urgent] Some questions about Oracle Portal 10g - 11g upgrade

    Dear friends,
    We are under doing upgrading assessment of Oracle Portal from 10g to 11g. After reviewed the 'upgrading guide', we still have some questions as below:
    1. Whether the 'Instant Portal' feature remain in Oracle Portal 11g? If yes, how to migrate the Instant Portal 10g sites? If no, any workaround?
    2. Whether the old 10g Page Group and Pages will be still available after 11g upgrade? Also can customer import the old 10g transportset into Portal 11g?
    3. How about the customized Portal 10g objects (such as customized template, style, attributes) after 11g upgrade? Still be usable?
    4. Customer use PDK to develop many portlets in 10g. Can they use JDeveloper 11g to migrate their old project to 11g automatically?
    Thank you in advance and any comment are welcome.

    1. Whether the 'Instant Portal' feature remain in Oracle Portal 11g? If yes, how to migrate the Instant Portal 10g sites? If no, any workaround?Instant Portal is not available anymore in Oracle Portal 11g. The Instant Portal page groups will be migrated to standard Portal page groups. Maintenance of the Instant Portal can be done with the standard Portal tools. The Instant Portal tools are not available anymore.
    Whether the old 10g Page Group and Pages will be still available after 11g upgrade? Also can customer import the old 10g transportset into Portal 11g?Old 10g Page Groups are migrated to Portal 11g. They will still be available after the upgrade.
    Export/Import through transports sets has always been limited to instances of the same version. It is not supported between versions as documented in the Administration Guide :
    [11.2.1|http://download.oracle.com/docs/cd/E14571_01/portal.1111/e10239/cg_imex.htm#CCJBCCGD] System Requirements
    Before exporting and importing content, ensure that your system meets the minimum system requirements, as described in this section.
    Notes:
    * Export and import functions only within the same release of Oracle Portal and the same patch release, for example, release 10.1.4 to release 10.1.4 or release 11.1.1 to release 11.1.1. You cannot export and import between two different releases, such as release 10.1.2 to release 10.1.4 or release 10.1.4 to release 11.1.1.
    How about the customized Portal 10g objects (such as customized template, style, attributes) after 11g upgrade? Still be usable?Customized objects get migrated as well. Certain types (e.g. PL/SQL item types) need to be checked after upgrade as the behavior of the PL/SQL code may differ between database versions. This is particularly of concern when the 10.1.4.x Portal uses a 10.1 database. A database upgrade to either 10.2, 11.1 or 11.2 is necessary as Portal 11g is not supported with RDBMS 10.1.
    Customer use PDK to develop many portlets in 10g. Can they use JDeveloper 11g to migrate their old project to 11g automatically?Never done this, but the Portal framework is able to consume JPDK providers which are running in older versions of the toolkit. If the providers are running in standalone OC4J containers, you would be able to upgrade the framework and keep the providers in their OC4J containers. This will allow you to focus on the framework first and worry about your providers later.
    Thanks,
    EJ

Maybe you are looking for

  • I can't find my iMovie in iTunes?

    I created an iMovie app project on my iPad and uploaded it to youtube and iTunes? It's running on youtube, but I cannot find it on iTunes on my PC (or the iPad). I just updated to iTunes11. I went back into iMovie to upload again, but it warned me 'y

  • The server has experienced an error on startup.

    Has anyone seen this error before? The server has experienced an error on startup. This problem must be fixed before using the system. I am not sure what caused it but I first saw it after restarting the server and now when I go to http://localhost/p

  • When i try to burn a disk, it says "disk software not found" PLEASE help.

    (Build 9200) ASUSTeK Computer Inc. K54C iTunes 10.7.0.21 QuickTime not available FairPlay 2.2.19 Apple Application Support 2.2.2 iPod Updater Library 10.0d2 CD Driver 2.2.3.0 CD Driver DLL 2.1.3.1 Apple Mobile Device 6.0.0.59 Apple Mobile Device Driv

  • SMQ1 - SYSFAIL - Middleware

    Dear Gurus, I'm working on CRM 5.0 and I'm creating a BP. After create, when i check transaction SWM01 the BDOC is wating(yellow) then I check transaction SMQ1 and the is an error in the outbound queue. The status is assigned as SYSFAIL and when I ch

  • NEED A "MIME" PLUG-IN?

    I received an error message indicating that my i-Book G4 10.4.2 does not contain the "MIME" plug-in. Can anyone tell me where to find and download this plug-in? I am a novice user so any assistance will be greatly appreciated. Thanks, Ian