Skip navigation.

Blogs

Impact on Packages - Assign permissions directly vs Assign permission via Roles

Document depicts how Roles and Privileges behave for Packages

DB Version: 10.2.0.4

Users: TESTUSR (Table Owner)
TESTUSR_PKG (Package Onwer)
TESTUSR_APP (Application Owner)

Roles: TESTUSR_APP_ROLE
TESTUSR_PKG_ROLE

Table: TEST_TBL
Package: TEST_PKG

Table Text:
create table test_tbl(a number);

Package Text:
CREATE OR REPLACE PACKAGE test_pkg AS -- spec
PROCEDURE insert_test_tbl (
a NUMBER);
PROCEDURE delete_test_tbl (
a NUMBER);
END test_pkg;

CREATE OR REPLACE PACKAGE BODY test_pkg AS -- body
PROCEDURE insert_test_tbl (
a

Proxy authentication

Proxy authentication has been around since release 9i, but it isn't widely used. It can be a very useful facility for giving certain users access to high privileges without having to give them any direct grants or roles, and avoids many of the problems of using shared accounts. It is of course fully audited.

Standard Edition release 12.1.0.2: licensing...

Standard Edition release 12.1.0.2 is now available. Download it from the usual locations. But along with the great news, comes some news that is not so great: the licensing model has changed.

ADVANCED table compression: an improvement

Following previous blog re BASIC compression, here are a couple of simple tests with Advanced Compression - which is supposed to survive conventional DML.

BASIC table compression: use with care

BASIC table compression is included with Enterprise edition, and can achieve respectable compression ratios. But beware! Subsequent DML may be disastrous.

Controlling Administrator Access with Oracle Database Vault “Separation of Duty”

This paper provides best practices for rapid deployment of Oracle Database Vault protections to
secure sensitive application data inside the database. Oracle Database Vault enables you to restrict administrative access to an Oracle
database. This helps you address the most difficult security problems remaining
today: protecting against insider threats, meeting regulatory compliance
requirements, and enforcing separation of duty. It covers the following main topics:

1. Overview
2. Separation of Duty
3. Installation
4. Step by Step Implementation
5. Conclusion

How and why to quiesce the database

The ability to quiesce the database was introduced in release 9, but to this day I find that many people are not aware of it. It can be really useful - so let's describe it. I'll begin by positioning the quiesce capability: when is it useful. Then detail how to do it, then reverse engineer the mechanism.

Book review: Brian Peasland, Oracle RAC Performance Tuning

Excellent book - I've just posted this review on Amazon:

Identifying missing FK indexes

Why publishing this under SQL instead of RDBMS Server?

The necessaty to create supporting indexes for foreign keys has been explained in other articles.
However writing a foolproof query to identify missing FK indexes is not so straightforward as it might look. I used to do it PLSQL, but this has proven not to scale very well and taking quite some elapsed time and system resources in databases with many thousands of tables.

Tuning SQL with dynamic sampling

Another example of what I think of as "the self-tuning database". Setting optimizer_dynamic_sampling=11 can fix many performance problems, without the DBA needing to use his brain at all.