Oracle 起步日记(11)——文件检测
2012-02-13 15:21
302 查看
Oracle数据库中的文件有很多,如参数文件、数据文件、控制文件、在线重做日志文件、归档日志文件、密码文件、警告日志文件、跟踪文件等
1) 监测控制文件
控制文件非常重要,一般需要进行备份。连接数据库时,当完成装载之后,需要读取控制文件中记录的数据文件、日志文件的位置等信息,只有控制文件完好无损,才可以打开数据库。
SELECT VALUE FROM V$PARAMETER WHERE NAME = ‘control_files’
在这个语句中control_files是控制文件的意思
在Oracle数据库中我一直纠结的一个问题是大小写的问题,有时候Oracle无论大小写结果是一致的,有时候一定要求大写,在这条语句中control_files一定是要小写的,不然会提示未选定行
在我的数据库系统中,有两个控制文件,它们是完全相同的,可以互相替代。
在数据库启动时,只要能找到一个可用的控制文件,就能成功地打开数据库
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
/
由于之中有中文,所以十分担心出现中文的空格啊,回车啊之类的
然后遇到了如下错误
解释下这个错误,这个错误是由于一开始,不允许我的别名,在第三行我的原始的别名是“大小(M)”,删除了括号之后,果断解决了
并且我发现,SQLPLUS提示的错误还是很精准的,可以看到图上红框的那一句,有个“*”,都直接告诉错哪里了,哈哈,这个是今天才发现的
这个错误是我比较纠结,也是没想明白的,分号出错,一开始我以为是自己用中文打了分号,于是打算从记事本返回SQLPLUS之后再加分号,谁知到误打误撞,去掉分号直接打“/”,它居然理我并且不报错了……
好像明白为嘛了……如果是在SQLPLUS当中,打完分号之后直接执行了,然如果是在记事本里面,分号被当做语句的一部分,然后再用“/”进行了二次执行,于是报错
3) 监测在线重做日志文件
数据库中的数据被修改并提交后,其信息会被保存在重做日志文件中。在重做日志文件正常的情况下,数据库才可以被打开
SELECT group#,type,member FROM v$logfile;
4) 监测其他文件
跟踪文件
SHOW PARAMETER user_dump_dest;
此命令会显示跟踪文件的信息包括路径,此位置也用来存放警告文件,两种文件通过不同的后缀区分
ARCHIVE LOG LIST
这个语句是列出了数据库的归档以及日志序列等信息,当然,这个语句需要权限,我使用LY用户权限不足,需要换回SYS用户才可以运行
1) 监测控制文件
控制文件非常重要,一般需要进行备份。连接数据库时,当完成装载之后,需要读取控制文件中记录的数据文件、日志文件的位置等信息,只有控制文件完好无损,才可以打开数据库。
SELECT VALUE FROM V$PARAMETER WHERE NAME = ‘control_files’
在这个语句中control_files是控制文件的意思
在Oracle数据库中我一直纠结的一个问题是大小写的问题,有时候Oracle无论大小写结果是一致的,有时候一定要求大写,在这条语句中control_files一定是要小写的,不然会提示未选定行
在我的数据库系统中,有两个控制文件,它们是完全相同的,可以互相替代。
在数据库启动时,只要能找到一个可用的控制文件,就能成功地打开数据库
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
/
由于之中有中文,所以十分担心出现中文的空格啊,回车啊之类的
然后遇到了如下错误
解释下这个错误,这个错误是由于一开始,不允许我的别名,在第三行我的原始的别名是“大小(M)”,删除了括号之后,果断解决了
并且我发现,SQLPLUS提示的错误还是很精准的,可以看到图上红框的那一句,有个“*”,都直接告诉错哪里了,哈哈,这个是今天才发现的
这个错误是我比较纠结,也是没想明白的,分号出错,一开始我以为是自己用中文打了分号,于是打算从记事本返回SQLPLUS之后再加分号,谁知到误打误撞,去掉分号直接打“/”,它居然理我并且不报错了……
好像明白为嘛了……如果是在SQLPLUS当中,打完分号之后直接执行了,然如果是在记事本里面,分号被当做语句的一部分,然后再用“/”进行了二次执行,于是报错
3) 监测在线重做日志文件
数据库中的数据被修改并提交后,其信息会被保存在重做日志文件中。在重做日志文件正常的情况下,数据库才可以被打开
SELECT group#,type,member FROM v$logfile;
4) 监测其他文件
跟踪文件
SHOW PARAMETER user_dump_dest;
此命令会显示跟踪文件的信息包括路径,此位置也用来存放警告文件,两种文件通过不同的后缀区分
ARCHIVE LOG LIST
这个语句是列出了数据库的归档以及日志序列等信息,当然,这个语句需要权限,我使用LY用户权限不足,需要换回SYS用户才可以运行
相关文章推荐
- Oracle 起步日记(10)——进程检测
- Oracle 起步日记(15)——参数文件管理
- Oracle 起步日记(16)——控制文件管理
- Oracle 起步日记(17)——日志文件管理
- Oracle 起步日记(7)——触发器
- Oracle 起步日记(20)——内存调优
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- Oracle 起步日记(5)——PL/SQL语句
- Oracle 起步日记(1)——安装
- 在RHEL6中安装Oracle 11预检测包pdksh未安装错误解决方法
- Oracle 11 Client 安装文件
- Oracle 起步日记(19)——安全管理、角色管理
- Oracle 起步日记(6)——存储过程
- Oracle 起步日记(8)——游标
- 安装11G rac时报错INS-40414 INS-40414 安装程序检测到系统上有未使用的 Oracle 集群注册表 (OCR) 位置指针文件 (/etc/oracle/ocr.loc)
- Oracle 起步日记(13)——冷备份与恢复
- Oracle 起步日记(12)——对象监测
- Oracle 起步日记(14)——EXP/IMP导入导出
- Oracle 起步日记(2)——表空间管理
- Oracle之 分析tnsnames.sa文件失败 ServiceAliasException:11错误