Hi JValentine,
@MFreitag and
@markdcci have made some excellent comments.
I'm curious about your answer to
@MFreitag's question too. The answer would probably help us provide assistance:
What do you mean by "redeploying the data dictionary" anyway - like, what is it you're doing?
Information that would probably help us provide assistance:
- Why row security requires the redeploy of the data dictionary (this will probably depend on the definition of DD redeployment)?
- Could this be related to the possibility of the DD tables being boot tables (planner environment on the deployment server I think) (I don't know if they are. You may have to contact Oracle about this)?
- Do you have separate DD tables for production and non-production (this could make things a lot easier) (This was the case where I worked)?
This post (and others in the same thread for context) may be helpful:
https://www.jdelist.com/community/threads/dd-changes-not-reflecting-in-application.56597/post-198466
There may be a possibility that the unknown changes have already been "deployed". In which case things could be a lot more complicated, especially if you need to remove any of the unknown changes. If they impact the changes you have made things could get interesting, and your testing may not have identified this if you didn't know what to test.
If the number of people who have access and knowledge to make changes to the DD is small, it might be an option to informally ask them individually. They may have personal documentation of changes they have made.
A rather long-winded option to find DD changes of which you are not aware requires the changes of which you are aware have been documented. Compare your current DD tables with the original DD tables supplied by Oracle. This could be shortened if you have backups of your DD tables from an acceptable/appropriate time.
I'm not sure how, but backups of the dddict and ddtext temporary files may help.
An Important Consideration
If any DD tables involved in any changes are considered "system" tables, and if row security is considered a "modification," you may have a completely different set of problems on your hands as "system" tables should not be "modified" (see
https://www.jdelist.com/community/threads/print-immediate.31224/post-174531 ). You would have to contact Oracle about this.
For The Future
This a side point and not important to your current question/problem, but it could prevent a recurrence: I'm a bit surprised at the possibility of unknown data dictionary changes. I echo
@markdcci's recommendation to implement a controlled process for data dictionary changes going forward. I was a one-man jack-of-all-JDE-trades before I retired and I had change management processes I had to follow for all changes I made to the production system, not just the DD.