Skip to Main Content

Search

Overview

TenantNameTitleCheck?Quick Fix?Tests?SeverityLevelQuality AreaFixing Time
CoreG-1010Try to label your sub blocks.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-1020Always have a matching loop or block label.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-1030Avoid defining variables that are not used.YesYesNoWarningMinorMaintainabilityLocal-medium
CoreG-1040Avoid dead code.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-1050Avoid using literals in your code.YesNoNoWarningMinorMaintainabilityLocal-medium
CoreG-1060Avoid storing ROWIDs or UROWIDs in database tables.YesNoNoErrorBlockerReliabilityOther
CoreG-1070Avoid nesting comment blocks.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-1080Avoid using the same expression on both sides of a relational comparison operator or a logical operator.YesYesNoErrorBlockerMaintainabilityLocal-medium
CoreG-1110Avoid connect users that own database objects.NoNoYesErrorBlockerSecurityOther
CoreG-1120Avoid granting system privileges to connect users.NoNoYesErrorBlockerSecurityOther
CoreG-1130Avoid granting table access to API roles.NoNoYesWarningCriticalMaintainabilityOther
CoreG-1140Avoid granting object privileges directly to connect users.NoNoYesWarningMinorMaintainabilityOther
CoreG-1150Always limit privileges of schema owners according to principle of least privileges.NoNoYesErrorBlockerSecurityOther
CoreG-1210Never create a table without a primary key.NoNoYesErrorBlockerReliabilityOther
CoreG-1220Avoid composite primary keys.NoNoYesWarningMajorMaintainabilityOther
CoreG-1230Avoid tables without relationships.NoNoYesWarningMajorMaintainabilityOther
CoreG-1240Try to index foreign key columns.NoNoYesWarningMajorReliabilityOther
CoreG-1250Try to define a business key for each table.NoNoYesWarningMajorReliabilityOther
CoreG-1260Try to define a comment for each table.NoNoYesInfoInfoMaintainabilityOther
CoreG-1270Try to define a comment for each column.NoNoYesInfoInfoMaintainabilityOther
CoreG-1280Try to use domains instead of raw datatypes for table columns.NoNoYesWarningMinorMaintainabilityOther
CoreG-1310Never keep database objects in an invalid state.NoNoYesErrorBlockerReliabilityOther
CoreG-1910Avoid using the NOSONAR marker.YesNoNoInfoInfoMaintainabilityOther
CoreG-1920Avoid syntax errors.YesNoNoErrorBlockerMaintainabilityLocal-high
CoreG-2110Try to use anchored declarations for variables, constants and types.NoNoNoWarningMajorReliabilityLocal-medium
CoreG-2120Try to have a single location to define your types.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-2130Try to use subtypes for constructs used often in your code. NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-2135Avoid assigning values to local variables that are not used by a subsequent statement.NoNoNoWarningMajorReliabilityLocal-medium
CoreG-2140Never initialize variables with NULL.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-2145Never self-assign a variable.YesNoNoErrorBlockerMaintainabilityLocal-medium
CoreG-2150Avoid comparisons with NULL value, consider using IS [NOT] NULL.YesYesNoErrorBlockerReliabilityLocal-easy
CoreG-2160Avoid initializing variables using functions in the declaration section.NoNoNoWarningCriticalReliabilityLocal-easy
CoreG-2170Never overload variables.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-2180Never use quoted identifiers.NoNoNoWarningMajorMaintainabilityLocal-easy
CoreG-2185Avoid using overly short names for explicitly or implicitly declared identifiers. NoNoNoWarningMajorMaintainabilityLocal-easy
CoreG-2190Avoid using ROWID or UROWID. YesNoNoErrorBlockerReliabilityLocal-medium
CoreG-2210Avoid declaring NUMBER variables, constants or subtypes with no precision.NoNoNoWarningCriticalReliabilityLocal-medium
CoreG-2220Try to use PLS_INTEGER instead of NUMBER for arithmetic operations with integer values. NoNoNoWarningCriticalReliabilityLocal-medium
CoreG-2230Try to use SIMPLE_INTEGER datatype when appropriate. NoNoNoWarningCriticalReliabilityLocal-medium
CoreG-2310Avoid using CHAR data type.YesYesNoErrorBlockerReliabilityLocal-medium
CoreG-2320Never use VARCHAR data type.YesYesNoErrorBlockerMaintainabilityLocal-easy
CoreG-2330Never use zero-length strings to substitute NULL.YesYesNoErrorBlockerMaintainabilityLocal-easy
CoreG-2340Always define your VARCHAR2 variables using CHAR SEMANTIC (if not defined anchored).YesYesNoErrorBlockerReliabilityLocal-easy
CoreG-2410Try to use boolean data type for values with dual meaning.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-2510Avoid using the LONG and LONG RAW data types.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-2610Never use self-defined weak ref cursor types.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-3110Always specify the target columns when coding an insert statement.YesNoNoErrorBlockerReliabilityLocal-medium
CoreG-3115Avoid self-assigning a column.YesNoNoErrorBlockerMaintainabilityLocal-medium
CoreG-3120Always use table aliases when your SQL statement involves more than one source.YesNoNoErrorBlockerMaintainabilityLocal-high
CoreG-3130Try to use ANSI SQL-92 join syntax.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-3140Try to use anchored records as targets for your cursors. NoNoNoWarningMajorReliabilityLocal-medium
CoreG-3145Avoid using SELECT * directly from a table or view.YesNoNoErrorBlockerReliabilityLocal-high
CoreG-3150Try to use identity columns for surrogate keys.NoNoNoWarningCriticalReliabilityOther
CoreG-3160Avoid visible virtual columns.NoNoYesErrorBlockerReliabilityOther
CoreG-3170Always use DEFAULT ON NULL declarations to assign default values to table columns if you refuse to store NULL values.YesYesYesErrorBlockerReliabilityOther
CoreG-3180Always specify column names instead of positional references in ORDER BY clauses.NoNoNoWarningMajorReliabilityLocal-easy
CoreG-3182Always specify column names/aliases instead of positional references in GROUP BY clauses.NoNoNoErrorBlockerReliabilityLocal-medium
CoreG-3183Always specify column aliases instead of expressions in GROUP BY clauses.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-3185Never use ROWNUM at the same query level as ORDER BY.YesNoNoErrorBlockerReliabilityLocal-high
CoreG-3190Avoid using NATURAL JOIN.NoNoNoErrorBlockerReliabilityLocal-high
CoreG-3195Always use wildcards in a LIKE clause.NoNoNoErrorBlockerMaintainabilityLocal-medium
CoreG-3210Always use BULK OPERATIONS (BULK COLLECT, FORALL) whenever you have to execute a DML statement for more than 4 times.NoNoNoWarningCriticalReliabilityLocal-high
CoreG-3220Always process saved exceptions from a FORALL statement.NoNoNoWarningCriticalReliabilityLocal-high
CoreG-3310Never commit within a cursor loop.NoNoNoErrorBlockerReliabilityLocal-medium
CoreG-3320Try to move transactions within a non-cursor loop into procedures.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-3330Avoid autonomous transactions.NoNoNoErrorBlockerReliabilityOther
CoreG-4110Always use %NOTFOUND instead of NOT %FOUND to check whether a cursor returned data.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-4120Avoid using %NOTFOUND directly after the FETCH when working with BULK OPERATIONS and LIMIT clause. YesYesNoErrorBlockerReliabilityLocal-medium
CoreG-4130Always close locally opened cursors.NoNoNoErrorBlockerReliabilityLocal-medium
CoreG-4140Avoid executing any statements between a SQL operation and the usage of an implicit cursor attribute.NoNoNoErrorBlockerReliabilityLocal-medium
CoreG-4210Try to use CASE rather than an IF statement with multiple ELSIF paths.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-4220Try to use CASE rather than DECODE.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-4230Always use a COALESCE instead of a NVL command, if parameter 2 of the NVL function is a function call or a SELECT statement.YesYesNoWarningCriticalReliabilityLocal-easy
CoreG-4240Always use a CASE instead of a NVL2 command if parameter 2 or 3 of NVL2 is either a function call or a SELECT statement.YesYesNoWarningCriticalReliabilityLocal-medium
CoreG-4250Avoid using identical conditions in different branches of the same IF or CASE statement.YesNoNoErrorBlockerMaintainabilityLocal-medium
CoreG-4260Avoid inverting boolean conditions with NOT.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-4270Avoid comparing boolean values to boolean literals.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-4310Never use GOTO statements in your code.YesNoNoWarningMajorMaintainabilityLocal-high
CoreG-4320Always label your loops.YesYesNoWarningMinorMaintainabilityLocal-medium
CoreG-4325Never reuse labels in inner scope.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-4330Always use a CURSOR FOR loop to process the complete cursor results unless you are using bulk operations.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-4340Always use a NUMERIC FOR loop to process a dense array.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-4350Always use 1 as lower and COUNT() as upper bound when looping through a dense array. NoNoNoErrorBlockerReliabilityLocal-high
CoreG-4360Always use a WHILE loop to process a loose array.NoNoNoWarningCriticalReliabilityLocal-high
CoreG-4365Never use unconditional CONTINUE or EXIT in a loop.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-4370Avoid using EXIT to stop loop processing unless you are in a basic loop.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-4375Always use EXIT WHEN instead of an IF statement to exit from a loop. NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-4380Try to label your EXIT WHEN statements.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-4385Never use a cursor for loop to check whether a cursor returns data.NoNoNoWarningCriticalMaintainabilityLocal-medium
CoreG-4387Never use a FOR LOOP for a query that should return not more than one row.NoNoNoErrorBlockerReliabilityLocal-medium
CoreG-4390Avoid use of unreferenced FOR loop indexes.NoNoNoWarningMajorReliabilityLocal-medium
CoreG-4395Avoid hard-coded upper or lower bound values with FOR loops.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-5010Try to use a error/logging framework for your application.NoNoNoWarningCriticalReliabilityLocal-medium
CoreG-5020Never handle unnamed exceptions using the error number.YesNoNoWarningCriticalMaintainabilityLocal-medium
CoreG-5030Never assign predefined exception names to user defined exceptions.YesNoNoErrorBlockerReliabilityLocal-high
CoreG-5040Avoid use of WHEN OTHERS clause in an exception section without any other specific handlers.NoNoNoWarningCriticalReliabilityLocal-medium
CoreG-5050Avoid use of the RAISE_APPLICATION_ERROR built-in procedure with a hard-coded 20nnn error number or hard-coded message. NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-5060Avoid unhandled exceptions.NoNoNoWarningMajorReliabilityLocal-medium
CoreG-5070Avoid using Oracle predefined exceptions.YesNoNoErrorBlockerReliabilityLocal-medium
CoreG-5080Always use FORMAT_ERROR_BACKTRACE when using FORMAT_ERROR_STACK or SQLERRM.YesYesNoWarningCriticalMaintainabilityLocal-medium
CoreG-6010Always use a character variable to execute dynamic SQL.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-6020Try to use output bind arguments in the RETURNING INTO clause of dynamic DML statements rather than the USING clause. NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-7110Try to use named notation when calling program units.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-7120Always add the name of the program unit to its end keyword.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-7125Always use CREATE OR REPLACE instead of CREATE alone.NoNoNoWarningMajorMaintainabilityLocal-easy
CoreG-7130Always use parameters or pull in definitions rather than referencing external variables in a local program unit.NoNoNoWarningMajorReliabilityLocal-high
CoreG-7140Always ensure that locally defined procedures or functions are referenced.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-7150Try to remove unused parameters.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-7160Always explicitly state parameter mode.NoNoNoWarningMajorReliabilityLocal-medium
CoreG-7170Avoid using an IN OUT parameter as IN or OUT only.NoNoNoWarningMajorReliabilityLocal-medium
CoreG-7210Try to keep your packages small. Include only few procedures and functions that are used in the same context.NoNoNoWarningMinorReliabilityOther
CoreG-7220Always use forward declaration for private functions and procedures.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-7230Avoid declaring global variables public.YesYesNoWarningMajorReliabilityLocal-high
CoreG-7250Never use RETURN in package initialization block.NoNoNoWarningMajorReliabilityLocal-medium
CoreG-7310Avoid standalone procedures – put your procedures in packages.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-7320Avoid using RETURN statements in a PROCEDURE.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-7330Always assign values to OUT parameters.NoNoNoErrorBlockerMaintainabilityLocal-medium
CoreG-7410Avoid standalone functions – put your functions in packages.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-7420Always make the RETURN statement the last statement of your function.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-7430Try to use no more than one RETURN statement within a function.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-7440Never use OUT parameters to return values from a function.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-7450Never return a NULL value from a BOOLEAN function.NoNoNoErrorBlockerMaintainabilityLocal-medium
CoreG-7460Try to define your packaged/standalone function deterministic if appropriate.YesYesNoWarningMajorReliabilityLocal-medium
CoreG-7510Always prefix Oracle supplied packages with owner schema name.NoNoNoErrorBlockerSecurityLocal-easy
CoreG-7520Avoid using deprecated units in your own code.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-7710Avoid cascading triggers.NoNoNoWarningMajorMaintainabilityLocal-high
CoreG-7720Never use multiple UPDATE OF in trigger event clause.NoNoNoErrorBlockerMaintainabilityLocal-medium
CoreG-7730Avoid multiple DML events per trigger.NoNoNoWarningMinorReliabilityLocal-high
CoreG-7740Never handle multiple DML events per trigger if primary key is assigned in trigger.NoNoNoWarningCriticalReliabilityLocal-high
CoreG-7810Never use SQL inside PL/SQL to read sequence numbers (or SYSDATE).YesYesNoWarningCriticalReliabilityLocal-easy
CoreG-7910Never use DML within a SQL macro.NoNoNoErrorBlockerReliabilityLocal-medium
CoreG-8110Never use SELECT COUNT(*) if you are only interested in the existence of a row.YesNoNoWarningCriticalReliabilityLocal-high
CoreG-8120Never check existence of a row to decide whether to create it or not.NoNoNoWarningCriticalReliabilityLocal-high
CoreG-8210Always use synonyms when accessing objects of another application schema.YesYesNoWarningMinorMaintainabilityLocal-high
CoreG-8310Always validate input parameter size by assigning the parameter to a size limited variable in the declaration section of program unit.NoNoNoWarningMinorMaintainabilityLocal-medium
CoreG-8410Always use application locks to ensure a program unit is only running once at a given time.NoNoNoErrorBlockerReliabilityLocal-high
CoreG-8510Always use dbms_application_info to track program process transiently.NoNoNoWarningCriticalReliabilityLocal-medium
CoreG-9010Always use a format model in string to date/time conversion functions.YesYesNoErrorBlockerSecurityLocal-medium
CoreG-9020Try to use a format model and NLS_NUMERIC_CHARACTERS in string to number conversion functions.NoNoNoWarningCriticalReliabilityLocal-medium
CoreG-9030Try to define a default value on conversion errors.NoNoNoWarningMajorMaintainabilityLocal-medium
CoreG-9040Try using FX in string to date/time conversion format model to avoid fuzzy conversion.NoNoNoErrorBlockerReliabilityLocal-medium
CoreG-9101Always follow naming conventions for global variables.YesNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9102Always follow naming conventions for local variables.YesNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9103Always follow naming conventions for cursor variables.YesNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9104Always follow naming conventions for record variables.YesNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9105Always follow naming conventions for collection variables (arrays/tables).YesNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9106Always follow naming conventions for object variables.YesNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9107Always follow naming conventions for cursor parameters.YesNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9108Always follow naming conventions for IN parameters of functions and procedures.YesNoNoWarningMinorMaintainabilityOther
CoreG-9109Always follow naming conventions for OUT parameters of functions and procedures.YesNoNoWarningMinorMaintainabilityOther
CoreG-9110Always follow naming conventions for IN/OUT parameters of functions and procedures.YesNoNoWarningMinorMaintainabilityOther
CoreG-9111Always follow naming conventions for record type definitions.YesNoNoWarningMinorMaintainabilityOther
CoreG-9112Always follow naming conventions for collection type definitions (arrays/tables).YesNoNoWarningMinorMaintainabilityOther
CoreG-9113Always follow naming conventions for exceptions.YesNoNoWarningMinorMaintainabilityOther
CoreG-9114Always follow naming conventions for constants.YesNoNoWarningMinorMaintainabilityOther
CoreG-9115Always follow naming conventions for subtypes.YesNoNoWarningMinorMaintainabilityOther
CoreG-9116Always follow naming conventions for record fields.YesNoNoWarningMinorMaintainabilityOther
CoreG-9201Always follow naming conventions for tables.NoNoNoWarningMinorMaintainabilityOther
CoreG-9202Always follow naming conventions for table/view columns.NoNoNoWarningMinorMaintainabilityOther
CoreG-9203Always follow naming conventions for indexes.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-9204Always follow naming conventions for primary key constraints.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-9205Always follow naming conventions for unique constraints.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-9206Always follow naming conventions for foreign key constraints.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-9207Always follow naming conventions for check constraints.NoNoNoWarningMinorMaintainabilityLocal-high
CoreG-9208Always follow naming conventions for assertions.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9209Always follow naming conventions for global temporary tables.NoNoNoWarningMinorMaintainabilityOther
CoreG-9210Always follow naming conventions for views.NoNoNoWarningMinorMaintainabilityOther
CoreG-9211Always follow naming conventions for sequences.NoNoNoWarningMinorMaintainabilityOther
CoreG-9212Always follow naming conventions for synonyms.NoNoNoWarningMinorMaintainabilityOther
CoreG-9213Always follow naming conventions for triggers.NoNoNoWarningMinorMaintainabilityLocal-easy
CoreG-9214Always follow naming conventions for PL/SQL packages.NoNoNoWarningMinorMaintainabilityOther
CoreG-9215Always follow naming conventions for functions.NoNoNoWarningMinorMaintainabilityOther
CoreG-9216Always follow naming conventions for procedures.NoNoNoWarningMinorMaintainabilityOther
CoreG-9217Always follow naming conventions for object types.NoNoNoWarningMinorMaintainabilityOther
CoreG-9218Always follow naming conventions for object type attributes.NoNoNoWarningMinorMaintainabilityOther
CoreG-9219Always follow naming conventions for collection type.NoNoNoWarningMinorMaintainabilityOther
CoreG-9501Never use parameter in string expression of dynamic SQL. Use asserted local variable instead.YesYesNoErrorBlockerSecurityLocal-medium
CoreG-9600Never define more than one comment with hints.YesYesNoWarningCriticalReliabilityLocal-medium
CoreG-9601Never use unknown hints.YesYesNoWarningCriticalReliabilityLocal-medium
CoreG-9602Always use the alias name instead of the table name.YesYesNoWarningCriticalReliabilityLocal-medium
CoreG-9603Never reference an unknown table/alias.YesYesNoWarningCriticalReliabilityLocal-medium
CoreG-9604Never use an invalid stats method.YesYesNoWarningCriticalReliabilityLocal-medium
CoreG-9605Never use an invalid stats keyword.YesYesNoWarningCriticalReliabilityLocal-medium

Rule View