Open jashka34 opened 2 years ago
Hi @jashka34 utPLSQL framework cannot be installed un edition-enabled schema. I strongly suggest installing utPLSQL in separate schema (database-wide) that is not edition-enabled.
That way, all users of DB can use the framework.
Are you trying to install utPLSQL in your "private" schema?
@jgebal
utPLSQL framework cannot be installed un edition-enabled schema. I strongly suggest installing utPLSQL in separate schema (database-wide) that is not edition-enabled.
I guessed about it. Thank you for confirming my suspicions.
But why then does the documentation not say a word about it (for example)? Probably need to create a issue about this? :)
Are you trying to install utPLSQL in your "private" schema?
Unfortunately, I do not have DBA rights. I only own one DB schema and tried to install in this schema.
Hi @jashka34 I think there are two options.
@jgebal
I can try to make the utPLSQL framework installable in edition-enabled schema - no need to update documentation
In my opinion, this is the best option. I'm sure it will be convenient for everyone. May be in a future versions?
I can update documentation to say it's not possible
Probably makes sense to do it for the current version.
In the meantime, I am negotiating with the my admins to create a addtional scheme for utPLSQL. They promise to help. :)
The workaround for now would be for you to change all the source code and add:
noneditionable
to all packages/types/triggers/synonyms in utPLSQL installation.
In order for us to do this in utPLSQL itself, we would need to drop support for Oracle 11g or would need to provide two separate sets of source code (with and without noneditionable
keyword).
The noneditionable
was introduced in Oracle 12 and so we cannot simply add it without major complications or without dropping support.
I have tested it locally and it worked like a charm on all DBs except 11g.
So this is something to consider, think about and discuss before making a decision.
The changes that are needed can be expressed with this regexp:
change from:
^(create *(or *replace *)?)((package|type|trigger|synonym) *(body)?)
change to:
$1 noneditionable $3
Where $1 represents the expression in first bracket and $3 in third bracket
i used it for global search and replace in source code using IntelliJ IDE.
Other editors might have different regexp support and other substitution (replace) syntax.
Hope this helps a bit for now.
@jgebal
Thank you very much! I will definitely use this option next time.
At the moment my admins have created noneditionable schema for me. I have installed the framework and it works fine!
- I can try to make the utPLSQL framework installable in edition-enabled schema - no need to update documentation
This would be my preference as well.
Let me see if I can make it happen. I think I had a branch open for this some time ago.
Describe the bug Error installing utPLSQL v3.1.10 to my own schema.
Provide version info utPLSQL v3.1.10 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
To Reproduce Steps to reproduce the behavior:
cd utPLSQL/source/
sqlplus MYUSER/MYUSERPWD @install.sql MYUSER
MYUSER schema definition: