5 Replies Latest reply on Oct 30, 2012 8:17 PM by wzhang-Oracle

    Bad dictionary data


      If you have dictionary data that needs to be cleansed.
      Is there a way to skip that data so it is possible to convert the database anyway?
      Right now it is not possible to convert the database.

      (It looks that some of the meta data is from Oracle's own database objects)

        • 1. Re: Bad dictionary data
          Exceptional data in the data dictionary can be introduced by incorrect application configurations or expansion issues due to the usage of non-ASCII object names. Such issues must be cleansed properly before the conversion, otherwise the corruption of metadata may break database and application functionality. Chapter 5 of the DMU Users' Guide discusses the recommended strategies to cleanse data dictionary issues:

          • 2. Re: Bad dictionary data
            Hi again,

            I can see what you mean in some Data Dictionary tables, there we have to do some changes in our application.

            But I also have conversion problems in e.g. 179 rows in SYS.METASTYLESHEET in the stylesheet column. From what I can understand this is purely an internal Oracle column where our application haven't changed anything.

            How to handle this column?

            There are also 60 rows in SYS.WRI$_ADV_ACTIONS in columns attr5 and attr6 where we have a single space character (20). How come this is a problem?

            • 3. Re: Bad dictionary data
              How are these rows classified in the scan report? attr5 and attr6 of SYS.WRI$ADV_ACTIONS are CLOB columns. SYS.METASTYLESHEET also contains a CLOB column. When migrating from a single-byte database character set to Unicode, all of the CLOB data has to be converted into a UTF-16 encoding. If data dictionary CLOB columns contain just convertible data ("Need Conversion" as shown in the scan report), then the DMU can handle the conversion of them automatically.
              • 4. Re: Bad dictionary data

                I think I understand now.

                They are classified as "Need conversion".
                But among those tables I have some tables and columns that are included in the exception list of tables that can't be converted, like COM$.COMMENT and VIEW$.TEXT.

                In the Data Cleansing window it is possible to list only those rows that needs convesrion and also display their rowid's. Is it possible to get the list of rowid's in a subquery from the DMU repositry table so that I can list the rows with a sql similar to the one below?

                SELECT * FROM obj$ where rowid IN (SELECT rowid FROM "DMU repsotory").

                If that is possible it would be much easier to identify which views and comments that I need to handle.
                We have 25 comments out of 135000 that needs conversion and
                19 out of 13000 views that need conversion.
                So one query to identify the objects would be really nice.

                • 5. Re: Bad dictionary data
                  DMU 1.1 can convert COM$.COMMENT and VIEW$.TEXT if they contain convertible data. Do you mean you have exceptional data (invalid binary representation, over column/type limit) issues in these tables?