Oracle 日志文件错误的处理。
转自:http://hi.baidu.com/dashuaiwang/blog/item/47cc680ec35055c37acbe1f8.html
打开oracle 数据库时出现了错误:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\ORADATA\GOCOM\REDO01.LOG'
SQL> connect / as sysdba;
已连接。
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: D:\ORACLE\ORADATA\ORCL\REDO01.LOG'
查看D:\ORACLE\ORADATA\myoracle\REDO01.LOG还在,但是REDO02.LOG,REDO03.LOG被误删了.
赶紧换个例程OEMREP试试,结果还是一样的错误!
蒙了,难道要重装数据库不成?有什么办法可以解决这个问题呢?
解决办法:
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
SQL> startup mount;
ORACLE 例程已经启动。
SQL>select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 0 104857600 1 NO UNCURRENT 670680 07-12月-07
2 1 15 104857600 1 NO unactive 696119 07-12月-07
3 1 0 104857600 1 NO Unactive 650182 07-12月-07
已选择3行。
alter database clear unarchived logfile group 1; /*重建日志文件*/
数据库已经更改.
alter database clear unarchived logfile group 2;
数据库已经更改.
alter database clear unarchived logfile group 3;
数据库已经更改.
SQL>shutdown;
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>startup;
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
问题解决!
但是,在对myoracle 例程进行同样的操作后,也不知道是哪里出了
相关文档:
oracle学习历程之存储过程
(1) 存储过程通过参数传递,安全性高,可防止注入式攻击.
(2) 查询的语句在存储过程里,与程序不相关,如果以后要修改程序或者数据库,都不会出现连锁反应,增加系统可扩展性.
(3) 网站执行查询的时候,只需要传递简单的参数就可以了,无论是代码优化上还是查询优化上都可以做到高效.
(4) 允许模块 ......
--1查看表空间已经使用的百分比
select a.tablespace_name,a.bytes/1024/1024
"Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024
"free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_nam ......
做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法。
产生测试数据的SQL如下:
SQL> select rownum as id,
2 &nbs ......
在sql语句中涉及到时间类型时 若只想要日期 to_date('2007-7-8','yyyy-mm-dd')
在C#中有datetime类型,代码说明一切
DateTime dt = System.DateTime.Now;
string lsh;
lsh=string.Format("{0:yyyyMMddHHmmss}", dt);
DateTime dt = DateTime.Now;
Label1.Text = dt.To ......
What circumstances we use ALL_ROWS and what circumstances we use FIRST_ROWS optimizer mode? This article is written in oracle9i.
First_rows attempts to optimize the query to get the very first row back to the client as fast as possible. This is good for an interactive client server environment wher ......