关于logMiner的的问题 你使用的数据库启动文件不是PFILE吧?把同目录下的SPFILE文件删除掉再启动试试看。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to aweihz(我怎么还没有星??!) 我通过指定pfile启动SQL> startup open pfile='c:\ora9i\admin\testdb\pfile\init.ora'ORACLE 例程已经启动。Total System Global Area 135338868 bytesFixed Size 453492 bytesVariable Size 109051904 bytesDatabase Buffers 25165824 bytesRedo Buffers 667648 bytes生成 字典文件 e:\oradata\dictionary\testdb_dict.ora接着执行倒入日志文件启动LogMinerSQL> EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => 'testdb_dict.ora',STARTTIME => TO_DATE('2004-06-25','YYYY-MM-DD'),ENDTIME => TO_DATE('2004-07-14','YYYY-MM-DD'));BEGIN DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => 'testdb_dict.ora',STARTTIME => TO_DATE('2004-06-25','YYYY-MM-DD'),ENDTIME => TO_DATE('2004-07-14','YYYY-MM-DD')); END;*ERROR 位于第 1 行: ORA-01292: 当前 LogMiner 会话无指定的日志文件 ORA-06512: 在"SYS.DBMS_LOGMNR", line 53 ORA-06512: 在line 1请教一下 这是什么意思呢? 如何解决? 接着执行倒入日志文件-----------------------------你在这一步之后执行select * from v$logmnr_logs;看看什么输出。最好能把你整个过程完整的语句贴出来,这样一看就知道了,不用解释那么多。 完整步骤:-- 1、C:\ora9i\admin\testdb\pfile的init.ora 中加入一行 utl_file_dir = E:\oradata\dictionary-- 2、提取数据字典 execute DBMS_LOGMNR_D.BUILD(dictionary_filename => 'testdb_dict.ora',dictionary_location => 'E:\oradata\dictionary' ); -- 3、以open的方式启动数据库实例 startup pfile = 'C:\ora9i\admin\testdb\pfile的init.ora';-- 4、提供要分析的日志文件的列表。 EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => c:\ora9i\oradata\testdb\REDO01.LOG', OPTIONS => DBMS_LOGMNR.NEW );-- 5、往现有的列表加入文件 EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => c:\ora9i\oradata\testdb\REDO02.LOG', OPTIONS => DBMS_LOGMNR.ADDFILE ); EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => 'c:\ora9i\oradata\testdb\REDO03.LOG', OPTIONS => DBMS_LOGMNR.ADDFILE );-- 此时查询v$logmnr_logs select log_id,filename,status from v$logmnr_logs ;logid filename status---------------------------------------------------------------19 c:\ora9i\oradata\testdb\REDO01.LOG 3220 c:\ora9i\oradata\testdb\REDO02.LOG 3221 c:\ora9i\oradata\testdb\REDO03.LOG 32 -- 6、启动LogMiner,并分析数据-- 启动LogMiner并限制在指定的时间范围内进行搜索: EXECUTE DBMS_LOGMNR.START_LOGMNR( DICTFILENAME => 'testdb_dict.ora', STARTTIME => TO_DATE('2004-06-28 08:30:30','YYYY-MM-DD HH:MI:SS'), ENDTIME => TO_DATE('2004-07-15 08:45:00','YYYY-MM-DD HH:MI:SS'); )此时报错:BEGIN DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => 'testdb_dict.ora',STARTTIME => TO_DATE('2004-06-25','YYYY-MM-DD'),ENDTIME => TO_DATE('2004-07-14','YYYY-MM-DD')); END;*ERROR 位于第 1 行: ORA-01292: 当前 LogMiner 会话无指定的日志文件 ORA-06512: 在"SYS.DBMS_LOGMNR", line 53 ORA-06512: 在line 1 sorry!这次提示的错误不同了。*ERROR 位于第 1 行: ORA-01291: 丢失的日志文件 ORA-06512: 在"SYS.DBMS_LOGMNR", line 53 ORA-06512: 在line 1为什么会这样? 搞不懂了。我只是把昨天的命令重新执行了一遍。错误竟然不同了?! 你拷贝以下的语句试执行一下:EXECUTE DBMS_LOGMNR.START_LOGMNR( - DICTFILENAME => 'testdb_dict.ora',- STARTTIME => TO_DATE('2004-06-28 08:30:30','YYYY-MM-DD HH:MI:SS'),- ENDTIME => TO_DATE('2004-07-15 08:45:00','YYYY-MM-DD HH:MI:SS')); 为什么会这样? 搞不懂了。我只是把昨天的命令重新执行了一遍。错误竟然不同了?!-----------------------------------------你的LOG时间点不对了吧?把STARTTIME和ENDTIME的时间点改一下或者不加这两个时间范围 谢谢帮助! 我去掉时间限制并把文件名设置为全称就可以了!EXECUTE DBMS_LOGMNR.START_LOGMNR( DICTFILENAME = > 'e:\oradata\dictionary\testdb_dict.ora');以后有问题还要多多请教了! 关于上一条数据和下一条数据 求一个sql 请教oarcle海量数据性能测试模拟环境的建立和测试方案! Oracle存储过程如何返回数据集 跳出if嵌套语句 用occi 写olob的问题 9i 安装问题 给大家推荐一个学习Oracle和Unix的好地方! 为什么改了主机名就不能启动oracleagent的服务了 谁能给具体的讲一下to_date()在oracle中的用法呀? 分区的问题!!高分求救!!在线等 这个错
我通过指定pfile启动
SQL> startup open pfile='c:\ora9i\admin\testdb\pfile\init.ora'
ORACLE 例程已经启动。Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes生成 字典文件 e:\oradata\dictionary\testdb_dict.ora
接着执行倒入日志文件启动LogMiner
SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => 'testdb_dict.ora',STARTTIME => TO_DATE('2004-06-25','YYYY-MM-DD'),ENDTIME => TO_DATE('2004-07-14','YYYY-MM-DD'));
BEGIN DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => 'testdb_dict.ora',STARTTIME => TO_DATE('2004-06-25','YYYY-MM-DD'),ENDTIME => TO_DATE('2004-07-14','YYYY-MM-DD')); END;*ERROR 位于第 1 行: ORA-01292: 当前 LogMiner 会话无指定的日志文件
ORA-06512: 在"SYS.DBMS_LOGMNR", line 53
ORA-06512: 在line 1请教一下 这是什么意思呢? 如何解决?
-----------------------------
你在这一步之后执行select * from v$logmnr_logs;看看什么输出。最好能把你整个过程完整的语句贴出来,这样一看就知道了,不用解释那么多。
-- 1、C:\ora9i\admin\testdb\pfile的init.ora 中加入一行
utl_file_dir = E:\oradata\dictionary-- 2、提取数据字典
execute DBMS_LOGMNR_D.BUILD(dictionary_filename => 'testdb_dict.ora',dictionary_location => 'E:\oradata\dictionary' );
-- 3、以open的方式启动数据库实例
startup pfile = 'C:\ora9i\admin\testdb\pfile的init.ora';-- 4、提供要分析的日志文件的列表。
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(
LOGFILENAME => c:\ora9i\oradata\testdb\REDO01.LOG',
OPTIONS => DBMS_LOGMNR.NEW );-- 5、往现有的列表加入文件
EXECUTE DBMS_LOGMNR.ADD_LOGFILE(
LOGFILENAME => c:\ora9i\oradata\testdb\REDO02.LOG',
OPTIONS => DBMS_LOGMNR.ADDFILE ); EXECUTE DBMS_LOGMNR.ADD_LOGFILE(
LOGFILENAME => 'c:\ora9i\oradata\testdb\REDO03.LOG',
OPTIONS => DBMS_LOGMNR.ADDFILE );-- 此时查询v$logmnr_logs
select log_id,filename,status from v$logmnr_logs ;
logid filename status
---------------------------------------------------------------
19 c:\ora9i\oradata\testdb\REDO01.LOG 32
20 c:\ora9i\oradata\testdb\REDO02.LOG 32
21 c:\ora9i\oradata\testdb\REDO03.LOG 32 -- 6、启动LogMiner,并分析数据
-- 启动LogMiner并限制在指定的时间范围内进行搜索:
EXECUTE DBMS_LOGMNR.START_LOGMNR(
DICTFILENAME => 'testdb_dict.ora',
STARTTIME => TO_DATE('2004-06-28 08:30:30','YYYY-MM-DD HH:MI:SS'),
ENDTIME => TO_DATE('2004-07-15 08:45:00','YYYY-MM-DD HH:MI:SS');
)
此时报错:
BEGIN DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => 'testdb_dict.ora',STARTTIME => TO_DATE('2004-06-25','YYYY-MM-DD'),ENDTIME => TO_DATE('2004-07-14','YYYY-MM-DD')); END;*ERROR 位于第 1 行: ORA-01292: 当前 LogMiner 会话无指定的日志文件
ORA-06512: 在"SYS.DBMS_LOGMNR", line 53
ORA-06512: 在line 1
这次提示的错误不同了。
*ERROR 位于第 1 行: ORA-01291: 丢失的日志文件
ORA-06512: 在"SYS.DBMS_LOGMNR", line 53
ORA-06512: 在line 1为什么会这样? 搞不懂了。我只是把昨天的命令重新执行了一遍。错误竟然不同了?!
DICTFILENAME => 'testdb_dict.ora',-
STARTTIME => TO_DATE('2004-06-28 08:30:30','YYYY-MM-DD HH:MI:SS'),-
ENDTIME => TO_DATE('2004-07-15 08:45:00','YYYY-MM-DD HH:MI:SS'));
-----------------------------------------
你的LOG时间点不对了吧?把STARTTIME和ENDTIME的时间点改一下或者不加这两个时间范围
我去掉时间限制并把文件名设置为全称就可以了!
EXECUTE DBMS_LOGMNR.START_LOGMNR( DICTFILENAME = > 'e:\oradata\dictionary\testdb_dict.ora');以后有问题还要多多请教了!