oracle编程艺术(第三章)—文件 (笔记)
构成数据库和实例的8种文件类型
参数文件(parameter file):
告诉ORACLE实例哪里可以找到控制文件,并指定某些初始化参数,这些参数定义某中内存结构有多大设置。
可以从视图V$parameter视图里查看很多参数 例如:show parameter sga,show parameter会自动在前面和后面添加%
如果想了解参数详情可以参数如下连接:
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237.pdf
init.ora这个文件的命名约定:
init$ORACLE_SID.ora(Unix)
默认存储目录:
$ORACLE_HOME/dbs (UNIX)
此参数文件可以不必放在默认位置,启动时候可以通过pfile=filename指定。
如果想在客户机上启动数据库服务器,那么客户机必须有此文件。
服务器参数文件:spfile
优点:可以杜绝参数文件的繁殖。SPFILE文件存储在服务器上。
无需在数据库之外使用文本编辑器手动维护参数文件(禁止用文本编辑器打开的),只要使用alter system 命令就可以将修改存入spfile文件
此文件的命名约定:
spfile$ORACLE_SID.ora(UNIX)
转换INIT.ORA为SPFILE
create spfile from pifle
设置SPFILE文件的参数值
alter system set parameter(要修改的参数名)=value(想赋予的参数值) <comment=’text’>(与参数相关的可选解释)<deferred> (对以后的会话生效)
<scope=memory|spfile|both>(修改的作用域)<sid=’sid|*’
memory:只在实例里修改,重起后将不在保存
spfile 只修改spfile参数,数据库重起后生效
both 是在内存和spfile都会修改,是默认的作用域
sid=’sid|*’主要用于集群环境,默认值为sid=’*’ 一般ORACLE RAC里才用到
例如:alter system set pga_aggregate_target=1024m;
取消spfile中参数设置
alter system reset parameter <scope=memory|spfile|both>sid=’sid|*’
例如:
alter system reset sort_area_size scope=spfile sid=’*';
修改被破坏的SPFILE
在UNIX平台上可以用 strings 命令提取所有设置。
strings spfile$ORACLE_SID.ora
WINDOWS用write.exe打开,然后粘贴到init<ORACLE_SID>.ora就能创建SPFILE
还可以从警告日志中,提取参数信息,然后保存到pfile文件中,然后通过create spfile from pfile创建。
跟踪文件(trace file):
通常是服务器进程对某中异常错误条件做出响应时创建的诊断文件
跟踪文件主要提供调试信息
ORACLE服务器是可以测量的
V$视图:大多数V$视图都包含调试信息 例如:V$WAITSTAT V$SESSION_EVENT
审计命令:你能指定数据库记录哪些信息,以便日后分析
ORACLE事件
DBMS_TRACE
数据库事件触发器
SQL_TRACE
你想要的跟踪文件:起用SQL_TRACE=TRUE结果,包括会话诊断,有助于调整应用,优化应用性能,并诊断遭遇的瓶竟.
你不想要的跟踪文件:由于出现错误,服务器自动生成的
请求的跟踪文件:
是因为设置了SQL_TRACE=TRUE 或者10046事件
alter session set events ‘10046 trace name context forever,level 12′;
1文件位置
专用服务器:会在USER_DUMP_DEST参数指定的目录中生成
共享服务器:会在BACKGROUD_DUMP_DEST参数指定的目录生成
要想知道可以用SHOW PARAMETER DUMP_DEST 或者直接查询V$PARAMETER视图
select name,value from $parameter where name like ‘%dump_dest%’
查询生成跟踪文件的名的脚本:
select c.value ||’/’ || d.instance_name || ‘_ora_’ ||a.spid || ‘.trc’ trace
from v$process a,v$session b,v$parameter c,v$instance d
where a.addr=b.paddr
and b.audsid=userenv(’sessionid’)
and c.name=’user_dump_dest’
/
警告文件(alert file):
构成数据库的文件:
数据文件(data file):
包括数据表、索引、和其他段。
临时文件(temp file):
用于完成磁盘排序或临时存储。
控制文件(control file):
指定数据文件、临时文件、重做日志文件的位置,还会指出与文件状态有关的其他元数据。
重做日志文件(redo file):
事务日志。
密码文件(password file):
对通过网络完成管理活动用户的进行认证。
10G新增的两种文件
修改跟踪文件(change trace file):
有利于ORACLE建立真正的增量备份,它只与数据库备份和恢复有关。
闪会日志文件(flashback log file):
主要用于存储数据块的“前映象:
与数据库有关的其他类型文件:
转储文件(dump file,DMP file):
这些文件由Export数据库实用程序导出,并由Import数据库实用程序导入。
数据泵文件(Data Pump file):
这个由10G新增的数据泵导出导入使用。外部表也可以创建和使用这种文件格式。
平面文件(flat file):
http://download-west.oracle.com/docs/cd/B19306_01/network.102/b14212.pdf
