Is it possible that we can hide some objects in a particular schema, so that users can't see them or I have control in some way that if users can see they can't do anything to them?

    Requires Free Membership to View

You can obfuscate PL/SQL that is stored in the database. There is a wrap utility. Go to and search on "wrap ulility" and then select the database version you're running. The PL/SQL user's guide and reference has a chapter on obscuring source code.

From reading your question though, it sounds like you want to obscure more than just your code. You can encrypt data with DBMS_CRYPTO. Your routines could depend on that and you can decrypt it when you use it. That could add a lot of overhead though so I wouldn't recommend it.

If you want to obscure tables, views, etc., I know if no way to do that. You could give your tables and columns really bad names like "table1" and "column1" but I wouldn't recommend that either.

If you're trying to protect your intellectual property, it's a tough call. But if you're just trying to keep your application from being hacked, proper security will protect you more than obfuscation will.

This was first published in December 2005

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: