PDA

View Full Version : [Q] Lỗi khi chạy LogMiner



lanpttl
23-05-2003, 14:20
Mình dùng bản Oracle 8i trên máy chủ Unixware
Khi mình chạy LogMiner Utility (bằng cách gọi excute DBMS_LOGMNR_D.build('logdict','/home2/oracle/oradata/trace') trong Server Manager)
thì bị báo lỗi như vầy:
ORA-06532:subscript outside of limit
ORA-06512: at "SYS.DBMS_LOGMNR_D", line 793
ORA-06512: at line 2
Có ai bị lỗi như thế này chưa? Giúp mình với
Trong file init, mình có khai báo UTL_FILE_DIR:
ULT_FILE_DIR=/home2/oracle/oradata/trace
Mình đã kiểm tra package SYS.DBMS_LOGMNR_D, dòng 793 :
record_table_result := record_table('IND$', ''), nhưng đến đây thì tắc tị rồi.

ctr_alt_del
26-05-2003, 13:45
Lỗi tràn bộ nhớ của kiểu dữ liệu Varray. Tìm trong thư mục $ORACLE_HOME/rdbms/admin/đbmslm.sql, Sửa lại các khai báo kiểu dữ liệu Varray để chứa được lượng dữ liệu lớn hơn 513=>700. Tạo lại package này với user sys, chạy lại lệnh trên chắc là OK. Lỗi này Oracle có cung cấp trong patch sửa lỗi của 8.1.7

lanpttl
27-05-2003, 15:14
Trong file dbmslm.sql sao không có khai báo kiểu varray. Bạn có thể nói rõ hơn về kiểu này không ?
Mình gửi kèm file dbmslm, bạn xem thử có đúng không ?

ctr_alt_del
28-05-2003, 07:49
sorry, mình ghi thiếu đó là file ORACLE_HOME/rdbms/admin/dbmslmd.sql

lanpttl
28-05-2003, 14:09
Mình đã làm như bạn hướng dẫn và DBMS_LOGMNR_D chạy không có lỗi. Nhưng khi add log file vào thì Oracle báo dbms_logmnr.NEW. dbms_logmnr.ADDFILE chưa được declare. Mình đã cho chạy dbmslm.sql để tạo lại package dbms_logmnr, sau đó Oracle lại báo không tìm thấy package content của dbms_logmnr. Làm sau tạo được content ?. Trước đây mình đã thử phần addfile này rồi, không có vấn đề gì nhưng sao hôm nay tự nhiên lại bị mất vậy, giúp mình với.

ctr_alt_del
02-06-2003, 21:18
Tạo lại dictionary thôi, body của package này là những đoạn mã C cơ mà, không xem được đâu.

lanpttl
03-06-2003, 08:32
Tạo lại dictionary như thế nào ? Mình không biết làm phần này. Bạn nói rõ hơn cho mình biết với

ctr_alt_del
04-06-2003, 13:47
Nói thực ra, ta chỉ tạo lại dictionary khi upgrade hoặc downgrade thôi. Việc tạo lại cũng không khó gì cho lắm nhưng trước khi làm nên backup cho tốt để còn phục hồi được. Để tạo lại dictionary bạn cần thực hiện các script catalog.sql, catproc.sql tuỳ theo option của DB bạn còn cần chạy thêm các script như catrep.sql cho avandce replication, caths.sql cho timeseries

lanpttl
04-06-2003, 14:20
Cảm ơn bạn