Oracle 11g: New sql.bsq structure

2

Probably one of the oldest database scripts around is the sql.bsq file. First comments described in the heading of this file date from 1994 ("anori – 11/17/94 – ADT support tables and columns"). In the "old days", the days when I started (Oracle version 6, 7), it was common to alter this file a little bit, regarding table storage options, so it fitted our data dictionary tablespace layout. The purpose of these alterations was to achieve an increase in performance and avoid fragmentation (see, for example, here http://www.ixora.com.au/tips/creation/bsq.htm, for some information about the approach in "those" days).

The sql.bsq file is called during database creation and creates, among others, the data dictionary.

During a discussion with Oracle Development I wanted to check how the preferred data types were defined during database creation. I got side-tracked. The sql.bsq resides in the "$ORACLE_HOME/rdbms/admin" directory.  In Oracle 11g the sql.bsq file has been redefined. It looks like a Dutch person had his hands on it ("jklein – 08/01/05 – diag 11g – split-up into units"); "klein" is small in Dutch. I guess this ("klein") sounds somewhat appropriate in this context (splitting up sql.bsq).

Smiley

Re-organized

As nowadays common for the catalog.sql script, the sql.bsq script contains references to other scripts. Most of them contain nothing new, just got a new
placeholder.

Files called from within the sql.bsq file are:

.... 

SCRIPT NAME

SOME OF THE OBJECTS CREATED

dcore.bsq

Creation of tablespace SYSTEM, rollback segment SYSTEM.
Creation of clu$, uet$, seg$, ts$, obj$, props$, edition$, defrole$, sysauth$, dual, etc.

dsqlddl.bsq

Creation of link$, recyclebin$, duc$, trigger$, context$, etc

dmanage.bsq

Creation of tablespace SYSAUX
Creation of sqllog$, sql$, sqltext$, sqlobj$, object_usage, etc.

dplsql.bsq

Creation of procedure$, procedureinfo$, source$, error$, diana_version$, etc.

dtxnspc.bsq

Creation of default UNDO, temporary, permanent tablespace
Creation of pending_trans$, pending_sessions$, etc.
Inserts of extra values in props$ 

dfmap.bsq

Creation of map_file$, map_element$, map* etc

denv.bsq

Creation of profile$, resource_cost$, resource*$, job$, etc.
Creation of profile "DEFAULT"

drac.bsq

Creation of tsm_src$, service$, cluster_databases, dir$alert_history, etc.

dsec.bsq

Creation of user sys, public, role connect, etc.
Creation of audit$, aud$, SYSTEM_PRIVILEGE_MAP, rls$, fga$, etc.
Inserting values into SYSTEM_PRIVILEGE_MAP, grant ora$base to public

doptim.bsq

Creation of histgrm$, hist_head$, tab_stats$, ind_stats$, etc.

dobj.bsq

Creation of dir$, type$, collection$, method$, operator$, etc

djava.bsq

Creation of javaobj$, javasnm$, etc.

dpart.bsq

Creation of partobj$, partcol$, lobfrag$, etc.

drep.bsq

Creation of mlog$, slog$, snap$, snap_reftime$, cdc_system, streams$_capture_process, etc

daw.bsq

Creation of aw$, aw_prop$, olap_mappings$, olap_models$, olap_primary_dimensions$

dsummgt.bsq

Creation of sum$, sumagg$, dim$, etc

dtools.bsq

Creation of role exp_full_database, select_catalog_role, etc
Creation of expimp_tts_ct$, metaview$, metascript$, etc

dexttab.bsq

Creation of external_tab$, external_location$, etc

ddm.bsq

Creation of model$, modeltab$, modelset$, etc.

I guess everyone has his favorites. I didn’t name them all, nor do I guess this will be the final state. It is a good habit to take a little time and wander through the files and look-up what you find interesting. It will be an nice journey through the dictionary.

Disclaimer

The information demonstrated and shared here is based on Oracle beta software. The following is intended to outline Oracle’s general product direction.  It is intended for information purposes only, and may not be incorporated into any contract.  It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.  The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

 

Share.

About Author

Marco Gralike, working for AMIS Services BV as a Principal Oracle Database Consultant in the Netherlands, has experience as a DBA since 1994 (Oracle 6). Marco is also eager and skillful in other fields, like Operating System Administration and Application Servers, mainly to find working, performing solutions. Marco has been specializing in Oracle XMLDB, since 2003, focusing on his old love, database administration and performance. He is an Oracle XMLDB enthusiast ever since. He is also a dedicated contributor of the Oracle User Group community, helping people with their steep XMLDB learning curve. To this purpose, Marco also devoted his personal blog site to XMLDB and other Oracle issues. Marco is a member of the OakTable network and an Oracle ACE Director (specialization Oracle XMLDB).

2 Comments