-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The "Compile with PL/Scope" action should not use dbms_utility.compile_schema #59
Comments
I compiled two schemas in parallel on an 21c and 19c instance. It worked. No ORA-600. No ORA-20000: Unable to set values for index UTL_RECOMP_SORT_IDX1: does not exist. The MOS Doc ID 1568324.1 is based on 11.2.0.3. The mentioned bug is not public. Hence, I cannot see the status of it. When you look at the code generated by the action Writing a replacement for If you have problems in your environment with "bug 13631826 - PL/SQL SHOULD SUPPORT UTL_RECOMP RUNNING IN PARALLEL ON DIFFERENT SCHEMAS" then I suggest to open an SR. In the end Oracle should fix this issue. And please ask them to make the associated bug public, so we can monitor the progress. I'd like to avoid adding code to this repository which is duplicating the logic of |
To reproduce #65 I compiled the |
Regarding MOS Doc ID 1568324.1: yes, the document dates back to the 11.2 era... I was hit by that issue on 11.2.0.4, back in 2017; we used multiple schemas for creating insulated test environments, each of which could be used as a deployment target in our CI system. The deployment of schema changes was automated using Liquibase, and On my 19.9 test PDB, the following DDL activity is seen on the SYS schema while
(This is captured by a post-DDL database trigger.) On 11.2, apparently there wasn't enough synchronization, if at all, to prevent concurrent sessions running the above (or similar) statements from walking on each other's feet. Has this been fixed since then? I don't know. Meanwhile, the SQL Developer extension should still work nicely on 11.2, shouldn't it? |
Regarding recompiling the UT3 schema, to be fair it could be impossible to do that entirely, for the following reasons:
Even if attempted as SYSDBA. Trying to disable the trigger beforehand fails in exactly the same fashion, even with |
As of v1.0.0, the "Compile with PL/Scope" action recompiles PL/SQL code by calling
dbms_utility.compile_schema
1. Replacing that procedure should be considered, for the following reasons:And above all:
For the above reasons, getting through the trouble of providing an ad-hoc recompilation routine would seem a better option, though more ambitious 2.
Footnotes
Except for objects of types TYPE and TYPE BODY, which happen to be ignored by
dbms_utility.compile_schema
, hence must be recompiled using an ad-hoc routine. ↩An ad-hoc schema recompilation routine has to comprehensive, and process objects in proper dependency order, if possible. ↩
The text was updated successfully, but these errors were encountered: