DB2 - 删除DATA CAPTURE字段的操作过程

 [timetrac@viper01 ~]$ db2 alter table role data capture off
 DB21034E  The command was processed as an SQL statement because it was not a
 valid Command Line Processor command.  During SQL processing it returned:
 SQL0104N  An unexpected token "off" was found following "le role data
 capture".  Expected tokens may include:  "NONE".  SQLSTATE=42601
 [timetrac@viper01 ~]$ db2 alter table role data capture none
 DB20000I  The SQL command completed successfully.
 [timetrac@viper01 ~]$ db2 alter table role drop column active
 DB20000I  The SQL command completed successfully.
 [timetrac@viper01 ~]$ db2 alter table role data capture changes
 DB20000I  The SQL command completed successfully.
 [timetrac@viper01 ~]$ db2 values current schema

 1
 ------------------------------------------------------------------------------------------
 TIMETRAC

   1 record(s) selected.

 [timetrac@viper01 ~]$ db2 'select * from role where id = 0'

 ID     NAME                                     SHORTNAME                      DESCRIPTION
 ------ ---------------------------------------- ------------------------------ -----------
 SQL0668N  Operation not allowed for reason code "7" on table "TIMETRAC.ROLE".
 SQLSTATE=57016
 
[timetrac@viper01 ~]$ db2 ? SQL0668N


 SQL0668N  Operation not allowed for reason code "" on table
       "".

 Explanation:

 Access to table "" is restricted. The cause is based on the
 following reason codes "":

 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 multidimensional clustering key,
          update of range clustering key, update of table 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. 10 The table is the source table for an ongoing ADMIN_MOVE_TABLE operation. The attempted operation is restricted until the move is completed or canceled. User response: 1 Execute the SET INTEGRITY statement with the IMMEDIATE CHECKED option on table "" 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 "". The contents of these dependent immediate materialized query tables and staging tables can be incrementally maintained from the appended data of "" through previous LOAD INSERT operations and from the attached data of "" 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.
For a table in the reorg pending state, note that the following clauses are not allowed when reorganizing the table: * The INPLACE REORG TABLE clause * The ON DATA PARTITION clause for a partitioned table when table has nonpartitioned indexes defined on the table 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. 10 Complete or cancel the table move operation and reissue the command. You can query the SYSTOOLS.ADMIN_MOVE_TABLE table for information about the status of the move operation. sqlcode: -668 sqlstate: 57007
[timetrac@viper01 ~]$ db2 reorg table role DB20000I The REORG command completed successfully. [timetrac@viper01 ~]$ db2 'select * from role where id = 0' ID NAME SHORTNAME DESCRIPTION ------ ---------------------------------------- ------------------------------ ----------- 0 record(s) selected.

你可能感兴趣的:(Data)