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).

 

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