le redolog ?
je le fais en attendant... faut que je ressorte ma bible (ça va prendre un peu de temps ...)
Merci
le redolog ?
je le fais en attendant... faut que je ressorte ma bible (ça va prendre un peu de temps ...)
Merci
C'est plus rapide que de ressortir mes classeurs ....
J'ai recrée les 3 redologs
dans le fichier alert, il ne met plus le message :
fichier alert :Code :
Mem# 0 errs 0: F:\ORACLE\ORADATA\PROD\REDO01.LOG
Mais mes erreurs sont toujours là
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 Dump file F:\oracle\admin\PROD\bdump\prodALRT.LOG Fri Jun 30 11:59:14 2006 ORACLE V8.1.7.0.0 - Production vsnsta=0 vsnsql=e vsnxtr=3 Windows 2000 Version 5.1 Service Pack 2, CPU type 586 Fri Jun 30 11:59:14 2006 Shutting down instance (immediate) License high water mark = 6 Fri Jun 30 11:59:14 2006 ALTER DATABASE CLOSE NORMAL Fri Jun 30 11:59:14 2006 SMON: disabling tx recovery SMON: disabling cache recovery Fri Jun 30 11:59:15 2006 Thread 1 closed at log sequence 14 Fri Jun 30 11:59:16 2006 Completed: ALTER DATABASE CLOSE NORMAL Fri Jun 30 11:59:16 2006 ALTER DATABASE DISMOUNT Completed: ALTER DATABASE DISMOUNT archiving is disabled Fri Jun 30 11:59:18 2006 ARCH shutting down ARC0: Archival stopped Starting up ORACLE RDBMS Version: 8.1.7.0.0. System parameters with non-default values: processes = 200 shared_pool_size = 60000000 large_pool_size = 614400 java_pool_size = 32768 control_files = F:\oracle\oradata\PROD\CONTROL01.CTL, F:\oracle\oradata\PROD\CONTROL02.CTL, F:\oracle\oradata\PROD\CONTROL03.CTL db_block_buffers = 5000 db_block_size = 8192 compatible = 8.1.6 log_archive_start = TRUE log_archive_dest_1 = LOCATION=F:\oracle\oradata\prod\archive standby_archive_dest = F:\oracle\oradata\prod\archive log_archive_format = arch%T_%S.arc log_buffer = 32768 log_checkpoint_interval = 10000 log_checkpoint_timeout = 1800 db_files = 1024 db_file_multiblock_read_count= 8 max_enabled_roles = 30 remote_login_passwordfile= EXCLUSIVE global_names = FALSE distributed_transactions = 10 instance_name = PROD service_names = PROD sort_area_size = 65536 sort_area_retained_size = 65536 db_name = PROD open_cursors = 256 os_authent_prefix = job_queue_processes = 4 job_queue_interval = 60 parallel_max_servers = 5 background_dump_dest = F:\oracle\admin\PROD\bdump user_dump_dest = F:\oracle\admin\PROD\udump max_dump_file_size = 10240 oracle_trace_collection_name= PMON started with pid=2 DBW0 started with pid=3 LGWR started with pid=4 CKPT started with pid=5 SMON started with pid=6 RECO started with pid=7 SNP0 started with pid=8 SNP1 started with pid=9 SNP2 started with pid=10 SNP3 started with pid=11 Fri Jun 30 12:00:04 2006 ARCH: STARTING ARCH PROCESSES ARC0 started with pid=12 Fri Jun 30 12:00:04 2006 ARCH: STARTING ARCH PROCESSES COMPLETE Fri Jun 30 12:00:04 2006 ARC0: Archival started Fri Jun 30 12:00:04 2006 alter database mount Fri Jun 30 12:00:12 2006 Successful mount of redo thread 1, with mount id 6309195. Fri Jun 30 12:00:12 2006 Database mounted in Exclusive Mode. Completed: alter database mount Fri Jun 30 12:00:12 2006 alter database open Fri Jun 30 12:00:12 2006 Thread 1 opened at log sequence 14 Current log# 2 seq# 14 mem# 0: F:\ORACLE\ORADATA\PROD\REDO02.LOG Successful open of redo thread 1. Fri Jun 30 12:00:12 2006 SMON: enabling cache recovery SMON: enabling tx recovery Fri Jun 30 12:00:15 2006 Completed: alter database open
Merci
mais c'est lors de la connection sous SQL*Plus alors ? Y'a pas des traces dans user_dump ?
Dans user_dump, j'ai rien
J'ai eu l'idée (peut être mauvaise) de faire un exp / imp de la DB.
C'est en cours .... logiquement si j'ai un problème d'objet, lors de l'import, oracle me recrée les objets, vu que j'ai droppé lu user propriètaire, non ?
Merci JF
Essaye :
- de recréer le fichier des password (orapwd)
- de recréer le spfile (c'est le genre de mésaventure qui arrive quand on change le spfile à la main)
Pour recréer le SPFILE, c'est bien comme cela : (d'ailleurs SPFILE = PFILE ???)
Pour le PWD, pas de pbm.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Alter database backup controlfile to trace resetlogs ;
J'essaye de recréer ces duex fichiers quand mon import sera finie.
Merci, JF
pas du tout, ça ça permet de recréer les control files.
C'est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE SPFILE [= '<spfile_name>'] FROM PFILE [= '<pfile_name>'];
Mon import est toujours pas fini ...( je crois que je vais aborter car le WE n'est pas loin ...)
Là je me pose une question existentielle:
Si je comprend bien, le SPFILE est crée depuis le pfile, mais que devient le pfile aprés cette commande ???
J'ai jamais utilisé un SPFILE (c'est peut être le moment )
Quand on démarre l'instance, je ferais donc appel au spfile crée et non pas au pfile ....
Merci
Aie: il faut que j'y aille, mais je serais au rdv lundi....
Merci pour vos réponses et bon week end à tous ...
si t'es pas en spfile laisse tomber
le paramétre spfile doit donner le chemin du fichier et alors le pfile ne sera plus utilisé et pourra être supprimé
voilà j'ai fait exp / imp et recréation du pwd.ora ==> toujours mes erreurs...
Par contre, j'ai des triggers associés aux tables.
J'ai pris une table (où il y a une génération d'erreur), désactivé les triggers, executé un update ==> Pas d'erreurs
Je les réactivent, éxecute un update ==> erreur
Donc, à priori, mes erreurs viennent des triggers.
Le problème: ce n'est pas moi qui les aient générés et surtout j'ai jamais utilisé des triggers d'oracle.
Faut-il compilé des triggers ??? (comment faire si ...)
Est-ce que les triggers sont incompatibles avec une SDB ???
Voici par ex. le trigger d'update en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134 DECLARE DATESYS DATE; DATEJOB DATE; ERR_NUM VARCHAR2(255); ERR_MSG VARCHAR2(255); ACK VARCHAR2(1); OLD_A_LIRE VARCHAR2(1); NEW_A_LIRE VARCHAR2(1); BEGIN IF ( :NEW.CUSTOMER_ID = 'BPLVA' ) THEN BEGIN BEGIN SELECT M_ACK, M_A_LIRE INTO ACK, OLD_A_LIRE FROM PROD.INT_SAMPLE WHERE ID_NUMERIC = :NEW.ID_NUMERIC; EXCEPTION WHEN OTHERS THEN NULL; END; IF (OLD_A_LIRE = 'I') THEN NEW_A_LIRE := 'I'; ELSE NEW_A_LIRE := 'U'; END IF; IF ( ACK = 'V') THEN UPDATE PROD.INT_SAMPLE SET M_ACK = 'O' WHERE ID_NUMERIC = :NEW.ID_NUMERIC; ELSE BEGIN DATESYS := ADD_MONTHS(SYSDATE, -4); SELECT DATE_CREATED INTO DATEJOB FROM PROD.JOB_HEADER PJH WHERE PJH.JOB_NAME = :NEW.JOB_NAME; IF ((DATEJOB > DATESYS) AND (DATEJOB IS NOT NULL )) THEN BEGIN UPDATE PROD.INT_SAMPLE SET ID_TEXT =:NEW.ID_TEXT, JOB_NAME =:NEW.JOB_NAME, STATUS =:NEW.STATUS, OLD_STATUS =:NEW.OLD_STATUS, COMPARED =:NEW.COMPARED, ON_SPEC =:NEW.ON_SPEC, RE_SAMPLED =:NEW.RE_SAMPLED, ORIGINAL_SAMPLE =:NEW.ORIGINAL_SAMPLE, LINK_NUMBER =:NEW.LINK_NUMBER, LOGIN_DATE =:NEW.LOGIN_DATE, LOGIN_BY =:NEW.LOGIN_BY, SAMPLED_DATE =:NEW.SAMPLED_DATE, RECD_DATE =:NEW.RECD_DATE, DATE_STARTED =:NEW.DATE_STARTED, STARTER =:NEW.STARTER, DATERESREQ =:NEW.DATERESREQ, DATE_COMPLETED =:NEW.DATE_COMPLETED, COMPLETER =:NEW.COMPLETER, DATERESAVAIL =:NEW.DATERESAVAIL, DATE_AUTHORISED =:NEW.DATE_AUTHORISED, AUTHORISER =:NEW.AUTHORISER, AUTHORISATION_NOTES =:NEW.AUTHORISATION_NOTES, PRODUCT =:NEW.PRODUCT, PRODUCT_VERSION =:NEW.PRODUCT_VERSION, GRADE_CODE =:NEW.GRADE_CODE, TESTS_TO_DO =:NEW.TESTS_TO_DO, ON_WKS =:NEW.ON_WKS, PROJECT_ID =:NEW.PROJECT_ID, BATCH_NAME =:NEW.BATCH_NAME, SAMPLING_POINT =:NEW.SAMPLING_POINT, SAMPLE_TYPE =:NEW.SAMPLE_TYPE, SAMPLE_NAME =:NEW.SAMPLE_NAME, DESCRIPTION =:NEW.DESCRIPTION, PREPARATION =:NEW.PREPARATION, HAZARD =:NEW.HAZARD, PRIORITY =:NEW.PRIORITY, LOCATION_ID =:NEW.LOCATION_ID, CUSTOMER_ID =:NEW.CUSTOMER_ID, INVOICE_NUMBER =:NEW.INVOICE_NUMBER, TEST_SCHEDULE =:NEW.TEST_SCHEDULE, TEMPLATE_ID =:NEW.TEMPLATE_ID, COMP_PROD_NAME =:NEW.COMP_PROD_NAME, COMP_PROD_VER =:NEW.COMP_PROD_VER, COMP_PROD_GRADE =:NEW.COMP_PROD_GRADE, STANDARD =:NEW.STANDARD, STANDARD_ID =:NEW.STANDARD_ID, STANDARD_VERSION =:NEW.STANDARD_VERSION, INSPECTION_HEADER =:NEW.INSPECTION_HEADER, STANDARD_TYPE =:NEW.STANDARD_TYPE, BATCH_ID =:NEW.BATCH_ID, DYNAMIC_PRODUCT =:NEW.DYNAMIC_PRODUCT, TOTAL_ELEMENTS =:NEW.TOTAL_ELEMENTS, SAMPLING_PROCEDURE =:NEW.SAMPLING_PROCEDURE, REPLICATE_LINK_NO =:NEW.REPLICATE_LINK_NO, AUTO_VALIDATE =:NEW.AUTO_VALIDATE, HAS_INCIDENTS =:NEW.HAS_INCIDENTS, M_DEMANDEUR =:NEW.M_DEMANDEUR, M_COMMENT_PRELEV =:NEW.M_COMMENT_PRELEV, M_COMMENTLABO =:NEW.M_COMMENTLABO, M_COMMENTCLIENT =:NEW.M_COMMENTCLIENT, M_DEGRE_URGENCE =:NEW.M_DEGRE_URGENCE, M_ECHPERE =:NEW.M_ECHPERE, M_CONFORMITE =:NEW.M_CONFORMITE, M_STATUS_ORIGINAL =:NEW.M_STATUS_ORIGINAL, GROUP_ID =:NEW.GROUP_ID, M_DATE_CONF =:NEW.M_DATE_CONF, M_FLAG_PI =:NEW.M_FLAG_PI, M_TYPE_PLAN =:NEW.M_TYPE_PLAN, M_REFCLIENT =:NEW.M_REFCLIENT, M_DEVALIDEUR =:NEW.M_DEVALIDEUR, M_COMMENT_DEVALIDATION =:NEW.M_COMMENT_DEVALIDATION, M_DATE_DEVALIDATION =:NEW.M_DATE_DEVALIDATION, M_DATE_BA =:NEW.M_DATE_BA, M_OP_BA =:NEW.M_OP_BA, M_COM_BA =:NEW.M_COM_BA, M_DATEMAJ = SYSDATE, M_LOCK = 'N', M_ACK = 'Q', M_A_LIRE = NEW_A_LIRE WHERE PROD.INT_SAMPLE.ID_NUMERIC = :NEW.ID_NUMERIC; EXCEPTION WHEN OTHERS THEN ERR_NUM := TO_CHAR( SQLCODE ); ERR_MSG := SQLERRM; INSERT INTO INT_TRIGGER_ERROR (ERROR_DATE, TABLE_NAME, TRIGGER_NAME, ERROR_MESSAGE) VALUES (SYSDATE, 'SAMPLE', 'TAU_SAMPLE', 'erreur '||ERR_NUM||' '||ERR_MSG||' Cle primaire : '||:NEW.ID_NUMERIC); END; END IF; END; END IF; END; END IF; END;
Merci JF
Bon j'ai trouvé d'où venait mes erreur,
une ligne de code faisant référence à une date système dans un trigger.
Merci à tous, JF
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager