Explanation of Oracle Connector Log Errors
Problem
We have found some errors in log files when analyzing Oracle scripts with Manta. Could you provide detailed information as to what these errors mean?
Solution
The table below describes the error messages you can find in Automatic Data Lineage connector log files (e.g., oracleDdlDataflowMasterScenario_Oracle.properties.log
and oraclePlsqlDataflowMasterScenario_Oracle.properties.log
).
First, some common terms need to be explained.
- Parsing
- Processing the input SQL into machine-readable format, understanding the meaning of statements and their parts
- Resolving
- Assigning meaning to identifiers used in the statements, determining what objects they refer to (e.g., that in
SELECT * from table1
,table1
means a table called "table1" in database "myDB," and*
means columns "column1" and "column2")
- Assigning meaning to identifiers used in the statements, determining what objects they refer to (e.g., that in
- Guess/guessing
- Estimating the meaning of an identifier based on its use and surrounding context when it cannot be resolved to any known database object
Log message | Probable cause | Consequences |
---|---|---|
Encountered object marked as invalid... |
The given object is marked as invalid in Oracle DB's metadata. this is usually due to either an invalid PL/SQL code or an object on which the given object depends being deleted. This also happens if such an object is modified before the dependent object is recompiled. | The object will not be processed by Automatic Data Lineage . |
Error occurred while retrieving DDL... |
Automatic Data Lineage couldn't get the object's DDL from the database. This happens for some built-in system objects or when the user object is made inaccessible to the database user to prevent DDL retrieval. | The object will not be processed by Automatic Data Lineage. |
Line ... no viable alternative... |
Automatic Data Lineage wasn't able to process the statement—either due to an error in the statement or due to the statement or its particular syntax not being supported by Automatic Data Lineage . | The statement will be ignored. |
Error resolving node... |
Automatic Data Lineage wasn't able to understand the meaning of one or more identifiers in the statement or clause. This is often a consequence of a previous processing error. | Further processing and analyses may be inaccurate. |
The data type ... of the entity ... is not persistent | When extracting database metadata, the meaning of an identifier in the DDL could not be established and had to be guessed from the surrounding context. | Further processing and analyses may be inaccurate. |
Attribute "returnType" of entity ... is a non-persistent entity... | When extracting database metadata, the meaning of an identifier in the DDL could not be established and had to be guessed from the surrounding context. | Further processing and analyses may be inaccurate. |
Ambiguous type name:... | There are multiple data types with the given name in metadata extracted from the database by Automatic Data Lineage. This is most probably a bug in Automatic Data Lineage. | The object's data type will not be resolved. Further processing and analyses may be inaccurate. |
Task "OracleTask" failed while processing ... Expected IResCursor but got... | The identifier in the
OPEN <identifier> statement was expected to mean a cursor or cursor variable but was resolved or guessed as another type of object due to inaccurate resolution. |
The whole script will remain unprocessed. The pending bugfix will only reduce the impact to the
|
Unexpected routine parent type:... | Calling of array methods (e.g., FIRST or EXTEND()) on an identifier that was inaccurately resolved or guessed to be something other than an array. |
The called method will be treated as an unknown user-defined method instead of a built-in method of array. The data lineage may be inaccurate. |
Unsupported call result entity type:... | Procedure / function call, array item access, or constructor call on an identifier that was inaccurately resolved or guessed to be a type of object on which those actions are impossible. | An inaccurate name is possibly given to the representation of the call in the data lineage. |
Unexpected call segment result for AST node... | Consequence of a previous inaccurate resolution or guess. |
No data lineage will be created from the call to the call result. A pending bugfix will connect the call and the call result on a best-effort basis. |
Unexpected entity type:... | Consequence of a previous inaccurate resolution or guess. | Inaccurate lineage—the affected object will be added to the repository as an "unknown" type of object. |
Task "OracleTask" failed while processing ... null | Unknown error occurred while analyzing data lineage: not enough information provided to determine the exact nature of the error. | The whole script will remain unprocessed. |
Task "OracleTask" failed while processing ... ResUnknownDataType cannot be cast to ... IResObject | Consequence of a previous inaccurate guess. | The whole script will remain unprocessed. |
Referenced object not resolved for... | The identifier in the script was neither resolved nor guessed while processing the SQL script. This is usually a consequence of previous errors in script processing. | The whole script will remain unprocessed. |
Script node has no defining AST node:... | Consequence of a previous inaccurate resolution or guess. | The object's representation in the data lineage will be inaccurate. |