资讯详情

1.3.9 sql.bsq文件与数据库创建

1.3.9 sql.bsq创建文件和数据库

在CREATE DATABASE的过程中,Oracle会调用$ORACLE_HOME/rdbms/admin/sql.bsq脚本,用来创建数据字典,是一个非常重要的脚本,它存储了数据字典的句子和注释,当我们对某些数据字典感兴趣时,我们可以通过检查文件获得更详细的信息。

在Oracle 11g之前,sql.bsq脚本包含一切SQL语句;自Oracle 11g一开始,该文件被分成多个文件.bsq文件,sql.bsq文件描述了拆分后的文件调用:

rem!!!IMPORTANT!!!

remWhenevernewcolumniscreatedtostoreinternal,userorkernelcolumn

remnumber,besuretoupdatethestructureadtDTinatb.csothatthose

remcolumnswillbeupdatedproperlyduringdropcolumn.

rem!!!

rem

dcore.bsq

dsqlddl.bsq

dmanage.bsq

dplsql.bsq

dtxnspc.bsq

dfmap.bsq

denv.bsq

drac.bsq

dsec.bsq

doptim.bsq

dobj.bsq

djava.bsq

dpart.bsq

drep.bsq

daw.bsq

dsummgt.bsq

dtools.bsq

dexttab.bsq

ddm.bsq

dlmnr.bsq

ddst.bsq

拆分后的基础SQL比如dcore.bsq它包含了控制数据库启动的最核心字典创建语句bootstrap$本文件可以找到其创建语句:

createtablebootstrap$

(line#numbernotnull,/*statementorderid*/

obj#numbernotnull,/*objectnumber*/

sql_textvarchar2("M_VCSZ")notnull)/*statement*/

storage(initial50K)/*toavoidspacemanagementduringIORI*/

///*"//"requiredforbootstrap*/

提示:sql.bsq相关文件值得每一项研究Oracle认真阅读和理解数据的人。

sql.bsq文件的位置是一个隐含的初始参数(_init_sql_file)的控制:

SQL>@GetParDescrb.sql

Entervalueforpar:init_sql

NAMEVALUEDESCRIB

--------------------------------------------------------------------------------

_init_sql_file?/rdbms/admin/sql.bsqFilecontainingSQLstatementstoexecuteupon

databasecreation

若在数据库创建过程中,Oracle无法找到sql.bsq如果文件,数据库创建将出错。可以测试删除。sql.bsq查看数据库创建过程:

SQL>startupnomount;

ORACLEinstancestarted.

SQL>@CreateDB.sql

CREATEDATABASEeygle

*

ERRORatline1:

ORA-01092:ORACLEinstanceterminated.Disconnectionforced

此时,警告日志(alert_.log)中会记录以下信息:

FriAug1815:45:492006

Errorsinfile/opt/oracle/admin/eygle/udump/eygle_ora_3632.trc:

ORA-01501:CREATEDATABASEfailed

ORA-01526:errorinopeningfile'?/rdbms/admin/sql.bsq'

ORA-07391:sftopn:fopenerror,unabletoopentextfile.

Error1526happenedduringdbopen,shuttingdowndatabase

USER:terminatinginstanceduetoerror1526

这就是sql.bsq文件在数据库创建过程中的作用。知道这个内容后,我们甚至可以手动修改sql.bsq文件可以更改数据库字典对象参数,从而创建或测试特殊要求的自定义数据库,也可以修改_init_sql_file重定位参数sql.bsq文件的位置(但通常不建议更改)。

sql.bsq文件中包含的数据库核心信息非常重要。很多时候,这个文件可以帮助我们回答技术疑惑。

【责任编辑:book TEL:(010)68476606】

点赞 0

标签: bsq015a振动变送器bsq015振动变送器bsq073lvdt位移变送器bsq011a振动变送器bsq015c振动变送器振动变送器bsq015b

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台