Results 1 to 3 of 3

Thread: Error Message!

  1. #1
    Join Date
    Dec 2007
    Posts
    2

    Unanswered: Error Message!

    I insert a data which is seems OK to me. I even tried to add data via Control Center instead of Command Editor. It won't accept my data and gave me error message i do not understand.

    I altered this table few times before i insert data. How can i find out what CONSTRAINT on this table?

    "Operation not allowed for reason code "7" on table
    "MICHAEL.BANKACCOUNTS". SQLSTATE=57016

    Explanation:

    Access to table "<table-name>" is restricted. The cause is based on the
    following reason codes "<reason-code>":

    1 The table is in the Set Integrity Pending No Access state. The
    integrity of the table is not enforced and the content of the
    table may be invalid. An operation on a parent table or an
    underlying table that is not in the Set Integrity Pending No
    Access state may also receive this error if a dependent table
    is in the Set Integrity Pending No Access state.

    2 The table is in the No Data Movement state. When in this state,
    operations that cause data movement are disallowed. Data
    movement operations include REDISTRIBUTE, update of database
    partitioning key, update of multi-dimensional clustering key,
    update of range clustering key, update of data partitioning key
    and REORG TABLE.

    3 The table is in the Load Pending state. A previous LOAD attempt
    on this table resulted in failure. No access to the table is
    allowed until the LOAD operation is restarted or terminated.

    4 The table is the Read Access state. This state can occur during
    on-line LOAD processing (LOAD INSERT with the READ ACCESS
    option), or after an on-line LOAD operation, but before all
    constraints have been validated in the newly appended portion
    of the table using the SET INTEGRITY statement. No update
    activity is allowed on this table.

    5 The table is in the Load In Progress state. The LOAD utility is
    currently operating on this table, no access is allowed until
    the LOAD is finished.

    6 Materialized query tables that reference a nickname cannot be
    refreshed in ESE.

    7 The table is in the reorg pending state. This can occur after
    an ALTER TABLE statement containing a REORG-recommended
    operation.

    8 The table is in the alter pending state. This can occur when
    using the table in the same unit of work as an ALTER TABLE
    statement containing a REORG-recommended operation.

    9 The table is in Redistribute Pending state. The REDISTRIBUTE
    utility is not completed on this table, no access is allowed
    until the REDISTRIBUTE is finished.

    User response:

    1 Execute the SET INTEGRITY statement with the IMMEDIATE CHECKED
    option on table "<table-name>" to bring the table out of the
    Set Integrity Pending No Access state. For a user maintained
    materialized query table, execute the statement with the
    IMMEDIATE UNCHECKED option instead of the IMMEDIATE CHECKED
    option.

    2 Execute REFRESH TABLE statement on the dependent immediate
    materialized query tables and staging tables of table
    "<table-name>". The contents of these dependent immediate
    materialized query tables and staging tables can be
    incrementally maintained from the appended data of
    "<table-name>" through previous LOAD INSERT operations and from
    the attached data of "<table-name>" through previous ALTER
    TABLE statements with the ATTACH clause.

    3 Restart or terminate the previously failed LOAD operation on
    this table by issuing LOAD with the RESTART or TERMINATE option
    respectively.

    4 Issue the LOAD QUERY command to check whether the table is in
    the process of being loaded. If yes, wait until the LOAD
    utility has completed, or if necessary, restart or terminate
    previously failed LOAD operation. If LOAD is currently not in
    progress, issue the SET INTEGRITY statement with the IMMEDIATE
    CHECKED option, to validate constraints in the newly loaded
    portion of the table.

    5 Wait until the current LOAD operation has finished. You can use
    the LOAD QUERY command to monitor the progress of load.

    6 Define a materialized query table using the MAINTAIN BY USER
    option. Then, use an INSERT statement with a subquery to
    populate the materialized query table.

    7 Reorganize the table using the REORG TABLE command (note that
    INPLACE REORG TABLE is not allowed for a table that is in the
    reorg pending state).

    8 Complete the unit of work, and re-issue the command.

    9 If the REDISTRIBUTE utility is working, wait until it finishes
    working on the current table. You can use the LIST UTILITIES
    command to monitor the progress of the REDISTRIBUTE utility. If
    a previous REDISTRIBUTE operation failed and left the table in
    this state, issue the REDISTRIBUTE utility again with the
    CONTINUE or ABORT option and let it finish on this table.

    sqlcode: -668

    sqlstate: 57007"


    Thank you

    M

  2. #2
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    Since you got a reason code 7, why don't you try user response 7?
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  3. #3
    Join Date
    Jan 2007
    Location
    Jena, Germany
    Posts
    2,721
    Just reorganize the table. If you don't know what reorganization will do and what it is good for, take a look at the manuals. Basic things like those are explained there in detail.
    Knut Stolze
    IBM DB2 Analytics Accelerator
    IBM Germany Research & Development

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •