Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Fehlermeldung und Behebung (ORACLE)

Empfohlene Antworten

Veröffentlicht

Hallo

Folgende Meldung tritt auf wenn ich einen Index anlegen will:

ORA-00604: Fehler auf rekursiver SQL-Ebene 1

ORA-06502: PL/SQL: numerischer oder Wertefehler: Zeichenfolgenpuffer zu klein

ORA-06512: in Zeile 15

ORA-00911: Ungültiges Zeichen

Der Befehl ist folgender:

CREATE INDEX IDX_NLEISTUNG_1 ON NLEISTUNG

(ARZTNR)

LOGGING

NOPARALLEL;

Ich versteh es einfach nicht.

Für Hilfe wäre ich sehr dankbar

welchen datentyp hat denn NLEISTUNG.ARZTNR bzw. kannst du mal ein DESC der tabelle hier reinposten?

s'Amstel

Der Datentyp ist NUMBER(5)

Der Fehler tritt aber auch bei manchen Selects auf...

Ich bin echt ratlos

"kannst du mal ein DESC der tabelle "

Wenn du mir sagst was du damit meinst...

Der Datentyp ist NUMBER(5)

Der Fehler tritt aber auch bei manchen Selects auf...

das sieht nach datenkorruption aus. setz doch mal

analyze table leistung validate structure cascade;

ab. kann aber gut sein, dass analyze nichts findet.

-j

Ob er was findet kann ich so nicht beantworten. Hab nach 35min abgebrochen. Oder ist das normal das der so lange braucht?

Je nachdem wie groß die Tabelle ist kann das analyze dauern:

Wieviele Zeilen hast du denn?

(select count(*) from table)

Und mit DESC meint amstelchen das du in sqlplus gehen sollst und "desc NLEISTUNG" absetzen sollst und das ergebnis posten sollst. Rauskommen tut da die Strucktur deiner Tabelle (welche spalten gibt es noch...).

 Name                                      Null?    Typ

 ----------------------------------------- -------- ---------------


 ARZTNR                                    NOT NULL NUMBER(5)

 ABRECHNR                                  NOT NULL NUMBER(4)

 RECHNR                                    NOT NULL NUMBER(4)

 LEISTNR                                   NOT NULL NUMBER(8)

 DATUM                                              DATE

 LEISTUNGSZIFFER                                    VARCHAR2(10)

 LEISTUNGSBEZEICH                          NOT NULL VARCHAR2(800)

 ANZAHL                                    NOT NULL NUMBER(2)

 GRUNDBETRAG                               NOT NULL NUMBER(8,2)

 STEIGERUNGSSATZ                                    NUMBER(4,2)

 GESAMTBETRAG                              NOT NULL NUMBER(10,2)

 ALLGKOSTEN                                         NUMBER(8,2)

 BESKOSTEN                                          NUMBER(8,2)

 ZAHN                                               VARCHAR2(5)

 PATIENTENNR                               NOT NULL NUMBER(9)

 ANGELEGT_AM                               NOT NULL DATE

 ANGELEGT_VON                              NOT NULL VARCHAR2(20)

 GEAENDERT_AM                                       DATE

 GEAENDERT_VON                                      VARCHAR2(20)

Ok.. soviel mal dazu

Elemente sind es gut 15 Millionen ;)

Dachte mir schon auch, dass das dauern könnte. Hab es deswegen nochmal gestartet. Wurde mir aber nach 2,5h wiederrum zuu doof ;)

Evtl. lass ich das heute mal über nacht rennen

Was mich irritiert ist die Meldung 06502.

Eigentlich dürfte da nicht viel pl/sql ausgeführt werden...

Oracel Version hast du? 10G? Vielleicht versucht er dann automatisch beim erstellen des index die statistiken dazu zu erstellen... Vielleicht kann man die Tabelle und alle abhängigen objecte vom erstellen der statistiken ausnehmen...

Elemente sind es gut 15 Millionen ;)

ist die tabelle partitioniert?

sind darauf irgendwelche constraints, andere indizes, trigger oder policies eingerichtet?

s'Amstel

Oracle 10G

Trigger: nein

Indizes: ( noch ) nicht ( wie auch )

Constraint: einer ja

Partitioniert: nein

Die andere Sache ist die, wenn ich den Index per Datenbanktool ( z.b. Toad ) erzeugen lasse funktioniert es!? Wenn ich dann den Code ( welchen besagtes Programm erstellt ) laufen lass geht es weder in besagtem Programm noch in sqlplus.

Also ich bin echt ratlos...

Und ich hab keine Lust die ganzen indizes manuell einzufügen, was glaub ich verständlich ist

Die andere Sache ist die, wenn ich den Index per Datenbanktool ( z.b. Toad ) erzeugen lasse funktioniert es!? Wenn ich dann den Code ( welchen besagtes Programm erstellt ) laufen lass geht es weder in besagtem Programm noch in sqlplus.

verwenden beide tools, sowohl TOAD als auch dein "eigenes" tool, denselben oracle client? poste allenfalls mal die genauen versionen von DB und client(s). z.b. select'e mal auf v$version.

s'Amstel

Verwenden beide die gleiche Version

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod

PL/SQL Release 10.1.0.2.0 - Production

CORE 10.1.0.2.0 Production

TNS for 32-bit Windows: Version 10.1.0.2.0 - Production

NLSRTL Version 10.1.0.2.0 - Production

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.