Problem with editing/refreshing MVs/Snapshots for an Oracle 8i database
I am administering an ASP.NET 2.0 ecommerce website that runs on top of an old legacy Oracle 8i database. I administer the database using TOAD. I have recently attempted to add a new set of flags to the master product table in order to make a set of labels appear for certain products.
The 8i database pulls information from its own store of product info, and combines it with pricing information drawn from an outside Oracle system. The final "master product" table is the result of a Materialized View (MV) or Snapshot, and this table is what the website looks at using a stored procedure when it populates a page template with product info. The process works like so:
1. PRODUCTS_TABLE plus MASTER_PRICE_TABLE are "pulled from" by the
2. Materialized View/Snapshot Script, which combines teh "downstream" data into a final table called
3. MV_MASTER_PRODUCTS (table resulting from MV)
4. MV_MASTER_PRODUCTS is called by a Proc, and this info is used to create a dynamic webpage.
Recently I added several new fields to the tables "downstream" and "upstream" of the MV/snapshot that builds the final master product table. I discovered, however, that my copy of TOAD doesn't want to let me edit the MV script itself in order to add commands to pull data up from these new fields. Although the lower levels of the database are still OK, the final MV_MASTER_PRODUCTS table (to which I added fields) is now empty, and when I attempt to refresh the MV/snapshot to populate this table, nothing happens (no error message, just no activity). Because this top-level tabel is now empty, my website can't pull data from it.
1. Is this problem caused by the fact that the PRODUCTS_TABLE and/or the MV_MASTER_PRODUCTS tables both now have additional fields that are not referenced in the MV/Snapshot script itself, and these changes are causing the script to "stall"?
2. Are MV scripts not meant to be edited, or is this just a problem with TOAD, or with my permissions? i.e., am I supposed to create a new MV to replace the old one instead of editing the existing script?
3. One final thing: I made a duplicate of the final MV_MASTER_PRODUCTS table which is still populated with the last data refresh. This is, I believe, just a regular table with no connection to a snapshot, so I don't expect it would have anything to do with MV_MASTER_PRODUCTS failing to refresh/repopulate, but I thought I should mention it just in case.
Thank you for any advice!