#117 – Invalid Views


This week on the podcast, Dan and Kyle discuss a WebLogic exploit used for currency mining, Dan revisits the Health Center in the latest PeopleSoft Images, and Kyle explains why you need to review the Invalid View project.

Show Notes

3 thoughts on “#117 – Invalid Views

  1. Thanks for the info. It’s a good reminder to not get too comfortable with applying this stuff and to check all log files.

    If only I had a nickel for every time we’ve migrated a custom view and lost special security permissions. Do you have any advice on what you do to always catch that before hand? We’ve been relying on the developers to tell us but…

  2. Listening to the section on Invalid Views (@19:00). Essentially, when you drop and recreate a view that is referenced by a second view, the status on the second view in the database goes invalid. This is not a huge problem because as soon as you query the second view it is compiled. However, you would like to know whether any change to a view prevents any dependent views from compiling, although you would expect have teased these errors out before migration to production.

    The PeopleSoft solution to this is to include all the dependent views in the Application Designer package. However, as you pointed out, you are now releasing code, possibly unintentionally, releasing code changes and certainly updating last change dates on record definitions, when really you just need to compile the database objects.
    The view build sequence can be specified (manually) to make Application Designer build scripts that build dependent views after the view on which they depend.

    PeopleSoft does this because it is a platform generic solution, but really it is using the PeopleSoft Application Designer to solve a database management issue.

    A similar problem also occurs in the Oracle database with dependent PL/SQL procedures and packages where you sometimes get referential loops. Oracle provides a procedure DBMS_UTILITY.COMPILE_SCHEMA that compile all invalid objects in a schema and report any errors to the ALL_ERRORS view.

    If you use CREATE OR REPLACE VIEW is recompiled so it is not left invalid unless there is an error. Unfortunately, Application Designer always drops and recreates views.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax