Oracle 起步日记(11)——文件检测

 

Oracle数据库中的文件有很多,如参数文件、数据文件、控制文件、在线重做日志文件、归档日志文件、密码文件、警告日志文件、跟踪文件等

 

1) 监测控制文件

 

控制文件非常重要,一般需要进行备份。连接数据库时,当完成装载之后,需要读取控制文件中记录的数据文件、日志文件的位置等信息,只有控制文件完好无损,才可以打开数据库。

 

SELECT VALUE FROM V$PARAMETER WHERE NAME = ‘control_files’

 

在这个语句中control_files是控制文件的意思

在Oracle数据库中我一直纠结的一个问题是大小写的问题,有时候Oracle无论大小写结果是一致的,有时候一定要求大写,在这条语句中control_files一定是要小写的,不然会提示未选定行

tupian1

 

 

在我的数据库系统中,有两个控制文件,它们是完全相同的,可以互相替代。

在数据库启动时,只要能找到一个可用的控制文件,就能成功地打开数据库

 

2) 监测数据文件

 

数据文件用以存放用户的数据

 

监测数据文件的代码真的是打到想死的,如下

SELECT b.file_name 物理文件名,

b.tablespace_name 表空间,

b.bytes/1024/1024 大小M,

(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,

substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率

from dba_free_space a,dba_data_files b

WHERE a.file_id = b.file_id

GROUP BY b.tablespace_name,b.file_name,b.bytes

order BY b.tablespace_name

/

 

由于之中有中文,所以十分担心出现中文的空格啊,回车啊之类的

然后遇到了如下错误

tupian2

 

解释下这个错误,这个错误是由于一开始,不允许我的别名,在第三行我的原始的别名是“大小(M)”,删除了括号之后,果断解决了

并且我发现,SQLPLUS提示的错误还是很精准的,可以看到图上红框的那一句,有个“*”,都直接告诉错哪里了,哈哈,这个是今天才发现的

 

tupian3

这个错误是我比较纠结,也是没想明白的,分号出错,一开始我以为是自己用中文打了分号,于是打算从记事本返回SQLPLUS之后再加分号,谁知到误打误撞,去掉分号直接打“/”,它居然理我并且不报错了……

好像明白为嘛了……如果是在SQLPLUS当中,打完分号之后直接执行了,然如果是在记事本里面,分号被当做语句的一部分,然后再用“/”进行了二次执行,于是报错

 

3) 监测在线重做日志文件

 

数据库中的数据被修改并提交后,其信息会被保存在重做日志文件中。在重做日志文件正常的情况下,数据库才可以被打开

SELECT group#,type,member FROM v$logfile;

 

4) 监测其他文件

跟踪文件

SHOW PARAMETER user_dump_dest;

此命令会显示跟踪文件的信息包括路径,此位置也用来存放警告文件,两种文件通过不同的后缀区分

 

ARCHIVE LOG LIST

这个语句是列出了数据库的归档以及日志序列等信息,当然,这个语句需要权限,我使用LY用户权限不足,需要换回SYS用户才可以运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值