FreeLists

Hi,
I tried to get some knowledge about MSSM - Freelists. I want to make sure I have correct concept and knowledge about Freelist. Please anyone correct me if I am wrong.
1. Freelists create at segment level
2. Maintain free block list for using new insert into a segment.
3. Segment header block contain freelist.
4. Oracle server read header block from segment and put into data buffer cache whenever we perform any operation on that segment such as DML,DDL or query.
Thanks.
Asif

Thank you Mr. Jonathan. I appreciate your answer. You almost solve my problem but I have still one confusion about multiple freelist group.
I created a table with multiple free list groups and multiple free lists. however, when I look at DBA_SEGEMENTS view that show only one header block instead of two. As you told me multiple groups contain multiple header blocks. I was expecting this view supposed to show two header blocks. Here is output:
SQL> ed
Wrote file afiedt.buf
  1  create table xyz
  2  (name varchar2(10))
  3* storage(freelist groups 2 freelists 2)
SQL> /
Table created.
SQL> ed
Wrote file afiedt.buf
  1* select substr(segment_name,1,20),header_block,blocks,freelists,freelist_groups from dba_segments where segment_name='XYZ'
SQL> /
SUBSTR(SEGMENT_NAME, HEADER_BLOCK     BLOCKS  FREELISTS FREELIST_GROUPS
XYZ                                     115                              7          2                       2
Could you please through a light on it why is not showing two block header. Is there any other view that can show more header block of multiple groups?

Similar Messages

  • Freelist and freelist groups

    Hi,
    I was reading about buffer busy waits (based on oracle 10g), and i came across two terms i was unfamiliar about... freelist and freelist groups . Can somebody explain the meaning of these two terms and how it is related to objects ?? I am more interested in single instance database and not about RAC..
    Is this relevant to current version of oracle database(11g) as well???
    Thanks in advance.

    Freelist is a part of the object and are maintained to define the candidate blocks which are available for the DMLs. The parameters PCTUSED, PCTFREE are going to be making the blocks go in and out of the freelist. Its a linked list whose starting point is the segment header block and that's what is the cause of the issue is what you have mentioned, buffer busy wait. Buffer busy wait is just a cummulative wait event and does have many of the reasons. What is going to be caused by the freelist is going to be the buffer busy wait for the segment header. Since the segment header is going to be pinned each and every time the scan for the free list is requested, its going to come under contention under a very heavy OLTP enviroment. That's why Oracle introduced, in 9i, ASSM which is Automatic Segment Space Management, a more optimized, bitmap based functionality , which removes the use of freelist altogether* . So even in 11g, the concept remains if you want to make the segment space management manual.
    I would not suggest you to read that link which you have quoted but would suggest to read this MOS note,
    MOS doc id 157250.1, "Freelist Management with Oracle 8i" by Stephan Haisley .
    I don't think freelist are explained anywhere better than what is there in the above document. Please note, you need to have valid CSI to login to MOS.
    HTH
    Aman....
    * ASSM is not really a very nice thing actually but that is another topic to discuss so let's leave it for the moment.

  • ASSM and FREELIST

    Hi guys,
    Anyone knows if is possible to check how many Freelists are set in a Table which is in a ASSM tablespace?
    I know that Oracle automatically set the Freelist for ASSM tablespaces and I just want to check how many freelists oracle is setting to a particular table.
    Thanks,
    Paulo.

    Freelists and ASSM are mutually exclusive. Either the table is in a non-ASSM tablespace, in which case the table has freelists, and how many can be observed with:
    select freelists from dba_tables where owner='&owner' and table_name = '&table_name';
    Or the table is in an ASSM tablespace, in which case there are no free list data structures, and free space is managed via bitmap blocks. More information on the differences can be found here:
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/tspaces.htm#ADMIN10065
    Hope that helps,
    -Mark

  • Help calculating freelist groups

    I know that the freelist groups are recommended mainly for RAC, but I have tried using multiple freelist groups in a single instance and it brings my throuput much higher. I have heavy insert application - avarage 300,000 inserts per minute.
    This is a part of my statpack:
    Top 5 Timed Events
    ~~~~~~~~~~~~~~~~~~ % Total
    Event Waits Time (s) Call Time
    db file sequential read 10,153,306 95,294 86.78
    CPU time 7,538 6.86
    db file parallel write 221,671 3,257 2.97
    log file sync 173,262 1,747 1.59
    log file parallel write 310,194 1,311 1.19
    Initialy I tried with ASSM but the throuput was not goodand the concurency was extreamly high. Then I switched to Manual sement management and got worst results with single freelist setting. Then I increased the freelists to the number of the concurent user and had a huge insert improvement - almost 25% higher insert rate but not every time I was connecting - due to the process_id connecting the to freelist probably. I decided to try using a freelist groups and rebuild the tables and indexes with multiple freelist groups with single freelist. The throuput was even better then multiple freelists alone. But the tables/indexes are growing a lot and I have a lot of waisted space. (I also consider using higher pctfree factor of 50% to release the concurency) With over 70 mln rows per table - this is huge...
    Please, help me calculate what will be the optimal freelist groups and freelists attached to them for good balance between space and high insert performance. There'll be space wasted but this is ok - the storage is not too expensive today...
    Thanks a lot,mj

    Marc,
    the logic goes like this:
    select from a couple of tables to find out if we have this record. If yes - specific logic based on select/Inserts, very rear deletes. If no - then insert the new records into 15 different tables. Then the next records comes. Inserts are all like insert into.. values..(bind variables) the sequences are cached 20,000.
    The sequentials reads, I guess, come from the selects but the most waiting statements are inserts. I use the max of freelists - 48/4K page, and initrans = 90. For the most selectable tables I also use pct free = 60 to keep less data in the block.
    The major contention is on the data block.
    I'm trying to calculate resonable amount of freelists group/feelists to get the optimum performance with less space waist. The space is not an issue, but that will bother the selects... much more Physical reads...
    Any idea is greatly appreciated.
    Thanks a lot,mj
    Message was edited by:
    mjschwenger

  • FREELIST TUNING(FREELIST의 CONTENTION 확인 방법)

    제품 : ORACLE SERVER
    작성날짜 : 2002-05-15
    Freelist Tuning(Freelist의 contention 확인 방법)
    ==================================================
    PURPOSE
    Freelist Tuning은 Process Freelist 와 Freelist Group의 contention을 최소화하기 위한 것이다.
    Explanation
    1. Freelist의 종류(Bul. 11101)
    : Freelist는 master freelist, process freelist, transaction freelist가 있다.
    (1) Master freelist: Oracle의 내부 메커니즘에 의해 자동으로 생성되며
    모든 process가 access할 수 있고 commit된 transaction에 의해
    transaction freelist의 free block을 포함한다.
    (2) Process freelist: Create시에 storage option에 freelist 설정시 생성되는 freelist로
    process는 자신에게 할당되어 있는 process freelist에 대해서만 사용 가능하다.
    master freelist 와 마찬가지로 committed free blicks을 포함하며,
    동시작업이 많은 환경에서 master freelist의 header의 contention을
    줄이위한 목적으로 사용된다.(8.1.6 이상 부터는 alter command로 freelist 변경이 가능하다.)
    (3) Transaction freelist: 모든 transaction에게 할당되는 freelist로
    하나의 segment에 최소한 16개의 transaction free list가 있으며,
    블럭이 찰 때까지 필요에 따라 증가된다.
    transaction내의 update/delete작업에 의해 free된 블럭을 포함하며,
    current(active) transaction 만이 자신의 freelist를 사용하게 된다.
    transaction이 commit이 되면, transaction freelist에 있던 block은
    master나 process freelist로 옮겨진다.
    2. Process freelist contention
    : Single intance에서 한개의 master freelist만을 사용하게 될 경우
    freelist contention이 발생될 수 있다.
    그러므로 object생성시에 여러개의 process freelist를 사용하도록
    freelist를 설정하게 되면 한 table에 대해 동시에 free block를 찾게 됨으로써
    발생하는 contention을 줄일 수 있다.
    : Freelist를 효과적으로 이용하려면 oracle에 의해
    extent가 자동으로 allocation되는것을 최소화하고
    extent를 object 생성시에 정의를 하는 것이 좋다.
    이유는 table에 자동으로 extent가 할당되는 경우 master pool(common pool)에
    block을 추가하게 되므로 contention을 야기시킬 수 있다.
    3. Freelist group contention
    : OPS환경에서 instance간의 freelist contention을 줄이기 위해 freelist group를
    설정할 수 있다. group의 수는 OPS의 node수와 동일하게 설정하는것이 일반적이다.
    4. Freelist Tuning Parameter
    1) PCTUSED
    2) PCTFREE
    3) Process freelist
    4) Fresslist group
    5. Freelist contention 확인 방법
    : v$waitstat와 v$system_event에서 buffer busy wait event를 찾고
    v$session_wait에서 waiting중인 session의 file#, block# 를 통해
    object name과 freelist 갯수를 알아낸다.
    1) v$waitstat 에서 data block, segment header value가 높고
    v$system_event에서 buffer busy waits 에서 total_wait, total_time이 높으면
    freelist contention 을 의심해 보아야 한다.
    SVRMGR> select * from v$waitstat;
    SVRMGR> select * from v$system_Event;
    2) v$session_wait에서 buffer busy waits 에서
    대기중인 session의 P1(file#), P2(block#), P3(id)를 찾아
    object name과 freelist 갯수를 찾는다.
    SVRMGR> select * from v$session_Wait;
    SVRMGR> select segment_name, segment_type
    from dba_extents
    where file_id=file#
    and block between id and id + block#;
    위에서 확인한 segment_name과 segment_type을 이용하여
    freelist 갯수를 확인한다.
    SVRMGR> select segment_name, freelists
    from dba_segments
    where segment_name=segment
    and segment_type=type;
    3) Freelist tuning
    : Freelist 의 default 갯수는 1이고 적절한 갯수는 동시에 동일한 table(index, cluster...)에
    insert를 할 수 있는 process의 갯수로 지정하는것이 적당하다.
    일반적으로 CPU 수 만큼 설정하면 충분하다.
    6. 그외 event
    (1) select * From v$waitstat; 에서 buffer busy wait 인 class가 data block일 경우
    Solution) pctfree/pctused를 바꾸거나 DB_BLOCK_SIZE를 줄여서 block당 rows수를 줄인다.
    (2) select * From v$waitstat; 에서 class가 segment header일 경우
    Solution) freelists를 사용하시거나 freelists의 수를 늘려준다.
    table이 정기적으로 커지는 경우 너무 작은 extent size는 header에 contention을 일으킬수 있다.
    이럴경우 table의 extent size를 늘려 주시는 것을 고려해 보아야 한다.
    (3) select * From v$waitstat; 에서 class가 undo header일 경우
    Solution) rollback segment당 transaction수를 줄이기 위해서
    rollback segments 를 더 추가한다.
    (4) select * From v$waitstat; 에서 class가 undo block일경우
    Solution) exclusive mode에서 rollback segments를 더 크게 만들어야 한다.
    Reference Ducumment
    Note. 76702.1
    Note. 1029850.6

  • Generating FREELIST storage clause from Designer

    Hi,
    We are using Designer 6.0 to generate our tablespace and table DML. I am currently trying to get Designer to generate a CREATE TABLE command of the form (where the FREELIST GROUP clause is the subject of this question).
    CREATE TABLE
    test_table( id NUMBER )
    TABLESPACE TEST_TBL
    STORAGE (FREELIST GROUPS 2)
    I know that a FREELIST GROUP can be specified at the Storage Definition level in Designer 6.0 and that these Storage Definitions can be assigned to tablespaces and tables. However, even setting it at the Storage Definition level and assigning that definition to the Table won't generate it in the DML script for the table.
    Are there other options that need to be set before the FREELIST GROUPS storage clause can be generated ? - I want to avoid changing the scripts by hand.
    Any help is appreciated,
    Natalina

    DROP TABLE t;
    create table t as select * from all_objects where 1=0;
    begin
    dbms_metadata.set_transform_param( DBMS_METADATA.SESSION_TRANSFORM, 'SEGMENT_ATTRIBUTES', false );
    dbms_metadata.set_transform_param( DBMS_METADATA.SESSION_TRANSFORM, 'SQLTERMINATOR', TRUE );
    end;
    SELECT REPLACE(
      DBMS_METADATA.GET_DDL( 'TABLE', 'T'),
      '"'||USER||'".',
    from dual;
    CREATE TABLE "T"
       (     "OWNER" VARCHAR2(30) NOT NULL ENABLE,
         "OBJECT_NAME" VARCHAR2(30) NOT NULL ENABLE,
         "SUBOBJECT_NAME" VARCHAR2(30),
         "OBJECT_ID" NUMBER NOT NULL ENABLE,
         "DATA_OBJECT_ID" NUMBER,
         "OBJECT_TYPE" VARCHAR2(19),
         "CREATED" DATE NOT NULL ENABLE,
         "LAST_DDL_TIME" DATE NOT NULL ENABLE,
         "TIMESTAMP" VARCHAR2(19),
         "STATUS" VARCHAR2(7),
         "TEMPORARY" VARCHAR2(1),
         "GENERATED" VARCHAR2(1),
         "SECONDARY" VARCHAR2(1),
         "NAMESPACE" NUMBER NOT NULL ENABLE,
         "EDITION_NAME" VARCHAR2(30)
       ) ;To get CREATE TABLE statements for all the tables in your schema:begin
    dbms_metadata.set_transform_param( DBMS_METADATA.SESSION_TRANSFORM, 'SEGMENT_ATTRIBUTES', false );
    dbms_metadata.set_transform_param( DBMS_METADATA.SESSION_TRANSFORM, 'SQLTERMINATOR', TRUE );
    end;
    SELECT REPLACE(
      EXTRACTVALUE(
        XMLTYPE(
          DBMS_XMLGEN.GETXML(
            'SELECT DBMS_METADATA.GET_DDL( ''TABLE'', '''||TABLE_NAME||''' ) SCR FROM DUAL'
        , '/ROWSET/ROW/SCR'
      '"'||USER||'".',
    OBJECT_SCRIPT
    FROM USER_TABLES;I didn't post the output ;)
    Edited by: Stew Ashton on Mar 7, 2013 11:47 AM

  • Blocks have much more free space specified by pctfree moved off freelist.

    We have a table with pctfree=0 and pctused=90 and experienced high session against it. During the high session, we saw lots of "read by other session", cbc chain, and "buffer busy wait" caused by the same sql (INESRT). The row size of of an average 4K with long raw. After got the block info for the "read by other session" and "buffer busy wait", I dumped the block. The strange thing is that all the of blocks dumped are not in the freelist and the available free space is over 1K.
    My idea is: When the session named waiting_a experienced "read by other session" to find the block to insert data, that block must be in the freelist, otherwise the waiting_a wouldn't try to read it in buffer and wouldn't be waiting for it to be ready. Very shortly other session reading_b which was reading the block put the data in buffer and did the insert operation, and the reading_b completed its work of insert. My dump should be after reading_b completed. So the dumped block should contain the data inserted by reading_b. After that the block was got off from freelist.
    But why blocks with 0x520 (1312)and 0x104c (4172) freespace got off from freelist? As pctuse is 90, a block will be got off from freelist when free space is less than 10% of the block size, and these two blocks have much more freespace.
    TEST-prod-test$> grep tosp TEST_ora_23095.trc
    tosp=0x2a2
    tosp=0x104c
    tosp=0x520
    TEST-prod-TEST$> grep avsp TEST_ora_23095.trc
    avsp=0x2a2
    avsp=0x104c
    avsp=0x520
    TEST-prod-test$> grep flg TEST_ora_23095.trc
    scn: 0x0328.47520b02 seq: 0x02 flg: 0x04 tail: 0x0b020602
    seg/obj: 0x14e05  csc: 0x328.47520b02  itc: 1  flg: -  typ: 1 - DATA
    scn: 0x0328.47520f41 seq: 0x02 flg: 0x04 tail: 0x0f410602
    seg/obj: 0x14e11  csc: 0x328.47520f41  itc: 1  flg: -  typ: 1 - DATA
    scn: 0x0328.4752153a seq: 0x02 flg: 0x04 tail: 0x153a0602
    seg/obj: 0x14e0d  csc: 0x328.4752153a  itc: 1  flg: -  typ: 1 - DATA

    knowing Oracle specifically warns against using multiple blocksizes
    Nope.  Oracle does not warn against using multiple blocksizes, anywhere in the documentation.
    The only warnings I've seen (By Daniel Morgan, and unverified) claims that Oracle was negligent and only tested the SQL optimizer with an 8k blocksize.
    I'm not sure that this is true, since it would constitute misfeasance.
    I know that Oracle does extensive tesing on their new features, and the docs offer the multiple blocksize feature without reservation.
    Uisng multiple blocksizes is a well established, proven concept.
    DBA's have been using them for decades with IMS, IDMS and DB2 before Oracle came along.
    I first saw multiple blocksized used with great success in the 1980's, and they are still in use today on many large databases.
    provide a measurable idea what 'lots' constitute, and how much I/O is reduced in the shops you saw?There is load of verifiable evidence out there:
    http://www.google.com/search?&q=site%3Awww.tpc.org+db_16k_cache_size
    This UNISYS Oracle benchmark used multiple blocksizes to achieve optimal performance
    db_cache_size = 4000M
    db_recycle_cache_size = 500M
    db_8k_cache_size = 200M
    db_16k_cache_size = 4056M
    db_2k_cache_size = 35430M
    http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100883
    The IBM Oracle Technical Brief titled "Oracle Architecture and Tuning on AIX" (November 2006) notes that careful evaluation is required before implementing multiple blocksizes:
    While most customers only use the default database block size, it is possible to use up to 5 different database block sizes for different objects within the same database.
    Having multiple database block sizes adds administrative complexity and (if poorly designed and implemented) can have adverse performance consequences. Therefore, using multiple block sizes should only be done after careful planning and performance evaluation.
    https://metalink.oracle.com/metalink/plsql/f?p=130:14:4123909781200375285::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,46757.1,1,1,1,helvetica
    Metalink Note:46757.1 titled "Notes on Choosing an Optimal DB BLOCK SIZE" says that there are some benefits from having larger blocksizes

  • InitTrans and FreeList parameter

    Hi Everone,
    Someone suggested me to use initTrans and FreeList parameter in my Create Table script...
    Can you guide me if this parameter are really usefull and what to do
    test it....
    I really need the advanatage of this parameters and their pros and cons...
    Please help

    # of FreeLists -> responsible for insert performance
    initTrans -> responsible for update performance
    Increase the # of FreeLists if you expect a high number of concurrent inserts/deletes in your object.
    Increase initTrans if you expect a high number of concurrent updates in your table. A higher value reserves more space in the block header for setting the locks during row updates in the block. Avoids the need to allocate this space during runtime and ensures better (update) performance.
    HTH...Paul

  • How to decrease "Free (freelist)" memory and allow the ARC cache to use it?

    Hello,
    I have a solaris express server that will be primarily used for storage. As such cache usage maximization is important. It appears however that a big chunk of the memory is not been consumed, and remains "Free Free". There must be a tunable to allow this memory to be consumed, and grow the Arc Cache.
    Currently it shows (via arc_summary.pl and arcstat.pl) that it's however arround 39GB. It won't grow beyond that point. Here's memstat
    root@storage1:~# mdb -k
    Loading modules: [ unix genunix specfs dtrace mac cpu.generic uppc pcplusmp scsi_vhci zfs sata sd ip hook neti arp usba uhci stmf stmf_sbd fctl sockfs md lofs random idm mpt_sas crypto fcp cpc smbsrv nfs fcip sppp nsmb ufs logindmux ptm ipc ]
    ::memstatPage Summary                Pages                MB  %Tot
    Kernel                    2042997              7980   16%
    ZFS File Data             8679483             33904   69%
    Anon                       179051               699    1%
    Exec and libs                4623                18    0%
    Page cache                  19172                74    0%
    Free (cachelist)             6730                26    0%
    Free (freelist)           1646526              6431   13%
    Total                    12578582             49135
    Physical                 12578581             49135
    >

    Hello Abrante,
    These values are their default:
    $ arc_summary.pl
    System Memory:
             Physical RAM:  49135 MB
             Free Memory :  7052 MB
             LotsFree:      767 MB
    ZFS Tunables (/etc/system):
    ARC Size:
             Current Size:             36408 MB (arcsize)
             Target Size (Adaptive):   36408 MB (c)
             Min Size (Hard Limit):    6013 MB (zfs_arc_min)
             Max Size (Hard Limit):    48111 MB (zfs_arc_max)
    ARC Size Breakdown:
             Most Recently Used Cache Size:           6%    2275 MB (p)
             Most Frequently Used Cache Size:        93%    34132 MB (c-p)
    ...But as you can see, The server refuses to "consume" the last 7000 MB.

  • Freelists parameter in storage definitions Designer 6.0

    I have changed the freelists parameter in the storage parametrs. The table schema definition and implementation point to the correct storage parameters, however when I generate the schema, the freelists options are not included, is this a known bug? or do I have to setup something else?
    Please can somebody help?
    Regards.
    Jesmond
    null

    Hi Demet,
    Having read your question again I suspect that you are not asking about installation of database but about block sizes for table creation.
    You can set those types of properties using the DB Admin tab in the Design Editor. Go to your database -> Users -> Schema Objects -> Table Implementations and double click on the table in question
    Rgds
    Susan

  • Bitmap and freelist

    Hii
    I know that when I specify "segment space management auto" bitmap is used to manage free extents.
    and in Dictionary managed tablespaces freelists are used.
    What I want to know is, where does the information of bitmap or freelist stored?
    Does it stored in the first extent of the segment??

    Segment Space Management can be MANUAL or AUTO. The former uses a FreeList (or multiple FreeLists). The latter uses Bitmaps. Both are in the Segment Header.
    Dictionary management is not to do with Segments but Extents. Extent Management can be DICTIOARNY or LOCAL. The former uses the Data Dictionary tables to manage Extents, the latter uses Bitmaps in the Tablespace Datafile headers.
    Note that Extent Management LOCAL would be a pre-requisite for Segment Space Management AUTO.
    Hemant K Chitale
    http://hemantoracledba.blogspot.com

  • Hash clustered table and freelist

    We want to use hash clustered table to store a lookup table, that table has 300M rows, and every day it will get 100K rows. If using clustered table, we could get a best performance for lookup. My concern is the insert. For normal table, we could use freelist to let different transaction to insert into different block. But for clustered table, many transactions will insert into the same block as their hashed value will locate into the same block. And seems the concept of freelist will not apply to clustered table as a transaction has to operation against a specific block instead of a any-is-ok block

    For the insert operation, things will get worse when use a ID as the hash function, as the ID will increase 1 by 1, so most likely it will be inserted into the same block.
    If using the default hash function, we could avoid this problem, but oracle suggests to use
    "hash is HASH_KEY" when the id is distinct.

  • How get all sAMAccountName from LDAP?

    Good day ... i'm find this ...
    declare
    -- Adjust as necessary.
    l_ldap_host VARCHAR2(256) := &&;
    l_ldap_port VARCHAR2(256) := &&;
    l_ldap_user VARCHAR2(256) := &&;
    l_ldap_passwd VARCHAR2(256) := &&;
    l_ldap_base VARCHAR2(256) := 'dc=&&,dc=&&,dc=&&';
    l_filter varchar2(100) := '(&(sAMAccountName=*))';
    l_retval pls_integer;
    l_session dbms_ldap.session;
    l_attrs dbms_ldap.string_collection;
    l_message dbms_ldap.message;
    l_entry dbms_ldap.message;
    l_attr_name varchar2(256);
    l_ber_element dbms_ldap.ber_element;
    l_vals dbms_ldap.string_collection;
    l_raw dbms_ldap.binval_collection;
    l_result varchar2(100);
    begin
    -- Choose to raise exceptions.
    dbms_ldap.use_exception := true;
    dbms_ldap.utf8_conversion := false;
    -- Connect to the LDAP server.
    l_session := dbms_ldap.init(hostname => l_ldap_host, portnum => l_ldap_port);
    l_retval := dbms_ldap.simple_bind_s(ld => l_session, dn => l_ldap_user, passwd => l_ldap_passwd);
    -- Get all attributes
    l_attrs(1) := 'sAMAccountName'; -- retrieve all attributes
    l_retval := dbms_ldap.search_s(ld => l_session
    ,base => l_ldap_base
    ,scope => dbms_ldap.scope_subtree
    ,filter => l_filter
    ,attrs => l_attrs
    ,attronly => 0
    ,res => l_message);
    if dbms_ldap.count_entries(ld => l_session, msg => l_message) > 0
    then
    -- Get all the entries returned by our search.
    l_entry := dbms_ldap.first_entry(ld => l_session, msg => l_message);
    <<entry_loop>>
    while l_entry is not null
    loop
    -- Get all the attributes for this entry.
    dbms_output.put_line('---------------------------------------');
    l_attr_name := dbms_ldap.first_attribute(ld => l_session
    ,ldapentry => l_entry
    ,ber_elem => l_ber_element);
    <<attributes_loop>>
    while l_attr_name is not null
    loop
    -- Get all the values for this attribute.
    l_vals := dbms_ldap.get_values(ld => l_session, ldapentry => l_entry, attr => l_attr_name);
    <<values_loop>>
    for i in l_vals.first .. l_vals.last
    loop
    dbms_output.put_line('ATTIBUTE_NAME: ' || l_attr_name || ' = ' || substr(l_vals(i), 1, 200));
    end loop values_loop;
    l_attr_name := dbms_ldap.next_attribute(ld => l_session
    ,ldapentry => l_entry
    ,ber_elem => l_ber_element);
    end loop attibutes_loop;
    l_entry := dbms_ldap.next_entry(ld => l_session, msg => l_entry);
    end loop entry_loop;
    end if;
    -- Disconnect from the LDAP server.
    l_retval := dbms_ldap.unbind_s(ld => l_session);
    dbms_output.put_line('L_RETVAL: ' || l_retval);
    end;
    If i use filter '(&(sAMAccountName=*))' (me need get all 'sAMAccountName')
    ERROR at line 1:
    ORA-31202: DBMS_LDAP: LDAP client/server error: Sizelimit exceeded
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
    ORA-06512: at "SYS.DBMS_LDAP", line 1457
    ORA-06512: at "SYS.DBMS_LDAP", line 234
    ORA-06512: at line 28
    How fix it ?
    Thanks all.
    p.s. I'm beginner Developer Oracle 10g

    Probably some workaround needed. Hopefully this one works: http://www.freelists.org/archives/oracle-l/04-2006/msg01100.html

  • Can there be multiple ASM instances on single node?

    Hi,
    Can there be multiple ASM instances on single node?
    This one says No : http://www.freelists.org/archives/oracle-l/02-2008/msg00317.html
    And This one says Yes : http://www.databasejournal.com/features/oracle/article.php/3571371
    Thanks in advance.
    Thanks,
    Harsha
    Edited by: user498756 on Sep 11, 2008 2:23 AM

    ...that document doesnt say you cannot have multiple ASM instances on a node. It says "...ASM, +you only need one ASM+ instance for that computer, to manage the two database instances that use ASM."
    The fact that you only need one - and I cannot think of a good reason to have more than one - does not preclude the fact that you do seem to be able to have multiple ASM instances on a single node, each looking after its own set of disks and diskgroups.
    Again - I cannot think of a good reason to do so though!
    -Bob

  • Updates on a specific COLUMN is not generating a BEFORE or AFTER value ...

    I have a table SCHEMA_OWNER.RX_TX table that has 182 columns. Here is the extract param file. Also on this table i have enabled ALL COLUMNS to be supplimental logged via "alter table SCHEMA_OWNER.RX_TX add supplemental log data (all) columns". The table has a PK on the "ID" column. Please note that the POS_REFUND_DATE column in the table SCHEMA_OWNER.RX_TX is 178th column.
    When i execute the following UPDATE followed by a COMMIT, when the current value of POS_REFUND_DATE=NULL, i do not see TRAIL records getting created in the trail file.
    SQL>Update Eps2_Kp_900001058.Rx_Tx Set Pos_Refund_Date=Pos_Refund_Date Where Tx_Number=1014524 And Nhin_Store_Id=900001058 And Id=4575035;
    SQL>COMMIT;
    NOTE: If POS_REFUND_DATE is NOT NULL, before the above UPDATE is executed, then TRAIL RECORDS (i.e. before and after trail records) are successfully created.
    Here is param file for the EXTRACT=EXTPROD
    EXTRACT EXTPROD
    SETENV (ORACLE_SID = "opepsd2")
    SETENV (ORACLE_HOME = "/u01/app/oradev/product/11.2.0.3/db_1")
    SETENV (NLS_LANG="AMERICAN_AMERICA.WE8MSWIN1252")
    USERID ogguser, PASSWORD AACAAAAAAAAAAAKAJISJVHPCJAEJKJIHWHVCXHQIWIZEUCJF, ENCRYPTKEY DEFAULT
    EXTTRAIL /u02/ggoppr/trail/SP
    TRANLOGOPTIONS DBLOGREADER
    CACHEMGR CACHEBUFFERSIZE 64KB, CACHESIZE 2GB, CACHEDIRECTORY ./dirtmp
    GETUPDATEBEFORES
    NOCOMPRESSDELETES
    NOCOMPRESSUPDATES
    STATOPTIONS RESETREPORTSTATS
    REPORT AT 00:01
    REPORTROLLOVER AT 00:01
    REPORTCOUNT EVERY 60 SECONDS, RATE
    WARNLONGTRANS 2 HOURS
    TABLE EPS2_KP_900001058.RX_TX , COLS (ID,NHIN_STORE_ID,POS_SOLD_DATE,LAST_DML_BY_CONVERSION_DATE,RETURNED_DATE,POS_REFUND_DATE,UNSELL_DATE,ADMIN_REBILLED_DATE,PARTIAL_FILL_STATUS) , TOKENS ( NHIN_STORE_ID = "900001058" );
    Here are some usefull output from GGSCI:
    GGSCI (szabdb32) 4> dblogin userid ogguser , password ogguser123
    Successfully logged into database.
    GGSCI (szabdb32) 5> info all
    Program Status Group Lag Time Since Chkpt
    MANAGER RUNNING
    EXTRACT RUNNING EXTDEV2 00:00:00 00:00:07
    Description EPS Extract
    EXTRACT RUNNING EXTPROD 00:00:00 00:00:04
    EXTRACT RUNNING EXTSALE 00:00:00 00:00:04
    EXTRACT RUNNING EXTTEST 00:00:00 00:00:04
    EXTRACT RUNNING PMPDEV2 00:00:00 00:00:02
    EXTRACT RUNNING PMPPROD 00:00:00 00:00:01
    EXTRACT RUNNING PMPSALE 00:00:00 00:00:05
    EXTRACT RUNNING PMPTEST 00:00:00 00:00:05
    EXTRACT RUNNING RPMPDEV2 00:00:00 00:00:06
    Here is the DDL structure of the table object "EPS2_KP_900001058.RX_TX" (vERY LONg)
    CREATE TABLE "EPS2_KP_900001058"."RX_TX"
    ( "ID" NUMBER(38,0) NOT NULL ENABLE,
    "NHIN_STORE_ID" NUMBER(10,0) NOT NULL ENABLE,
    "DELETED" VARCHAR2(1 BYTE),
    "BRAND_ACQUISITION_COST" NUMBER(13,2),
    "AUTO_COUNTING_SYSTEM_PRIORITY" VARCHAR2(1 BYTE),
    "CHARGE" VARCHAR2(1 BYTE),
    "COMPOUND_FEE" NUMBER(13,2),
    "BASE_COST" NUMBER(13,2),
    "COUNSELING_CHOICE" VARCHAR2(1 BYTE),
    "NCPDP_DAW" VARCHAR2(1 BYTE),
    "FILL_QUANTITY" NUMBER(13,4),
    "BRAND_DISCOUNT" NUMBER(13,2),
    "DRUG_EXPIRATION_DATE" DATE,
    "FILL_DATE" DATE,
    "PICKED_UP" VARCHAR2(1 BYTE),
    "HOST_RETRIEVAL_DATE" DATE,
    "MANUFACTURER" VARCHAR2(10 BYTE),
    "SAFETY_CAP_FLAG" VARCHAR2(1 BYTE),
    "PAC_MED" VARCHAR2(1 BYTE),
    "REFILL_NUMBER" NUMBER(5,0),
    "REPORTABLE_SALES_DATE" DATE,
    "FILL_STATUS" VARCHAR2(1 BYTE),
    "TAX_AMOUNT" NUMBER(13,2),
    "TP_BILL" VARCHAR2(1 BYTE),
    "UC_PRICE" NUMBER(13,2),
    "UP_CHARGE" NUMBER(13,2),
    "USUAL" VARCHAR2(1 BYTE),
    "DAYS_SUPPLY" NUMBER(10,0),
    "DRUG_SCHEDULE" VARCHAR2(1 BYTE),
    "DAYS_SUPPLY_BASIS" VARCHAR2(1 BYTE),
    "FOLLOW_UP_DATE" DATE,
    "GROUP_ON_RX" VARCHAR2(3 BYTE),
    "ICD9" VARCHAR2(7 BYTE),
    "ICD9_TYPE" VARCHAR2(1 BYTE),
    "NUM_LABELS" NUMBER(3,0),
    "OWED" NUMBER(13,4),
    "PRESCRIBED_QUANTITY" NUMBER(13,4),
    "STOP_DATE" DATE,
    "WRITTEN_DATE" DATE,
    "DISPENSED_DRUG_NDC" VARCHAR2(11 BYTE),
    "LANG" VARCHAR2(2 BYTE) NOT NULL ENABLE,
    "SIG_PER_DAY" NUMBER(13,4),
    "SIG_PER_DOSE" NUMBER(13,4),
    "SIG_TEXT" VARCHAR2(515 BYTE),
    "REFILL_SOURCE" NUMBER(5,0),
    "TX_DELETED" VARCHAR2(1 BYTE),
    "TX_NUMBER" NUMBER(12,0),
    "CENTRAL_FILL_CUTOFF_DATE" DATE,
    "BRAND_PRICE" NUMBER(13,2),
    "GENERIC_PRICE" NUMBER(13,2),
    "DRUG_DISPENSED" VARCHAR2(1 BYTE),
    "POS_STATUS" VARCHAR2(1 BYTE),
    "POS_INVOICE_NUMBER" NUMBER(35,0),
    "CASHIER_NAME" VARCHAR2(28 BYTE),
    "REGISTER_NUM" VARCHAR2(20 BYTE),
    "POS_OVERRIDDEN_NET_PAID" NUMBER(13,2),
    "POS_REASON_FOR_VOID" VARCHAR2(120 BYTE),
    "RX_STOLEN" VARCHAR2(1 BYTE),
    "POS_BARCODE_NUM" NUMBER(20,0),
    "RETURNED_DATE" DATE,
    "RX_CREDIT_INITIATOR" VARCHAR2(1 BYTE),
    "ORIGINAL_QTY" NUMBER(13,4),
    "ORIGINAL_PRICE" NUMBER(13,2),
    "OLD_RX_TX_ID" NUMBER(38,0),
    "NEW_RX_TX_ID" NUMBER(38,0),
    "PATIENT_DISEASE_ID" NUMBER(38,0),
    "PRICE_CODE_ID" NUMBER(38,0),
    "TAX_ID" NUMBER(38,0),
    "COMPOUND_ID" NUMBER(38,0),
    "DRUG_BRAND_ID" NUMBER(38,0),
    "DRUG_GENERIC_ID" NUMBER(38,0),
    "REFERENCE_BRAND_ID" NUMBER(38,0),
    "KEEP_SAME_DRUG" VARCHAR2(1 BYTE),
    "DIFFERENT_GENERIC" VARCHAR2(1 BYTE),
    "RX_SUMMARY_ID" NUMBER(38,0),
    "PRESCRIBER_CLINIC_LINK_ID" NUMBER(38,0),
    "SUPV_PRESCRIBER_CLINIC_LINK_ID" NUMBER(38,0),
    "DRUG_COST_TYPE_ID" NUMBER(38,0),
    "BASECOST_ID" NUMBER(38,0),
    "REQUESTED_PRICE_TO_QTY" NUMBER(13,2),
    "OVERRIDDEN_PRICE_AMOUNT" NUMBER(13,2),
    "PRICE_OVERRIDE_REASON" VARCHAR2(1 BYTE),
    "PRICE_OVERRIDE_NOTE_ID" NUMBER(38,0),
    "GENERIC_ACQUISITION_COST" NUMBER(13,2),
    "GENERIC_DISCOUNT" NUMBER(13,2),
    "PROFESSIONAL_FEE" NUMBER(13,2),
    "NO_SALES_TAX" VARCHAR2(1 BYTE),
    "COMPETITIVE_PRICED" VARCHAR2(1 BYTE),
    "USING_PERCENT_OF_BRAND" VARCHAR2(1 BYTE),
    "USING_COMPOUND_PLAN_PRICING" VARCHAR2(1 BYTE),
    "ALLOW_PRICE_OVERRIDE" VARCHAR2(1 BYTE),
    "POS_SOLD_DATE" DATE,
    "FILL_LOCATION" VARCHAR2(1 BYTE),
    "NOTES" VARCHAR2(2000 BYTE),
    "DRUG_IMAGE_KEY" VARCHAR2(255 BYTE),
    "BRAND_MANUALLY_SELECTED" VARCHAR2(1 BYTE),
    "GENERIC_MANUALLY_SELECTED" VARCHAR2(1 BYTE),
    "TX_STATUS" VARCHAR2(1 BYTE),
    "RETURNED_USER_ID" NUMBER(38,0),
    "DE_INITIALS" VARCHAR2(3 BYTE),
    "DV_INITIALS" VARCHAR2(3 BYTE),
    "PV_INITIALS" VARCHAR2(3 BYTE),
    "OVERRIDE_USER_ID" NUMBER(38,0),
    "PARTIAL_FILL_STATUS" VARCHAR2(1 BYTE),
    "PARTIAL_FILL_BILLING_TYPE" VARCHAR2(1 BYTE),
    "INTENDED_QUANTITY" NUMBER(13,4),
    "PATIENT_REQUESTED_PRICE" VARCHAR2(1 BYTE),
    "MISSING_DATE" DATE,
    "REPLACE_DATE" DATE,
    "RETURN_TO_STOCK_DATE" DATE,
    "RX_COM_DOWN" VARCHAR2(1 BYTE),
    "RPH_NAME_OF_RECORD" VARCHAR2(60 BYTE),
    "CUSTOM_SIG" VARCHAR2(1 BYTE),
    "DISCOUNT_ID" NUMBER(38,0),
    "PATIENT_REQUEST_BRAND_GENERIC" VARCHAR2(1 BYTE),
    "WILL_CALL_PICKED_UP_DATE" DATE,
    "COMPLETION_RX_TX_ID" NUMBER(38,0),
    "PARTIAL_RX_TX_ID" NUMBER(38,0),
    "SENT_TO_EHR" VARCHAR2(1 BYTE) DEFAULT 'N',
    "DRUG_IMAGE_START_DATE" DATE,
    "ADMIN_REBILLED" VARCHAR2(1 BYTE),
    "SIG_CODE" VARCHAR2(20 BYTE),
    "SIG_TEXT_FOREIGN_LANGUAGE" VARCHAR2(515 BYTE),
    "RTRN_PRESCRIBER_CLINIC_LINK_ID" NUMBER(38,0),
    "OUTSOURCE_COMPOUND" VARCHAR2(1 BYTE),
    "IMPRINT_TEXT" VARCHAR2(512 BYTE),
    "IMPRINT_SOURCE" VARCHAR2(36 BYTE),
    "DIB_PEM_IDENTIFIER" VARCHAR2(20 BYTE),
    "DIB_DATABASE_VERSION" VARCHAR2(5 BYTE),
    "DIB_ISSUE_DATE" DATE,
    "COST_VERIFIED" VARCHAR2(1 BYTE),
    "SEND_TO_PRESCRIBER_WILDCARD" VARCHAR2(1 BYTE),
    "COUNSELING_RPH_INITIALS" VARCHAR2(3 BYTE),
    "STATE_REPORT_STATUS" VARCHAR2(1 BYTE),
    "REQUIRE_RELATION_TO_PATIENT" VARCHAR2(1 BYTE),
    "PHOTO_ID_STATE" VARCHAR2(3 BYTE),
    "PHOTO_ID_TYPE" VARCHAR2(2 BYTE),
    "PHOTO_ID_NUMBER" VARCHAR2(20 BYTE),
    "RELATIONSHIP_TO_PATIENT" VARCHAR2(2 BYTE),
    "PICKUP_FIRST_NAME" VARCHAR2(50 BYTE),
    "PICKUP_LAST_NAME" VARCHAR2(50 BYTE),
    "REQUIRE_PICKUP_ID_TYPE" VARCHAR2(1 BYTE),
    "REQUIRE_PICKUP_ID_STATE" VARCHAR2(1 BYTE),
    "REQUIRE_PICKUP_ID_NAME" VARCHAR2(1 BYTE),
    "REQUIRE_PICKUP_ID_NUMBER" VARCHAR2(1 BYTE),
    "REQUIRE_PICKUP_ID_EXPIRATION" VARCHAR2(1 BYTE),
    "PHOTO_ID_EXPIRE_DATE" DATE,
    "PATIENT_DELIVERY_NOTES_ID" NUMBER(38,0),
    "CANCEL_REASON" VARCHAR2(2 BYTE),
    "COUNSELING_RPH_EMPLOYEE_NUM" VARCHAR2(255 BYTE),
    "RPH_COUNSEL_NOTES_ID" NUMBER(38,0),
    "MEMBERSHIP_INDICATOR" VARCHAR2(1 BYTE),
    "COUNSEL_REASON" VARCHAR2(2 BYTE),
    "POS_VOID_REASON_CODE" VARCHAR2(10 BYTE),
    "AUTHORIZING_MANAGER_NAME" VARCHAR2(255 BYTE),
    "FREQUENCY_RATE" NUMBER(13,4),
    "INCREMENTAL_CONV_SENT_TO_EHR" VARCHAR2(1 BYTE),
    "ENTERPRISE_RX_FILL_COUNT" NUMBER(5,0),
    "INTENDED_DAYS_SUPPLY" NUMBER(10,0),
    "DDID_USED_BY_DRUG_SELECTION" NUMBER(10,0),
    "GPI_USED_BY_DRUG_SELECTION" VARCHAR2(24 BYTE),
    "NEW_DDID_AUTHORIZED_BY_EMP_NUM" VARCHAR2(255 BYTE),
    "TIME_FRAME" NUMBER(2,0),
    "TIME_FRAME_TYPE" NUMBER(2,0),
    "LAST_DML_BY_CONVERSION_DATE" TIMESTAMP (6),
    "END_OF_THERAPY_DATE" TIMESTAMP (6),
    "UNSELL_DATE" TIMESTAMP (6),
    "UNSELL_QUALIFIER" VARCHAR2(2 BYTE),
    "ADMIN_REBILLED_DATE" TIMESTAMP (6),
    "LAST_UPDATE_DATE" TIMESTAMP (6),
    "TP_LAST_UPDATE_DATE" TIMESTAMP (6),
    "ADMIN_REBILL_QUALIFIER" VARCHAR2(3 BYTE),
    "PRIOR_RETURN_REASON_CODE" VARCHAR2(2 BYTE),
    "POS_PRICE_ADJUSTMENT_CODE" VARCHAR2(2 BYTE),
    "TX_SOLD_QUALIFIER" VARCHAR2(3 BYTE),
    "MEDICARE_NOTICE" VARCHAR2(1 BYTE),
    "POS_REFUND_REASON_CODE" VARCHAR2(10 BYTE),
    "POS_REASON_FOR_REFUND" VARCHAR2(120 BYTE),
    "POS_REFUND_DATE" TIMESTAMP (6),
    "MEDGUIDE_TO_PRINT" VARCHAR2(1 BYTE),
    "PATIENT_EDUCATION_TO_PRINT" VARCHAR2(1 BYTE),
    "EXCLUDED_OTC" VARCHAR2(1 BYTE),
    CONSTRAINT "RX_TX_PK" PRIMARY KEY ("ID")
    USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ENABLE,
    SUPPLEMENTAL LOG DATA (ALL) COLUMNS,
    SUPPLEMENTAL LOG GROUP "GGS_RX_TX_78190" ("ID") ALWAYS,
    CONSTRAINT "NOTES_FK1" FOREIGN KEY ("RPH_COUNSEL_NOTES_ID")
    REFERENCES "EPS2_KP_900001058"."NOTES" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK1" FOREIGN KEY ("PRICE_OVERRIDE_NOTE_ID")
    REFERENCES "EPS2_KP_900001058"."NOTES" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK10" FOREIGN KEY ("DISCOUNT_ID")
    REFERENCES "EPS2_KP_900001058"."DISCOUNT" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK11" FOREIGN KEY ("SUPV_PRESCRIBER_CLINIC_LINK_ID")
    REFERENCES "EPS2_KP_900001058"."PRESCRIBER_CLINIC_LINK" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK12" FOREIGN KEY ("PATIENT_DISEASE_ID")
    REFERENCES "EPS2_KP_900001058"."PATIENT_DISEASE" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK13" FOREIGN KEY ("PRESCRIBER_CLINIC_LINK_ID")
    REFERENCES "EPS2_KP_900001058"."PRESCRIBER_CLINIC_LINK" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK14" FOREIGN KEY ("RX_SUMMARY_ID")
    REFERENCES "EPS2_KP_900001058"."RX_SUMMARY" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK15" FOREIGN KEY ("DRUG_GENERIC_ID")
    REFERENCES "EPS2_KP_900001058"."DRUG" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK16" FOREIGN KEY ("DRUG_BRAND_ID")
    REFERENCES "EPS2_KP_900001058"."DRUG" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK17" FOREIGN KEY ("COMPOUND_ID")
    REFERENCES "EPS2_KP_900001058"."COMPOUND" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK18" FOREIGN KEY ("RETURNED_USER_ID")
    REFERENCES "EPS2_KP_900001058"."USERS" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK2" FOREIGN KEY ("TAX_ID")
    REFERENCES "EPS2_KP_900001058"."TAX" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK20" FOREIGN KEY ("DRUG_COST_TYPE_ID")
    REFERENCES "EPS2_KP_900001058"."DRUG_COST_TYPE" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK21" FOREIGN KEY ("BASECOST_ID")
    REFERENCES "EPS2_KP_900001058"."BASECOST" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK22" FOREIGN KEY ("COMPLETION_RX_TX_ID")
    REFERENCES "EPS2_KP_900001058"."RX_TX" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK23" FOREIGN KEY ("PARTIAL_RX_TX_ID")
    REFERENCES "EPS2_KP_900001058"."RX_TX" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK24" FOREIGN KEY ("RTRN_PRESCRIBER_CLINIC_LINK_ID")
    REFERENCES "EPS2_KP_900001058"."PRESCRIBER_CLINIC_LINK" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK25" FOREIGN KEY ("PATIENT_DELIVERY_NOTES_ID")
    REFERENCES "EPS2_KP_900001058"."NOTES" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK4" FOREIGN KEY ("PRICE_CODE_ID")
    REFERENCES "EPS2_KP_900001058"."PRICE_CODE" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK5" FOREIGN KEY ("REFERENCE_BRAND_ID")
    REFERENCES "EPS2_KP_900001058"."DRUG" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK6" FOREIGN KEY ("OLD_RX_TX_ID")
    REFERENCES "EPS2_KP_900001058"."RX_TX" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK7" FOREIGN KEY ("NEW_RX_TX_ID")
    REFERENCES "EPS2_KP_900001058"."RX_TX" ("ID") ENABLE NOVALIDATE,
    CONSTRAINT "RX_TX_FK9" FOREIGN KEY ("OVERRIDE_USER_ID")
    REFERENCES "EPS2_KP_900001058"."USERS" ("ID") ENABLE NOVALIDATE
    ) SEGMENT CREATION IMMEDIATE
    PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
    NOCOMPRESS LOGGING
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_DATA" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX1" ON "EPS2_KP_900001058"."RX_TX" ("DISCOUNT_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX10" ON "EPS2_KP_900001058"."RX_TX" ("PRICE_OVERRIDE_NOTE_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX11" ON "EPS2_KP_900001058"."RX_TX" ("BASECOST_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX12" ON "EPS2_KP_900001058"."RX_TX" ("REFERENCE_BRAND_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX13" ON "EPS2_KP_900001058"."RX_TX" ("RX_SUMMARY_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX15" ON "EPS2_KP_900001058"."RX_TX" ("SUPV_PRESCRIBER_CLINIC_LINK_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX16" ON "EPS2_KP_900001058"."RX_TX" ("TAX_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX17" ON "EPS2_KP_900001058"."RX_TX" ("TX_NUMBER")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX18" ON "EPS2_KP_900001058"."RX_TX" ("DISPENSED_DRUG_NDC")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX19" ON "EPS2_KP_900001058"."RX_TX" ("DRUG_COST_TYPE_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX2" ON "EPS2_KP_900001058"."RX_TX" ("COMPOUND_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX20" ON "EPS2_KP_900001058"."RX_TX" ("OVERRIDE_USER_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX21" ON "EPS2_KP_900001058"."RX_TX" ("RETURNED_USER_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE UNIQUE INDEX "EPS2_KP_900001058"."RX_TX_IX22" ON "EPS2_KP_900001058"."RX_TX" (CASE "NHIN_STORE_ID" WHEN 900001058 THEN "TX_NUMBER" ELSE NULL END )
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX23" ON "EPS2_KP_900001058"."RX_TX" ("COMPLETION_RX_TX_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX24" ON "EPS2_KP_900001058"."RX_TX" ("PARTIAL_RX_TX_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX28" ON "EPS2_KP_900001058"."RX_TX" (TRUNC("REPORTABLE_SALES_DATE"))
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX29" ON "EPS2_KP_900001058"."RX_TX" ("PATIENT_DELIVERY_NOTES_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX3" ON "EPS2_KP_900001058"."RX_TX" ("DRUG_BRAND_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX30" ON "EPS2_KP_900001058"."RX_TX" ("FILL_LOCATION")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX31" ON "EPS2_KP_900001058"."RX_TX" ("FILL_DATE")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX4" ON "EPS2_KP_900001058"."RX_TX" ("DRUG_GENERIC_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX5" ON "EPS2_KP_900001058"."RX_TX" ("NEW_RX_TX_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX6" ON "EPS2_KP_900001058"."RX_TX" ("OLD_RX_TX_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX7" ON "EPS2_KP_900001058"."RX_TX" ("PATIENT_DISEASE_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX8" ON "EPS2_KP_900001058"."RX_TX" ("PRESCRIBER_CLINIC_LINK_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    CREATE INDEX "EPS2_KP_900001058"."RX_TX_IX9" ON "EPS2_KP_900001058"."RX_TX" ("PRICE_CODE_ID")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
    BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "EPS2_KP_900001058_INDEX" ;
    Hope to get a solution to the above issue. Why no TRAIL records are being created for this 178th column in question. If i do for example the following SQL for a different column say "RETURNED_DATE", when the value of the RETURNED_DATE=NULL before the UPDATE is fired, the TRAIL records are being generated.
    SQL>Update Eps2_Kp_900001058.Rx_Tx Set RETURNED_DATE=RETURNED_DATE Where Tx_Number=1014524 And Nhin_Store_Id=900001058 And Id=4575035;
    SQL>COMMIT;

    This looks like a trailing null issue. Sometimes Oracle decides not to write columns to the redo logs if they are null and they are the last column in the record. What version of Oracle is this? I can ask QA to look into this and see what can be done.
    Thanks for the reply, but
    1) The UPDATE done to a column i.e.POS_REFUND_DATE is NOT THE LAST column of the table=eps2_kp_900001058. Please see the DDL that is in this mail chain. So your observation is not right.
    2) Also the TRAIL records does get generated if the following UPDATE is executed and the value of this column is NOT NULL prior to the firing of this UPDATE
    Update Eps2_Kp_900001058.Rx_Tx Set Pos_Refund_Date=Pos_Refund_Date Where Tx_Number=1014524 And Nhin_Store_Id=900001058 And Id=4575035;
    3) The TRAIL records does not get generted if the following UPDATE is done and the value of the column POS_REFUND_DATE is NULL before the UPDATE is fired.
    Update Eps2_Kp_900001058.Rx_Tx Set Pos_Refund_Date=Pos_Refund_Date Where Tx_Number=1014524 And Nhin_Store_Id=900001058 And Id=4575035;
    Very strange. Hope you can get me an answer.
    Also opened an SR for this issue, the SR details are:
    SR 3-7288541301 : TRAIL records are not getting generated for SELECTED UPDATE SQL statements - DB supplimental logging
    4) Also the DB version is 11gR2, 11.2.0.3, 64 bit enterprise edition on AIX

Maybe you are looking for

  • Getting Error while activating data in 0FI_GL_4 DSO level (SIDs)

    Hi I have succesfully loaded data for the 0FI_GL_4 for two DSOs One is successful but for other DSO, it is failing on activation with the following errors: - *Value '! OTS Harness' (hex. '210020004F005400530020004800610072006E006500730073') of charac

  • Remote access VPN not working

    Hi all i am bad at configuring the Remote Access VPN --- please help me on this . i use 3des & AES we dont have the license i have tried using "sysopt connection permit-vpn" I have tried using both "same-security-traffic permit inter-interface"  && 

  • QueueBrowser doesn't enumerate all messages

    Hi there, I've the problem that, using a QueueBrowser, I don't get all messages from a Queue but only the first (say, out of five), using a MessageConsumer, I get all five messages. This problem occurs, when I use (our own) administrative tool to pee

  • How to send a report directly to spool..?

    Hi guyz !    How do i send a normal report directly to spools at execution.    Please advise . Thanks in adv. jahan

  • 10g Features

    Is there any detailed doco on what's coming in 10g, i've found a couple of links, but none answer my question. Has the allowable length of a table name been increased in 10g?