OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Cloud Platform

V4.3.6

  • What's New
    • Product Updates
  • Product Introduction
    • What is OceanBase Cloud Platform
    • Differences between Enterprise Edition and Community Edition
    • System architecture
    • Features
    • Limits
      • System requirements
      • Dependencies
  • Deploy OceanBase Cloud Platform (OCP)
    • Deploy OceanBase Cloud Platform (OCP) Enterprise Edition
      • Deployment overview
        • Deploy OCP cluster in the Single-node
        • Deploy OCP cluster in the High-availability
      • Prepare the deployment environment
        • Install OAT
        • Add a server
        • Check the environment
      • Deploy OCP
        • Plan resources
          • Planning resources of a single node OCP
            • OCP-Server specifications
            • MetaDB resources
            • MonitorDB resources
            • Host resources
          • Planning resources of a high availability OCP
            • OCP-Server specifications
            • MetaDB resources
            • MonitorDB resources
            • Host resources
        • Deploy OCP
          • Deploying a single point of OCP
            • Prepare installation media
            • Create MetaDB
            • Install OCP
            • Initialize system parameters
          • Deploying a high availability of OCP
            • Prepare installation media
            • Create MetaDB
            • Install OCP
            • Register an OCP cluster
            • Initialize system parameters
        • Check after deployment
      • Deployment FAQ
        • Optimize MonitorDB parameters
        • F5 Big-IP LTM and alert configuration
          • Connect OBProxy to F5 Big-IP LTM
          • Connect OCP-Console to F5 Big-IP LTM
          • Monitor the OCP service health
        • Ubuntu deployment FAQ
        • EulerOS deployment FAQ
        • Client requirements
        • Start and stop OCP
      • Appendix
        • Uninstall OCP
        • Check the NTP offset
    • Deploy OceanBase Cloud Platform (OCP) Community Edition
      • Overview
      • Installation process
      • Installation planning
        • User planning
        • Host planning
        • Disk and directory planning
        • Port planning
      • Prepare for the installation
      • Deploy OCP on the GUI
      • Use Docker to deploy OCP
      • Post-deployment check
      • Appendix
        • Install Docker
        • Uninstall OCP
        • Restart OCP
        • FAQ about deployment
  • Upgrade OceanBase Cloud Platform (OCP)
    • Upgrade OceanBase Cloud Platform (OCP) Enterprise Edition
      • Overview
      • Considerations
      • Preparations
      • Upgrade OCP
        • Take over OCP
        • Upgrade OCP
      • Verify after upgrade
        • Verify the cluster feature
        • Verify the tenant feature
        • Verify the host feature
        • Verify the software package feature
        • Verify the OBProxy feature
        • Verify the backup and restore feature
        • Verify alerts
        • Verify the task feature
        • Verify the password box feature
      • Appendix
        • Change a user's password
        • Version mapping
    • Upgrade OceanBase Cloud Platform (OCP) Community Edition
      • Upgrade OCP on the GUI
      • Upgrade OCP using Docker containers
      • Post-upgrade check
  • Quick Start
    • OCP operations
    • Log on to the OCP console
    • Upload a software package
    • Add hosts
    • Create a cluster
    • Create a primary tenant
    • Create a user
    • Create an OBProxy cluster
  • Cluster Management
    • Overview
    • Create a cluster
      • Create a distributed cluster
      • Create a standalone deployment
    • Manage clusters
      • Create a standby cluster
      • View details of a cluster
      • Scale a standalone system to a distributed cluster
      • Take over a cluster
      • Restart a cluster
      • Stop a cluster
      • Move out a cluster
      • Delete a cluster
      • Change the password
      • Manage Arbitration Service of a cluster
        • Add an arbitration service
        • Add an arbitration service group
        • Replace the arbitration service for a cluster
        • Remove an arbitration service
      • Enable automatic detection of deadlocks
      • Disable automatic detection of deadlocks
      • Manage O&M configuration
        • Overview
        • Manage parameters
        • View the parameter modification history
        • Configure resources for OCP Agent
      • Manage CPU binding configurations
      • Import a license
      • View the license
    • Manage zones of a cluster
      • Add a zone
      • Edit a zone
      • Restart a zone
      • Stop a zone
      • Delete a zone
    • Manage OBServers of a cluster
      • Add an OBServer node
      • Restart a faulty OBServer node
      • Stop an OBServer service
      • Stop an observer process
      • Replace an OBServer node
      • Reinstall an OBServer
      • Delete an OBServer
    • Upgrade version
    • View the topology of a cluster
    • Overview of cluster tenant management
    • Manage cluster resource
      • View the unit distribution
      • View resource usage
    • Manage major compaction of a cluster
      • Modify the major compaction settings of a cluster
      • Perform a major compaction
      • View details of a major compaction
      • View statistics of a major compaction
      • View the major compaction records
    • Manage security configurations
      • Manage Transparent Data Encryption (TDE)
    • Manage cluster parameters
      • Parameter types
      • View parameters
      • Modify parameters
      • View the history of parameter changes
    • Manage Arbitration Services
      • Arbitration service Overview
      • Create an arbitration service
      • Take over an arbitration service
      • Stop an arbitration service
      • Start an arbitration service
      • Upgrade an arbitration service
      • Restart an arbitration service
      • Migrate an arbitration service
      • Replace an arbitration service
      • Associate a cluster
      • Dissociate an arbitration service
      • Delete an arbitration service
    • Manage Service Groups
      • Overview
      • Create an arbitration service group
      • Upgrade an arbitration service group
      • Edit an arbitration service group
      • Delete an arbitration service group
    • Manage cluster parameter templates
  • Tenant Management
    • Tenant and resource management
    • View tenant overview information
    • Create a primary tenant
    • Manage tenants
      • Overview
      • Create a standby tenant
      • Copy a tenant
      • Rename a tenant
      • Lock a tenant
      • Clone a tenant
      • Delete a tenant
      • Change the password of the sys tenant
      • Configure full link tracking for a tenant
      • Modify the allowlist of a tenant
      • Modify the zone priority
      • Manage the binlog service for a tenant
      • Manage service names
    • Manage topulogy of a tenant
      • View tenant topology
      • View the topology of the primary/standby relationships of a tenant
    • Manage replicas of a tenant
      • Add a replica
      • Edit tenant replicas in a zone
      • Delete a tenant replica from a zone
    • Manage databases
    • Manage users and permissions under a tenant
      • Manage users in a MySQL tenant
      • Manage user under an Oracle tenant
        • User overview under an Oracle tenant
        • Create a user under an Oracle tenant
        • Change the password of a user under an Oracle tenant
        • Delete a user under an Oracle tenant
        • Create a role under an Oracle tenant
        • Manage users
        • Manage roles
      • System permissions
    • Manage resource isolation
      • Overview
      • Create a resource group
      • Create a resource isolation plan
      • Enable or disable a resource isolation plan
      • Modify a resource isolation plan
      • Delete a resource isolation plan
      • Modify a resource group
      • Delete a resource group
    • Manage the resources of a tenant
    • Manage major compaction under a tenant
      • Modify major compaction settings of a tenant
      • View details of tenant major compaction
      • Perform a major compaction
      • View the major compaction records
    • Manage statistical information
      • Overview
      • Collect statistics
      • Manage statistics collection tasks
    • Manage tenant parameters
      • View the parameters
      • Modify a parameter
      • View the parameter modification history
    • Manage unit specifications
    • View OCP resource unit specifications
    • Manage tenant parameter templates
  • OBProxy Management
    • OBProxy management overview
    • View details on the OBProxy page
    • Create an OBProxy cluster
    • Manage OBProxy Clusters
      • View details on the Overview page of an OBProxy cluster
      • Add a connectable OceanBase cluster
      • Manage load balancing
      • Change the password of the proxysys user
      • Change the password of the proxyro user
      • Move out an OBProxy cluster
      • Delete an OBProxy cluster
      • Upgrade an OBProxy cluster
      • Manage CPU core binding configurations
      • Stop or start an ODP cluster
      • Restart an ODP cluster
      • Delete a connected OceanBase cluster
      • Manage the proxyro account
    • Manage OBProxy Servers
      • Add an OBProxy
      • Take over OBProxy
      • Delete an OBProxy
      • Restart an OBProxy
      • Stop or start an OBProxy
      • Remove an OBProxy
      • Launch an OBProxy
      • Upgrade an OBProxy
      • Refresh OBProxy configurations
    • Request analysis
    • Manage OBProxy cluster parameters
    • Client configuration
    • Manage OBProxy parameter templates
    • OBProxy parameters descpription
  • Binlog Service Management
    • Overview of Binlog service
    • Create a binlog cluster
    • Manage Binlog Clusters
      • View information about a binlog cluster
      • Upgrade a binlog cluster
      • Start and stop a binlog cluster
      • Restart a binlog cluster
      • Delete a binlog cluster
      • Manage binlog cluster parameters
    • Manage Binlog Instance
      • View a binlog instance
      • Configure throttling
      • Start and stop a binlog instance
      • Restart a binlog instance
      • Manage binlog instance parameters
    • Manage Binlog Server
      • Add a binlog node
      • Start and stop a binlog server
      • Delete a binlog server
      • Clear binlog instances on a host
    • Manage binlog parameter templates
  • Host Management
    • Host management operations
    • Manage hosts
      • View host details
      • Add a host
      • Check host standardization
    • View the details of tasks on a host
    • Modify a host
    • Restart OCP-Agent
    • Reinstall OCP Agent
    • Remove a host
    • Host standardization check items
    • OCP-Agent processes
    • OCP-Agent O&M Script Instructions
  • Alert Management
    • Overview
    • Alert-related concepts
    • Manage alert rules
      • Create an alert rule
      • View an alert rule
      • Copy an alert rule
      • Edit an alert rule
      • Delete an alert rule
      • Alert rule groups
      • Export alert rule configurations
    • Manage alert templates
      • Create an alert template
      • Set alert objects
      • Export alert templates
      • View an alert template
      • Copy an alert template
      • Edit an alert template
      • Delete an alert template
    • Manage alert channels
      • Create an alert channel
      • View an alert channel
      • Edit an alert channel
      • Copy an alert channel
      • Delete an alert channel
      • Examples of alert channel configuration
      • Examples of alert channel configuration
    • Manage alert push
      • Create an alert push
      • View an alert push
      • Edit an alert push
      • Delete an alert push
    • View alert events
    • Manage blocking conditions
      • Create a blocking condition
      • Edit an alert blocking condition
      • Delete an alert blocking condition
    • OCP alert template tag
    • Optional monitoring metrics for custom alerts
  • Dashboard Management
    • Monitoring dashboard overview
    • Manage dashboards
    • Manage groups
    • Manage charts
  • Performance Monitoring
    • Manage monitoring
      • Overview
      • View database performance
      • View host performance monitoring data
      • View OBServer node performance monitoring data
      • View performance and SQL monitoring data
      • View transaction performance monitoring data
      • View storage and cache monitoring data
      • View database object monitoring data
      • View OBKV-Table monitoring data
      • View OBKV-HBase monitoring data
      • View OBKV-Redis monitoring data
      • View subscription connection monitoring charts
      • View performance monitoring data of a binlog instance
      • View resource monitoring data of a binlog instance
      • View host resource monitoring data
      • View host process monitoring data
      • View service monitoring data
      • View system monitoring data
      • View performance monitoring
      • Drill-down monitoring
      • Integrate monitoring data to an external time-series system
    • Use the custom monitoring feature
      • Overview
      • View collection items
      • Manage indicator items
        • Create a metric
        • Manage metrics
      • Manage charts
        • Create a chart
        • Manage charts
      • OCP metrics
  • Diagnostics and Tuning
    • SQL Diagnostics
      • SQL Diagnostics Introduction
        • SQL diagnostics overview
        • SQL statement execution statistics
        • SQL execution plans
      • View the OceanBase Autonomy Service page
      • Diagnose suspicious SQL statements
      • Diagnose top SQL statements
      • View Comparison of Top SQL Statements
      • Diagnose slow SQL statements
      • Diagnose parallel SQL statements
      • Diagnose high-risk SQL statements
      • Diagnose new SQL statements
      • View the details of an SQL statement
      • View outlines
      • View the SQL collection enabling/disabling history
      • View SQL request analysis data
      • Parameters related to SQL performance diagnostics
    • Transaction Diagnostics
      • Transaction overview
      • Diagnose transactions
      • Diagnose XA transactions and suspended transactions
    • Manage sessions
      • Manage the sessions of a tenant
      • View session statistics
      • View the deadlock history
      • View row lock analytics
    • View the Optimization Center page
    • View the capacity center
    • View diagnostics reports
      • Manage ASH reports
      • Manage performance reports
  • O&M Management
    • Manage Information Collection
      • Overview
      • Configure information collection items
      • Create an information collection task
      • View information collection details
      • Download an information collection report
    • Manage Plans
      • Overview
      • Manage plans
      • View plan execution details
    • Manage Inspection
      • Overview
      • Configure inspection items
      • Configure Scheduling Rules
        • Configure a scheduling rule for a single inspection object
        • Configure global scheduling rules
      • Initiate Inspection
        • Initiate an inspection for a single object
        • Initiate a global inspection
      • View an inspection task
      • Manage Inspection reports
        • View an inspection report
        • Download an inspection report
    • Manage the report center
  • AI Assistant
    • Overview
    • Enable AI-powered intelligent conversation
    • Manage an AI intelligent conversation
  • Backup and Recovery
    • Overview
    • Backup and restore guide
    • Overview
    • Backup now
      • Back up a cluster now
      • Perform tenant backup immediately
    • Regular backup
      • Manage cluster-level backup strategy
        • Create a cluster-level backup strategy
        • Modify a cluster-level backup strategy
        • Delete a cluster-level backup strategy
        • Pause backup scheduling
        • View a cluster-level backup stategy
      • Manage tenant-level backup strategy
        • Create a tenant-level backup strategy
        • Modify a tenant-level backup strategy
        • Delete a tenant-level backup strategy
        • Pause backup scheduling
        • View a tenant-level backup stategy
    • Manage backup tasks
      • View backup tasks
      • View second backup tasks
    • Initiate a restore task
    • Regular recovery
      • Create a sampling strategy for recovery
      • View sampling strategies
      • View sampling tasks
    • View restore task information
    • Copy a restore task
    • Manage backup and recovery service
      • View services
      • Install a service
      • Add a node
      • Upgrade the version of a service
      • Update service configurations
      • Copy a service
      • Delete a service
      • Stop a service on a node
      • Restart a service on a node
      • View O\&M tasks
      • Uninstall a service on a node
  • Disaster Recovery
    • Switching primary and standby tenants
      • Switchover
      • Failover
      • Decouple a standby tenant from its primary tenant
      • Create primary and standby tenants across OCP clusters
    • Switching primary and standby databases
      • Routine primary/standby cluster switchover
      • Primary/Standby cluster switchover for disaster recovery
      • Decouple a standby cluster from the primary cluster
      • Start the original primary cluster in read-only mode after a failover
    • OCP Manage OCP clusters in the multi-cluster mode
      • OCP multi-cluster mode overview
      • Register an OCP cluster
      • View Leader \& Follower Details
      • Manage OCP cluster parameters
      • Switch an OCP cluster in daily maintenance
      • Switch an OCP cluster in a failover
      • Delete a faulty follower OCP cluster
      • Unbind a leader and a follower OCP cluster
      • Enable the OCP multi-cluster mode
  • Log Management
    • Query logs
    • Download logs
    • Configure trace query parameters
    • Trace query
    • About OpenSearch
    • Configure log retention strategies
  • Software Package Management
    • Upload a software package
    • Download a software package
    • Delete a software package
  • System Management
    • Manage password box
      • Create a credential
      • Export a credential
      • Import a credential
      • Verify a credential
      • Edit a credential
      • Delete a credential
      • Batch operations on credentials
    • Manage users and permissions
      • Overview
      • Manage a organization
        • Create an organization
        • View the resources of an organization
        • Rename an organization
        • Share resource configurations
        • Delete an organization
      • Manage a role
        • Create a role
        • View a role
        • Edit a role
        • Copy a role
        • Delete a role
        • Default OCP roles
      • Manage a user
        • Create a user
        • View a user
        • Edit a user
        • Copy a user
        • Change the password of a user
        • Delete a user
        • View the login history
    • Manage tags
      • Overview
      • Create a tag
      • Modify objects bound to a tag
      • Edit a tag
      • Delete a tag
    • View operation records
    • Manage external integration
      • Overview
      • 100.manage-ai-models
        • Connect to an AI model vendor
        • Add a model
        • Set a system model
        • Delete a model
      • Create an SSO integration task
      • Enable/Disable an SSO integration task
      • Edit an SSO integration task
      • Delete an SSO integration task
    • Manage system parameters
      • View system parameters
      • Modify system parameters
      • OCP configuration parameters
    • Manage tasks
    • User center management
      • Configure personal information
      • Change your logon password
      • Log off the OCP console
  • SQL Tuning Practices
    • Locate General Abnormal SQL Statements
      • How can I locate SQL statements with high CPU load in a tenant?
      • How can I locate slow SQL statements that take a long time in a tenant?
      • How can I locate SQL statements for full-table scans in a tenant?
      • How can I locate distributed SQL statements in a tenant?
      • How can I locate remote SQL statements in a tenant?
      • How can I locate slow hard-parsed SQL statements in a tenant?
      • How can I locate erroneous SQL statements in a tenant?
    • Customize Abnormal SQL Statement Determining Rules
      • Conditions
      • Custom column rules
    • General SQL Performance Tuning Scenarios
      • Execution Plan Optimization
        • SQL statement performance deterioration caused by plan changes
      • Index Optimization
        • No suitable indexes
        • Inappropriate index of an SQL statement
        • Invalid index of an SQL statement
  • O&M Best practices
    • Upgrade an OceanBase cluster
    • Migrate a resource unit from an OceanBase Database tenant
    • Expand the high availability of OceanBase clusters and tenants
    • Reduce the high availability of OceanBase clusters and tenants
    • Scale out an OceanBase cluster and scale up an OceanBase Database tenant
    • Scale in an OceanBase cluster and scale down an OceanBase Database tenant
    • Troubleshoot host issues in an OceanBase cluster
    • Migrate a cluster between IDCs in OCP
    • Migrate an OceanBase cluster to another IDC
    • Perform a failover between primary and standby OceanBase clusters for disaster recovery in a scenario with two IDCs
    • Perform a switchover between primary and standby OceanBase Database tenants in a scenario with two IDCs
    • Use the arbitration service of OceanBase Database to achieve HA in a scenario with two IDCs
    • Scale out an OBProxy cluster
    • Scale in an OBProxy cluster
    • Replace an OBProxy
    • Move out an OBProxy cluster
    • Take over OBProxies
    • Delete an OBProxy
    • Perform a failover
    • Decouple a standby tenant from the primary tenant
    • Automatic routing to the new primary tenant after a switchover
    • Back up an OceanBase cluster
    • Restore lost data by using backup and restore
    • Monitor the business load of OceanBase Database
    • Integrate OCP monitoring with Prometheus
    • Import a monitoring dashboard to Grafana
    • Configure custom monitoring
    • Perform an inspection in OCP to detect potential risks in an OceanBase cluster
    • Check clog synchronization
    • Check the NIC rate
    • Check the availability of an auto-increment column
    • Send alert messages to a DingTalk group
    • Send alert messages to a Feishu group
    • Send alert messages to a WeChat Enterprise group
    • Send alert messages through email
    • Push alert messages through HTTP
    • Organization and permission management
  • Reference Guide
    • Alarm reference
      • Overview
      • OceanBase alerts
        • ob_cannot_connected OceanBase server cannot be connected
        • ob_cluster_rs_not_same
        • ob_cluster_status_check_failed
        • ob_cluster_exists_inactive_server OceanBase cluster has an inactive OBServer node
        • ob_cluster_exists_index_fail_table
        • ob_cluster_frozen_version_delta_over_threshold OceanBase cluster frozen version and baseline version delta exceeds threshold
        • ob_cluster_merge_error OceanBase cluster merge error
        • ob_cluster_merge_timeout OceanBase cluster merge timeout
        • ob_cluster_no_frozen OceanBase cluster not frozen for a long time
        • ob_cluster_no_merge OceanBase cluster with no major compactions for a long time
        • ob_cluster_operation_info
        • ob_cluster_sync_failed
        • ob_cpu_assigned_percent_over_threshold OceanBase has allocated more CPU resources to the tenant than allowed
        • ob_cpu_percent_over_threshold Average tenant thread usage rate exceeds the threshold on OceanBase server
        • ob_host_connection_percent_over_threshold OceanBase server connection percentage over threshold
        • ob_host_disk_readonly OceanBase server disk read-only
        • ob_host_load1_per_cpu_over_threshold OceanBase server CPU average load1 exceeds threshold
        • ob_host_partition_count_over_threshold OceanBase server partition count exceeds the threshold
        • OceanBase log alerts
        • ob_mem_assigned_percent_over_threshold OceanBase has exceeded the threshold for memory allocated to tenants.
        • ob_server_sstable_percent_over_threshold OceanBase server data disk usage over threshold
        • ob_tenant_operation_info
        • ob_tenant500_mem_hold_over_threshold OceanBase 500 tenant memory usage exceeds the threshold
        • ob_tenant500_mem_hold_percent_over_threshold OceanBase 500 tenant memory usage over threshold
        • tenant_active_memstore_percent_over_threshold OceanBase tenant active MemStore percentage over threshold
        • tenant_cpu_percent_over_threshold OceanBase tenant CPU usage exceeds threshold
        • tenant_memstore_percent_over_threshold OceanBase tenant MemStore usage percentage exceeding the threshold
        • obproxy_process_dead The OBProxy process does not exist.
        • obproxyd_process_dead
        • obproxy_cannot_connected
        • ob_cluster_sync_delay_time_too_long OceanBase cluster synchronization delay is too long
        • ob_host_data_disk_percent_over_threshold OceanBase host data disk usage over threshold
        • ob_host_log_disk_percent_over_threshold OceanBase server log directory disk usage exceeds the threshold
        • ob_host_install_disk_percent_over_threshold OceanBase server installation directory disk usage exceeds the threshold
        • ob_tenant_exists_expired_xa_trans OceanBase tenant has expired XA transactions
        • ob_cluster_active_session_count_over_threshold
        • ob_tenant_active_session_count_over_threshold
        • ob_host_active_session_count_over_threshold
        • ob_tenant_slow_sql_exists OceanBase tenant has slow SQL
        • ob_tenant_large_trans_exist OceanBase tenant has large transactions
        • same_alarm_rule_detect_too_many_targets
        • ob_tenant_expired_trans_exist OceanBase tenant has expired transactions
        • ob_tenant_long_trans_exist
        • ob_tenant_task_timeout OceanBase tenant task timeout
        • ob_host_task_timeout
        • ob_tenant_log_disk_usage_high OceanBase tenant log disk usage exceeded the limit
        • ob_tenant_no_compaction OceanBase tenant has not performed major compaction for a long time
        • ob_tenant_no_frozen OceanBase tenant has not been frozen for a long time
        • ob_tenant_compaction_error OceanBase tenant compaction error
        • host_operation
        • obproxy_host_operation
        • obproxy_cluster_operation
        • ob_host_operation
        • refresh_location_cache_failed
        • ob_tenant_log_stream_degraded OceanBase tenant has degraded log streams
        • arbitration_service_unavailable
        • observer_process_stop OBServer process stop
        • obproxyd_process_stop OBProxy daemon process stop
        • obproxy_process_stop Stop OBProxy Process
        • standby_tenant_sync_delay_too_long
        • standby_tenant_sync_status_error
        • obproxy_client_connections_usage_over_threshold OBProxy client connection usage exceeds threshold
        • ob_tenant_request_queue_over_threshold
        • oas_anomaly_sql_from_anomaly_event_analysis_cpu_percent_high
        • oas_anomaly_sql_from_anomaly_event_analysis_perf_degradation
        • oas_anomaly_sql_from_anomaly_event_analysis_plan_changed
        • oas_anomaly_sql_from_sql_inspection_perf_degradation
        • oas_anomaly_sql_from_sql_inspection_plan_changed
        • os_observer_not_exist OceanBase server process does not exist
        • refresh_location_cache_failed_by_metric
        • ob_tenant_cpu_usage_over_threshold
        • ob_tenant_partition_replica_absent OceanBase tenant partition replica absent
        • ob_tenant_partition_leader_absent
        • ob_tenant500_storage_short_meta_mem_hold_high OceanBase 500 tenant STORAGE_SHORT_TERM module memory usage exceeds the threshold
        • obproxy_core_dump OBProxy server Core Dump
        • ob_server_cannot_connect_arbitration OceanBase cluster has nodes that cannot communicate with the arbitration service
        • agent_process_count_abnormal
        • arbitration_auto_replace_operation_info
        • arbitration_group_auto_replace_failed
      • Application alerts
        • ob_cluster_inspection_not_passed
        • ob_host_ssd_wear_indicator_over_threshold
        • ob_host_mem_percent_over_threshold Host memory usage exceeds the threshold
        • ob_host_net_recv_percent_over_threshold Host network receive bandwidth usage exceeds threshold
        • ob_host_net_send_percent_over_threshold The server's network send bandwidth usage exceeds the threshold.
        • ob_host_tcp_retrans_percent_over_threshold The percentage of TCP retransmissions exceeding the threshold on the server
        • ob_host_cpu_percent_over_threshold CPU usage on the server exceeds the threshold
        • inc_backup_delay
        • base_backup_fail
        • base_backup_too_long_time_no_one_success_task
        • backup_process_dead
        • backup_storage_capacity_over_threshold
        • backup_storage_capacity_retry_times_exceeded The maximum number of retries to obtain backup storage capacity has been exceeded.
        • backup_storage_capacity_timeout_or_interrupted Backup restore directory capacity retrieval timeout or thread interrupted
        • ocp_remote_server_time_diff_too_large
        • monitor_exporter_unavaliable A monitoring exporter is unavailable on the server.
        • system_obproxy_unavailable
        • host_unavailable
        • host_ntp_offset_too_large The offset between the host and the NTP server is too large.
        • host_ntp_service_not_exist The NTP service does not exist on the server.
        • host_agent_res_memory_over_threshold Server Agent Memory Over Threshold
        • host_agent_open_fd_count_over_threshold The number of open file descriptors for the server agent exceeds the threshold.
        • host_agent_goroutine_count_over_threshold The number of goroutines for the server agent exceeds the threshold.
        • partition_create_failed
        • obagent_dead Agent service unavailable
        • host_disk_readonly
        • ic_server_connect_failed Inter-Connector server connection failed
        • vpc_connect_failed VPC connection failed
        • node_load1_peak
        • Host log alerts
        • base_backup_timeout
        • base_secondary_backup_fail
        • ocp_meta_db_disconnected OCP Meta Database Disconnected
        • ocp_http_request_timeout
        • ocp_http_request_too_many_errors_occur
        • ocp_alarm_detect_timeout
        • odp_instance_compress_failed
        • odp_instance_expanse_failed
        • odp_sql_execute_failed
        • odp_sql_query_slow
        • agentd_process_stop
        • mgragent_process_stop ocp_mgragent process stop
        • monagent_process_stop
        • ocp_contingency_failed
        • ob_host_invalid_disk_exists OBServer has a bad disk
        • ob_cluster_recyclebin_disk_used_over_threshold
        • ob_host_monitordb_disconnected OCP-Agent cannot connect to monitordb
        • upgrade_ocp_agent_failed
        • host_agent_version_not_same
        • ocp_collect_metric_failure_rate_high OCP-Server collects metrics with a high failure rate
        • ssl_certificate_is_expired SSL certificate expiration alert
        • ob_license_expired
      • OAS alerts
        • os_cpu_irq_error Server CPU soft interrupt not scattered
        • os_tsar_cpu_sys_abnormal
        • os_observer_fd_usage OceanBase server has too many open handles
        • os_tsar_cpu_util_full
        • os_tsar_cpu_util_hwm
        • os_kernel_io_hang OceanBase server I/O Hangs
        • os_tsar_sda_ioawait OceanBase server high I/Oawait on disk SDA
        • os_tsar_nvme_ioawait OceanBase server node NVMe disk ioawait high
        • os_tsar_traffic_drop
        • os_tsar_traffic_error
        • os_observer_core_dump OceanBase server Core Dump
        • os_nic_1000m_full
        • os_nic_1000m_hwm
        • os_tsar_traffic_overload
        • node_file_root_usage High root directory usage on the server
        • node_file_inode_usage High inode usage on the server
        • os_kernel_ntp_down
        • os_kernel_ntp_delay
        • node_memory_peak
        • os_home_file_usage
        • node_file_data1_usage
        • node_file_datalog1_usage
        • sql_audit_collect_lost_percent_over_threshold
      • Appendix
        • Exception handling for OceanBase cluster compaction
        • Apply throttling to an OceanBase cluster
        • Network troubleshooting
        • Handling alert responses
    • API Reference
      • Overview
      • API call description
      • Rules for generating AK/SK signatures
      • Task return structure
      • Cluster management
        • Query the list of OceanBase clusters
        • Create an OceanBase cluster
        • Delete an OceanBase cluster
        • Stop an OceanBase cluster
        • Start an OceanBase cluster
        • Restart an OceanBase cluster
        • Upgrade an OceanBase cluster
        • Move out an OceanBase cluster
        • Perform a takeover precheck on an OceanBase cluster
        • Take over an OceanBase cluster
        • Query zones of an OceanBase cluster
        • Create a zone for an OceanBase cluster
        • Delete a zone from an OceanBase cluster
        • Stop a zone in an OceanBase cluster
        • Start a zone in an OceanBase cluster
        • Restart a zone in an OceanBase cluster
        • Add an OBServer node
        • Delete multiple OBServers at a time
        • Stop an OBServer node
        • Start an OBServer node
        • Restart an OBServer node
        • Replace an OBServer node
        • Change the password of an OceanBase cluster
        • Query the parameter metadata of OceanBase clusters
        • Query parameters of an OceanBase cluster
        • Modify parameters of an OceanBase cluster
        • Query OBServer nodes of an OceanBase cluster
        • Query OBServer nodes in a zone
        • Perform a switchover pre-check
        • Perform a failover pre-check
        • Perform a switchover
        • Perform a failover
        • Query resource statistics of an OceanBase cluster
        • Query resource statistics of all OBServer nodes in an OceanBase cluster
        • Query units of an OceanBase cluster
        • Create an arbitration service
        • Query details of an arbitration service
        • Query the list of arbitration services
        • Stop an arbitration service
        • Start an arbitration service
        • Restart an arbitration service
        • Upgrade an arbitration service
        • Delete an arbitration service
        • Query arbitration service parameters
        • Bind/Unbind tags to/from an arbitration service
        • Perform an arbitration service takeover precheck
        • Take over an arbitration service
        • Migrate an arbitration service
        • Perform a precheck on batch arbitration service replacement
        • Replace the arbitration service for multiple clusters
        • Perform an association precheck on multiple OceanBase clusters
        • Associate an arbitration service with multiple OceanBase clusters
        • Dissociate an arbitration service from multiple clusters
        • Create an arbitration service group
        • Update an arbitration service group
        • Query information of an arbitration service group
        • Query the list of arbitration service groups
        • Delete an arbitration service group
        • Upgrade an arbitration service group
      • Tenant management
        • Query tenants of a cluster
        • Query all tenants
        • Query details about a tenant
        • Create a tenant
        • Create a standby tenant
        • Delete a tenant
        • Lock a tenant
        • Unlock a tenant
        • Query units of a tenant
        • Delete a unit from a tenant
        • Add a replica for a tenant
        • Delete a replica of a tenant
        • Modify a replica of a tenant
        • Modify zone priorities of a tenant
        • Change the administrator password of a tenant
        • Modify the allowlist of a tenant
        • Query parameters of a tenant
        • Modify parameters of a tenant
        • Obtain a list of unit specifications
        • Create a resource unit specification
        • Delete a resource unit specification
        • Perform a switchover precheck
        • Perform a switchover
        • Perform a batch switchover precheck
        • Perform a batch switchover
        • Perform a failover precheck
        • Perform a failover
        • Perform a batch failover precheck
        • Perform a batch failover
      • OBProxy management
        • Create an OBProxy cluster
        • Delete an OBProxy cluster
        • Query OBProxy clusters
        • Query details about an OBProxy cluster
        • Update configurations of an OBProxy cluster
        • Add an OBProxy
        • Take over an OBProxy
        • Delete an OBProxy
        • Delete an OBProxy (not recommended)
        • Restart an OBProxy
        • Restart an OBProxy
        • Upgrade an OBProxy
        • Upgrade an OBProxy
        • Add a connectable OceanBase cluster to an OBProxy cluster
        • Remove a connectable OceanBase cluster from an OBProxy cluster
        • Query the description information of the OBProxy parameters
        • Query parameters of an OBProxy cluster
        • Stop an OBProxy
        • Start an OBProxy
      • Database management
        • Query databases
        • Create a database
        • Modify a database
        • Delete a database
        • Query the list of database users
        • Query database user details
        • Create a database user
        • Delete a database user
        • Change the password of a database user
        • Lock a database user
        • Unlock a database user
        • Query the list of database roles
        • Query database role details
        • Create a database role
        • Delete a database role
        • Query database objects
        • Grant global privileges to a user
        • Revoke global privileges of a user
        • Change global privileges of a user
        • Grant global privileges to a role
        • Revoke global privileges of a role
        • Change global privileges of a role
        • Grant roles to a user
        • Revoke roles of a user
        • Change roles of a user
        • Grant roles to a role
        • Revoke roles of a role
        • Change roles of a role
        • Grant database privileges to a user
        • Revoke database privileges of a user
        • Change database privileges of a user
        • Grant object privileges to a user
        • Revoke object privileges of a user
        • Change object privileges of a user
        • Grant object privileges to a role
        • Revoke object privileges of a role
        • Change object privileges of a role
      • Monitoring
        • Query the description of a monitoring metric
        • Query monitoring data
        • Query monitoring data by tag
      • Alerts
        • Call an alert API
        • Alert events
          • Query the alert event list
          • Query alert events
        • Alert notifications
          • Query alert notifications
      • Inspection
        • Query all inspection tasks
        • Query inspection objects
        • View the details of an inspection report
        • Initiate an inspection
        • Query the last inspection result of an inspection item
        • Query the last inspection result of an inspection object
      • SQL performance
        • Query performance metrics of an SQL statement
        • Query the performance indicator trend of an SQL statement
        • Query SQL text
        • Query the performance indicator trend of an execution plan
        • Query the operator structure of an execution plan
        • Query the list of slow SQL statements
        • Query snapshots
        • Generate a performance report
        • Query a performance report
      • Backup and recovery
        • Query backup capabilities of a cluster
        • Create a backup strategy for a cluster
        • Modify the backup strategy of a cluster
        • Delete the backup strategy of a cluster
        • Query the backup strategy of a cluster
        • Query the backup overview of a cluster
        • Query data backup tasks of a cluster
        • Query log backup tasks of a cluster
        • Query recovery tasks of a cluster
        • Immediately back up a cluster
        • Parse cluster backup data
        • Start backup scheduling for a cluster
        • Stop backup scheduling for a cluster
        • Initiate tenant recovery
        • Preview a restore task
        • Add restore resources
        • Clear added restore resources
        • Initiate a data backup for a tenant
        • Create a backup strategy for a tenant
        • Delete the backup strategy of a tenant
        • View the data backup tasks of a tenant
        • View the log backup tasks of a tenant
        • View restore tasks
        • Parse the backup information of a tenant
        • Query the backup strategy of a tenant
        • Modify the backup strategy of a tenant
        • Start backup scheduling for a tenant
        • Stop backup scheduling for a tenant
      • Host management
        • Query regions
        • Query details about a region
        • Add region information
        • Delete a region
        • Query IDCs
        • Query details about an IDC
        • Add IDC information
        • Delete an IDC
        • Query host types
        • Query details about a host type
        • Add host type information
        • Delete a host type
        • Query hosts
        • Query details about a host
        • Add multiple hosts at a time
        • Delete a host
        • Delete multiple hosts at a time
      • Software packages
        • Query software packages
        • Upload a software package
        • Delete a software package
      • O&M tasks management
        • Query tasks
        • Query details about a task
        • Retry a task
        • Roll back a task
        • Query subtask logs
        • Retry a subtask
        • Skip a subtask
        • Cancel a subtask
      • System management
        • Health examination
          • Query the basic information of an OCP application
          • Query OCP server time
          • Query OCP application status
        • Operation Audit
          • Query historical events
        • Agent management
          • Query OCP Agent details on a host
          • Stop the OCP Agent process on a host
          • Batch stop the OCP Agent processes on hosts
          • Restart the OCP Agent process on a host
          • Batch restart the OCP Agent processes on hosts
          • Query OCP Agent processes on a host
          • Restart the OCP Agent process on a host
          • Stop the OCP Agent process on a host
    • Metric reference
      • Overview of metrics
      • Monitoring metrics list
      • OceanBase cluster
        • Database performance
          • QPS
          • Query response time
          • TPS
          • Transaction response time
          • Number of sessions
          • Request queue time
          • Number of transaction logs
          • Transaction log volume
          • Time consumed by transaction logs
          • IOPS
          • IO time-consuming
          • I/O Throughput
          • TPS
        • OBServer performance
          • Process memory
          • Process CPU utilization
          • Process file descriptors
          • Number of process threads
          • sys500 memory occupation
          • Error logs
      • OceanBase Database tenant
        • Performance and SQL
          • QPS
          • Response time (SQL mode)
          • SQL execution plan category
          • SQL execution plan time
          • Sessions
          • Wait events
          • Metrics related to time consumption of wait events
          • Request waiting queue
          • Request waiting queue time consuming
          • Request queue size
          • Tenant CPU cost
          • Tenant thread usage
          • memroy usage pecent
          • MemStore usage
          • Rpc package rt
          • RPC packet throughput
          • Cursors
          • Clog synchronization delay
          • DB time metrics
          • SQL execution phase
          • Frontend workload
          • Background workload metrics
          • PX worker thread usage
        • Transaction
          • TPS
          • Transaction response time
          • Transaction response time details
          • Number of transaction logs
          • Transaction log volume
          • Time consumed by transaction logs
          • Lock waits
          • Time consumed by lock waits
          • TPS
          • Transaction table read request hits
          • Partition
          • XA Transactions
          • XA Statement Count
          • Average execution duration of XA statements
        • Storage and Cache
          • MemStore
          • IOPS
          • IO time-consuming
          • I/O Throughput
          • Cache size
          • Cache hit rates
          • Number of cache requests
          • Frozen MEMStore
          • # Log disk
          • # Data disk
        • Database objects
          • Objects
        • OBKV_Table
          • QPS (OBKV-Table)
          • Response time (OBKV-Table)
          • Average number of statement lines processed (OBKV-Table)
        • OBKV_HBase
          • QPS (OBKV_Hbase)
          • Response time (OBKV-HBase)
          • Average number of statement lines processed (OBKV-HBase)
        • OBKV_Redis
          • QPS (OBKV-Redis)
          • Response time (OBKV-Redis)
      • Binlog Service
        • Subscription Connection Monitoring
          • Sending Delay
          • Associate RPS
          • Network Traffic
        • Binlog Performance Monitoring
          • Binlog Delay
          • Binlog RPS
        • Binlog Resource Monitoring
          • CPU
          • memory used
          • memory
          • disk used
          • Binlog Disk Write Rate
          • disk ratio
          • FD count
          • network bytes
      • OBProxy cluster
        • TPS
        • QPS
        • Client connections
        • Server connections
        • Average response time for each SQL statement
        • Memory for the obproxy process
        • OBProxy CPU usage
        • Number of file descriptors for the obproxy process
        • Number of threads in the obproxy process
        • Log error
        • Route table queries
        • Net bytes
        • RPC sessions
        • RPC requests
        • RPC request time consumption
      • Host
        • Host Performance
          • Linux system load
          • CPU Utilization
          • I/O usage
          • I/O queue length
          • IOPS
          • Time consumed by I/O operations
          • I/O throughput
          • Network throughput
          • TCP retransmission rate
          • Packet forwarding
          • NTP clock offset
          • Inode usage
        • Host Resources
          • Memory
          • Memory usage
          • Disk
        • Host Processes
          • Process resident memory
          • Process CPU utilization
          • Number of process file descriptors
          • Number of process threads
          • Number of OCP-Agent process goroutines
    • Information Collection Reference
      • Major Compaction Exceptions
        • Collect information about the major compaction status of zones of a cluster
        • Collect information about the ongoing major compaction in a cluster
        • Collect suggestions provided based on historical major compactions
        • Collect diagnostic information about major compactions
        • Collect information about DAG warnings in OceanBase Database
        • Collect RootService task records
        • Collect the last-one-day records of major compaction events scheduled by RootService
        • Collect the checksum information about tablets
        • Collect the checksum information about columns
        • Collect major compaction parameter settings
        • Collect the major compaction time
      • OCP Agent Exceptions
        • Collect panic logs of the mgragent process
        • Collect panic logs of the monagent process
        • Collect information about goroutines of the agent processes
      • Cluster Exceptions
        • Collect information about bad disks
        • Collect information about OBServer nodes in a cluster
        • Collect obstack information on a cluster node
        • Collect information about the core dump file of the observer process
        • Collect host logs containing the CRASH ERROR keyword
        • Collect connectivity information of the sys tenant
      • CPU Exceptions
        • Collect information about processes with high CPU utilization on a cluster node
        • Collect information about threads with high CPU utilization in an observer process
      • Data Disk Full
        • Collect the data disk usage information of nodes in a cluster
        • Collect incremental data generated during cluster compactions
        • Collect information about the disk space occupied by temporary files of a tenant
        • Collect information about sizes of data of different versions in major SSTables
        • Collect information about the macroblock utilization of nodes
      • Memory Exceptions
        • Collect information about modules with highest memory usage
        • Collect memory allocation sampling data of OBServer nodes
        • Collect KV cache information of a tenant
        • Collect memory leakage detection information
        • Collect MemStore information of a tenant
      • Host Exceptions
        • Collect logs from the /var/log/messages directory of a host
        • Collect host information by running the df -h command
      • Other Tenants Exceptions
        • Collect host logs containing the dump tenant info keyword
        • Collect host logs containing the dump tenant disk usage keyword
        • Collect host logs containing the dump tenant info keyword
    • Error codes reference
      • OCP error codes
      • OBServer error codes
        • MySQL mode
          • Overview
          • 0001 to 3999
          • 4000 to 4499
          • 4500 to 4999
          • 5000 to 5999
          • 6000 to 6999
          • 7000 to 7999
          • 8000 to 8999
          • 9000 to 9499
          • 9500 to 9999
          • 10000 to 12000
          • 22998, 30926, 38104, and 38105
        • Oracle mode
          • Overview
          • OBE-00000 to OBE-00999
          • OBE-01000 to OBE-01499
          • OBE-01500 to OBE-01999
          • OBE-02000 to OBE-04999
          • OBE-05000 to OBE-10000
          • OBE-10000 to OBE-19999
          • OBE-20000 to OBE-29999
          • OBE-30000 to OBE-49999
          • OBE-50000 to OBE-99999
          • PLS-00000 to PLS-00999
  • FAQ
    • FAQ about deployment
    • FAQ on upgrade
    • FAQ on O&M
      • FAQ on accounts and passwords
      • FAQ on host management
      • FAQ about OceanBase clusters
      • FAQ about OceanBase tenants
      • FAQ on OBProxy
      • FAQ on the OCP software package
      • FAQ on backup and recovery
    • FAQ on monitoring
      • FAQ on monitoring metrics
      • FAQ on SQL monitoring
      • FAQ about resource usage
      • Use OCP-Agent to pull time-series monitoring data
    • FAQ on alerts
    • FAQ on the OCP system
    • OCP multi-cluster FAQ
  • Appendix
    • OCP background tasks
    • Tables managed by the daemon
    • Component listening port list
    • Processes
    • Install and configure OCI
    • Modify the log stream downgrade control time
    • AWS S3 protocol
    • Grafana dashboard
  • Release Notes
    • V4.3
      • OCP V4.3.6
      • OCP V4.3.5
      • OCP V4.3.4
      • OCP V4.3.3
      • OCP V4.3.2
      • OCP V4.3.1
      • OCP V4.3.0
    • V4.0
      • OCP V4.0.3

Download PDF

Product Updates What is OceanBase Cloud Platform Differences between Enterprise Edition and Community Edition System architecture Features System requirements Dependencies Overview Installation process Prepare for the installation Deploy OCP on the GUI Use Docker to deploy OCP Post-deployment check Overview Considerations Preparations Upgrade OCP on the GUI Upgrade OCP using Docker containers Post-upgrade check OCP operations Log on to the OCP console Upload a software package Add hosts Create a cluster Create a primary tenant Create a user Create an OBProxy cluster Overview Create a distributed cluster Create a standalone deployment Create a standby cluster View details of a cluster Scale a standalone system to a distributed cluster Take over a cluster Restart a cluster Stop a cluster Move out a cluster Delete a cluster Change the password Enable automatic detection of deadlocks Disable automatic detection of deadlocks Manage CPU binding configurations Import a license View the license Add a zone Edit a zone Restart a zone Stop a zone Delete a zone Add an OBServer node Restart a faulty OBServer node Stop an OBServer service Stop an observer process Replace an OBServer node Reinstall an OBServer Delete an OBServer Upgrade version View the topology of a clusterOverview of cluster tenant management View the unit distribution View resource usage Modify the major compaction settings of a cluster Perform a major compaction View details of a major compaction View statistics of a major compaction View the major compaction records Manage Transparent Data Encryption (TDE) Parameter types View parameters Modify parameters View the history of parameter changes Arbitration service Overview Create an arbitration service Take over an arbitration service Stop an arbitration service Start an arbitration service Upgrade an arbitration service Restart an arbitration service Migrate an arbitration service Replace an arbitration service Associate a cluster Dissociate an arbitration service Delete an arbitration service Overview Create an arbitration service group Upgrade an arbitration service group Edit an arbitration service group Delete an arbitration service group Manage cluster parameter templates Tenant and resource management View tenant overview information Create a primary tenant Overview Create a standby tenant Copy a tenant Rename a tenantLock a tenant Clone a tenant Delete a tenant Change the password of the sys tenant
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Cloud Platform
  3. V4.3.6
iconOceanBase Cloud Platform
V 4.3.6
  • V 4.3.6
  • V 4.3.5
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.2
  • V 4.0.0 and earlier

PLS-00000 to PLS-00999

Last Updated:2026-04-03 03:16:02  Updated
share
What is on this page
PLS-00001: PL/SQL common error", "%s
PLS-00103: Encountered the symbol %s when expecting one of the following: %s
PLS-00109: unknown exception name '%.*s' in PRAGMA EXCEPTION_INIT
PLS-00113: END identifier '%.*s' must match '%.*s
PLS-00114: identifier ' %.*s' too long
PLS-00115: this PRAGMA must follow the declaration of '%.*s
PLS-00119: Duplicate having-clause in table expression
PLS-00124: name of exception expected for first arg in exception_init pragma
PLS-00128: Illegal number of arguments for pragma EXCEPTION_INIT
PLS-00130: Pragma %s expects 1st argument to be a procedure/function/package/cursor
PLS-00132: Pragma %s does not support %.*s
PLS-00154: An object type may have only 1 MAP or 1 ORDER method
PLS-00155: Only a function may be a MAP, ORDER or CONSTRUCTOR method
PLS-00157: Only schema-level programs
PLS-00168: string'", "duplicate modifier specification '%s'
PLS-00169: modifier '%s' conflicts with prior '%s' specification
PLS-00172: string literal too long
PLS-00179: $ERROR: %.*s
PLS-00182: Identifier cannot be an empty string
PLS-00201: identifier '%.*s' must be declared
PLS-00204: function or pseudo-column '%s' may be used inside a SQL statement only
PLS-00206: %%TYPE must be applied to a variable, column, field or attribute, not to '%.*s'
PLS-00218: a variable declared NOT NULL must have an initialization assignment
PLS-00221: %s' is not a procedure or is undefined
PLS-00222: no function with name '%.*s' exists in this scope
PLS-00225: subprogram or cursor '%.*s' reference is out of scope
PLS-00227: subprogram 'in' formal %.*s is not yet denotable
PLS-00230: OUT and IN OUT formal parameters may not have default expressions
PLS-00231: function '%.*s' may not be used in SQL
PLS-00254: OUT and IN/OUT modes cannot be used in this context
PLS-00263: mismatch between string on a subprogram specification and body
PLS-00301: Invalid GOTO to non-label '%.*s'
PLS-00302: component '%.*s' must be declared
PLS-00304: cannot compile body of '%.*s' without its specification
PLS-00305: previous use of '%.*s' conflicts with this use
PLS-00306: wrong number or types of arguments in call to '%.*s'
PLS-00307: too many declarations of '%.*s' match this call
PLS-00310: with %%ROWTYPE attribute, '%.*s' must name a table, cursor or cursor-variable
PLS-00312: a positional parameter association may not follow a named association
PLS-00315: Implementation restriction: unsupported table index type
PLS-00316: PL/SQL TABLEs must use a single index
PLS-00318: type '%.*s' is malformed because it is a non-REF mutually recursive type
PLS-00320: the declaration of the type of this expression is incomplete or malformed
PLS-00321: expression '%.*s' is inappropriate as the left hand side of anassignment statement
PLS-00322: declaration of a constant '%.*s' must contain an initialization assignment
PLS-00323: subprogram or cursor '%.*s' is declared in a package specification and must be defined in the package body
PLS-00325: non-integral numeric literal %.*s is inappropriate in this context
PLS-00328: A subprogram body must be defined for the forward declaration of %.*s
PLS-00329: schema-level type has illegal reference to %.*s
PLS-00357: Table,View Or Sequence reference '%s%s%s%s%s' not allowed in this context
PLS-00360: cursor declaration without body needs return type
PLS-00361: IN cursor '%.*s' cannot be OPEN'ed
PLS-00362: invalid cursor return type; '%.*s' must be a record type
PLS-00363: expression '%.*s' cannot be used as an assignment
PLS-00366: subtype of a not null type must also be not null
PLS-00367: a RAISE statement with no exception name must be inside an exception handler
PLS-00369: no choices may appear with choice OTHERS in an exception handler
PLS-00370: OTHERS handler must be last among the exception handlers of a block
PLS-00371: at most one declaration for '%.*s' is permitted
PLS-00372: In a procedure, RETURN statement cannot contain an expression
PLS-00373: EXIT/CONTINUE label '%.*s' must label a LOOP statement
PLS-00375: illegal GOTO statement; this GOTO cannot branch to label '%.*s'
PLS-00376: illegal EXIT/CONTINUE statement; it must appear inside a loop
PLS-00382: expression is of wrong type
PLS-00386: type mismatch found at '%.*s' between FETCH cursor and INTO variables
PLS-00394: wrong number of values in the INTO list of a FETCH statement
PLS-00402: alias required in SELECT list of cursor to avoid duplicate column names
PLS-00403: expression '%.*s' cannot be used as an INTO-target of a SELECT/FETCH statement
PLS-00404: cursor '%.*s' must be declared with FOR UPDATE to use with CURRENT OF
PLS-00410: duplicate fields in RECORD,TABLE or argument list are not permitted
PLS-00413: identifier in CURRENT OF clause is not a cursor name
PLS-00428: an INTO clause is expected in this SELECT statement
PLS-00430: FORALL iteration variable %.*s is not allowed in this context
PLS-00432: implementation restriction: cannot use FORALL and BULK COLLECT INTO together in SELECT statements
PLS-00435: DML statement without BULK In-BIND cannot be used inside FORALL
PLS-00438: value in LIMIT clause \'%.*s\' use is invalid
PLS-00439: A LIMIT clause must be used within a BULK FETCH
PLS-00441: EXIT/CONTINUE statement may have a label here; '%.*s' is not a label
PLS-00452: Subprogram '%.*s' violates its associated pragma
PLS-00455: cursor '%.*s' cannot be used in dynamic SQL OPEN statement
PLS-00457: expressions have to be of SQL types
PLS-00485: in exception handler, '%.*s' must be an exception name
PLS-00488: ' %.*s' must be a type
PLS-00491: numeric literal required
PLS-00492: variable or constant initialization may not refer to functions declared in the same package
PLS-00497: cannot mix between single row and multi-row (BULK) in INTO list
PLS-00503: RETURN value statement required for this return from function
PLS-00520: MAP methods must be declared without any parameters other than (optional) SELF
PLS-00521: ORDER methods must be declared with 1 (one) parameter in addition to (optional) SELF
PLS-00522: MAP methods must return a scalar type
PLS-00523: ORDER methods must return an INTEGER
PLS-00524: The parameter type in an ORDER method must be the containing object type
PLS-00525: Within SQL statements, only equality comparisons of objects are allowed without a map or order function
PLS-00526: A MAP or ORDER function is required for comparing objects in PL/SQL
PLS-00527: MAP or ORDER functions require a PRAGMA RESTRICT_REFERENCES specifying :WNDS,WNPS,RNPS,RNDS
PLS-00528: The parameters to an ORDER function must have IN mode
PLS-00530: Illegal type used for object type attribute: '%.*s'
PLS-00531: Unsupported type in a VARRAY or TABLE type: '%.*s'
PLS-00537: A VARRAY must have a positive limit
PLS-00538: subprogram or cursor '%.*s' is declared in an object type specification and must be defined in the object type body
PLS-00539: subprogram '%.*s' is declared in an object type body and must be defined in the object type specification
PLS-00551: character set ANY_CS is only allowed on a subprogram parameter
PLS-00566: type name '%.*s' cannot be constrained
PLS-00567: cannot pass NULL to a NOT NULL constrained formal parameter
PLS-00572: improper constraint form used
PLS-00586: a static method cannot declare a parameter named SELF
PLS-00587: a static method cannot be invoked on an instance value
PLS-00589: no attributes found in object type '%.*s'
PLS-00593: default value of parameter '%.*s' in body must match that of spec
PLS-00597: expression '%.*s' in the INTO list is of wrong type
PLS-00594: the SELF parameter can be declared only as IN or as IN OUT
PLS-00617: at least one result in the CASE expression must not be NULL
PLS-00619: the first operand in the NULLIF expression must not be NULL
PLS-00621: at least one operand in the COALESCE expression must not be NULL
PLS-00629: PIPE statement cannot be used in non-pipelined functions
PLS-00630: pipelined functions must have a supported collection return type
PLS-00633: RETURN statement in a pipelined function cannot contain an expression
PLS-00642: local collection types not allowed in SQL statements
PLS-00652: incorrect number of arguments for aggregate function
PLS-00655: only functions can be declared as PIPELINED
PLS-00657: Implementation restriction: bulk SQL with associative arrays with VARCHAR2 key is not supported
PLS-00658: constructor method name must match type name
PLS-00659: constructor method must return SELF AS RESULT
PLS-00660: SELF parameter of constructor method must be IN OUT
PLS-00661: RETURN statement in a CONSTRUCTOR cannot include an expression
PLS-00667: Element type of associative array should be pls_integer or binary_integer
PLS-00668: Type of expression should be a collection type
PLS-00674: references to fields of BULK In-BIND table of records or objects must have the form A(I).F
PLS-00675: invalid section for this type of Compound Trigger
PLS-00676: duplicate Compound Triggers section
PLS-00701: illegal ORACLE error number %.*s for PRAGMA EXCEPTION_INIT
PLS-00702: second argument to PRAGMA EXCEPTION_INIT must be a numeric literal
PLS-00708: Pragma %.*s must be declared in a package specification
PLS-00709: pragma %.*s must be declared in package specification and body
PLS-00710: Pragma string cannot be specified here", "Pragma %s cannot be specified here
PLS-00711: PRAGMA string cannot be declared twice", "PRAGMA %.*s cannot be declared twice
PLS-00712: illegal option for subprogram %.*s
PLS-00742: field %.*s is not yet denotable
PLS-00904: insufficient privilege to access object string
PLS-00905: object '%.*s' is invalid
PLS-00990: Index Tables of Cursor Variables are disallowed
PLS-00994: Cursor Variables cannot be declared as part of a package
PLS-00999: implementation restriction (may be temporary) %s

folded

share

Applicability

This topic applies only to the Oracle-compatible mode OceanBase Database.

PLS-00001: PL/SQL common error", "%s

  • Error code in OceanBase Database: 9656

  • SQLSTATE: HY000

  • Cause: An unexpected symbol appears.

  • Solution: Change the unexpected symbol that appears in the position with the error.

PLS-00103: Encountered the symbol %s when expecting one of the following: %s

  • Error code in OceanBase Database: 9700

  • SQLSTATE: HY000

  • Cause: The parser found a token (language element) that is inappropriate in this context.

  • Solution: Check the previous tokens as well as the one given in the error message. The line and column numbers given in the error message refer to the end of the faulty language construct.

PLS-00109: unknown exception name '%.*s' in PRAGMA EXCEPTION_INIT

  • Error code in OceanBase Database: 9583

  • SQLSTATE: HY000

  • Cause: The declaration of the exception name referenced in the EXCEPTION_INIT pragma is not found in the scope of pragmas.

  • Solution: Make sure that the pragmas comply with the exception declaration and are within the same scope.

PLS-00113: END identifier '%.*s' must match '%.*s

  • Error code in OceanBase Database: 9659

  • SQLSTATE: HY000

  • Cause: The keyword END terminates some language constructs, such as loops, blocks, functions, and procedures. Following this keyword, you can optionally place the name of such a construct. For example, at the end of the definition of loop L, you might write END L. This error occurs when the optional name does not match the name given to the language construct. It is usually caused by a misspelled identifier or by faulty block structure.

  • Solution: Make sure that the spelling of the END identifier matches the name given to the language construct and that the block structure is correct.

PLS-00114: identifier ' %.*s' too long

  • Error code in OceanBase Database: 9526

  • SQLSTATE: HY000

  • Cause: The name of the PL variable exceeds 128 characters. The maximum length of a valid identifier, including the quotation marks, is 128 characters. A string may be incorrectly enclosed by double quotation marks instead of single quotation marks, and PL considers it an identifier with quotation marks.

  • Solution: Shorten the identifier.

PLS-00115: this PRAGMA must follow the declaration of '%.*s

  • Error code in OceanBase Database: 9622

  • SQLSTATE: HY000

  • Cause: The pragma refers to a PL/SQL object that was not declared or is not within the scope of the reference. Identifiers must be declared before they are used in a pragma. Forward references are not allowed.

  • Solution: Check the spelling and declaration of the identifier. In addition, confirm that the declaration is placed correctly in the block structure.

PLS-00119: Duplicate having-clause in table expression

  • Error code in OceanBase Database: 9501

  • SQLSTATE: HY000

  • Cause: The SELECT statement contains two or more HAVING clauses.

  • Solution: Delete one HAVING clause, and use AND or OR to connect logical expressions when necessary.

PLS-00124: name of exception expected for first arg in exception_init pragma

  • Error code in OceanBase Database: 9674

  • SQLSTATE: HY000

  • Cause: The first argument passed to the EXCEPTION_INIT pragma was not an exception name.

  • Solution: Replace the first argument with the name of a legally declared exception.

PLS-00128: Illegal number of arguments for pragma EXCEPTION_INIT

  • Error code in OceanBase Database: 9675

  • SQLSTATE: HY000

  • Cause: The number of arguments (actual parameters) passed to the named pragma (compiler directive) is incorrect. A required argument was omitted from the argument list, or the pragma syntax contains errors. For example, a comma might be missing between two parameters.

  • Solution: Specify the missing argument or correct the faulty syntax.

PLS-00130: Pragma %s expects 1st argument to be a procedure/function/package/cursor

  • Error code in OceanBase Database: 9661

  • SQLSTATE: HY000

  • Cause: The first argument (actual parameter) passed to the named pragma (compiler directive) was not the name of a subprogram, package, or cursor, as required. The parameter might be misspelled, or the pragma syntax might contain errors. For example, a comma might be missing between two parameters.

  • Solution: Check the spelling of the first argument, and make sure that the proper syntax is used.

PLS-00132: Pragma %s does not support %.*s

  • Error code in OceanBase Database: 9658

  • SQLSTATE: HY000

  • Cause: One of the parameters passed to this pragma was not among the list of allowed values. The parameter might be misspelled, or the pragma syntax might contain errors. For example, a comma might be missing between two parameters.

  • Solution: Check the spelling of all parameters, and make sure that the proper syntax is used.

PLS-00154: An object type may have only 1 MAP or 1 ORDER method

  • Error code in OceanBase Database: 9523

  • SQLSTATE: HY000

  • Cause: Multiple MAP or ORDER functions were declared. One object type can have only one MAP or ORDER function.

PLS-00155: Only a function may be a MAP, ORDER or CONSTRUCTOR method

  • Error code in OceanBase Database: 9525

  • SQLSTATE: HY000

  • Cause: A procedure is declared as the MAP, ORDER, or CONSTRUCTOR method. Only functions can be declared as the MAP, ORDER, or CONSTRUCTOR method.

PLS-00157: Only schema-level programs

allow %s

  • Error code in OceanBase Database: 9506

  • SQLSTATE: HY000

  • Cause: The AUTHID or DEFAULT COLLATION clause is specified for a program package or type. Only mode-level stored procedures, program packages, and types support these clauses.

  • Solution: Delete the clause.

PLS-00168: string'", "duplicate modifier specification '%s'

  • Error code in OceanBase Database: 9643

  • SQLSTATE: HY000

  • Cause: A method or object type modifier was specified repeatedly.

  • Solution: Retain only one modifier and remove all other duplicate ones.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00169: modifier '%s' conflicts with prior '%s' specification

  • Error code in OceanBase Database: 9642

  • SQLSTATE: HY000

  • Cause: The method or object type modifier specified conflicts with an earlier modifier. For example, a FINAL modifier cannot be combined with a NOT FINAL modifier.

  • Solution: Remove one of the conflicting modifiers.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00172: string literal too long

  • Error code in OceanBase Database: 9644

  • SQLSTATE: HY000

  • Cause: The string literal was longer than 32,767 bytes.

  • Solution: Use a string literal of at most 32,767 bytes.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00179: $ERROR: %.*s

  • Error code in OceanBase Database: 9540

  • SQLSTATE: HY000

  • Cause: The $ERROR directive is used.

PLS-00182: Identifier cannot be an empty string

  • Error code in OceanBase Database: 9657

  • SQLSTATE: HY000

  • Cause: The identifier was declared using an empty string.

  • Solution: Rename the identifier to a non-empty string.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00201: identifier '%.*s' must be declared

  • Error code in OceanBase Database: 5543 and 5546

  • SQLSTATE: 42000

  • Cause:

    • An undeclared variable, exception, or procedure was referenced.

    • An item to which no privilege was granted was referenced.

    • An item to which privileges were granted only through a role was referenced.

    • A stored object, such as a program package, procedure, function, trigger, or view, runs in the security zone of the object owner, and no other roles except PUBLIC are enabled.

  • Solution:

    • Check the spelling and declaration of the referenced item name.

    • Check whether the declaration of the referenced item is correctly placed in the block structure.

    • If you are sure that the referenced item is declared and you are authorized to reference this item, check your privileges.

PLS-00204: function or pseudo-column '%s' may be used inside a SQL statement only

  • Error code in OceanBase Database: 9682

  • SQLSTATE: HY000

  • Cause: A pseudo column or a proscribed function is used in the procedural statement. SQL pseudo columns such as LEVEL, ROWID, and ROWNUM can be used only in SQL statements. Similarly, some functions (such as DECODE, DUMP, and VSIZE) and SQL group functions (AVERAGE, MIN, MAX, COUNT, SUM, STDEV, and VARIANCE) can be used only in SQL statements.

  • Solution: Delete the pseudo column reference or function call statement from the procedural statement, or replace the procedural statement with the SELECT INTO statement. For example, replace bonus := DECODE(rating, 1, 5000, 2, 2500, ...); with SELECT DECODE(rating, 1, 5000, 2, 2500, ...) INTO bonus FROM dual;.

PLS-00206: %%TYPE must be applied to a variable, column, field or attribute, not to '%.*s'

  • Error code in OceanBase Database: 9547

  • SQLSTATE: HY000

  • Cause: The program object declared by using the %TYPE data type attribute is not of the appropriate class. The data type must be variable, column, record group, subprogram parameter, or another object that supports value assignment.

  • Solution: Add an initialization clause to the variable declaration. If the syntax of the initialization clause is complex, you can add a function call in place of the syntax.

PLS-00218: a variable declared NOT NULL must have an initialization assignment

  • Error code in OceanBase Database: 9514

  • SQLSTATE: HY000

  • Cause: In a declaration, a variable without an initialization clause is automatically initialized into NULL, which is illogical for a NOT NULL variable. Therefore, an initialization clause is needed.

  • Solution: Add an initialization clause to the variable declaration. If the syntax of the initialization clause is complex, you can add a function call in place of the syntax.

PLS-00221: %s' is not a procedure or is undefined

  • Error code in OceanBase Database: 9683

  • SQLSTATE: HY000

  • Cause: An identifier being referenced as a procedure was not declared or actually represents another object. For example, it might have been declared as a function.

  • Solution: Check the spelling and declaration of the identifier. In addition, confirm that the declaration is placed correctly in the block structure.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00222: no function with name '%.*s' exists in this scope

  • Error code in OceanBase Database: 9627

  • SQLSTATE: HY000

  • Cause: An identifier being referenced as a function was not declared or actually represents another object. For example, it might have been declared as a procedure.

  • Solution: Check the spelling and declaration of the identifier. In addition, confirm that the declaration is placed correctly in the block structure.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00225: subprogram or cursor '%.*s' reference is out of scope

  • Error code in OceanBase Database: 9628

  • SQLSTATE: HY000

  • Cause: The prefix in a qualified name was a subprogram or cursor beyond an enclosing scope. In other words, a subprogram or cursor name is being used as a scope qualifier for a reference to an entity (within that subprogram or cursor) that is not in scope. Here is an example: declare x number; type t1 is record (a number); function f return t1 is a number; begin x := f.a;

    • Legal use of function "f" as a scope qualifier

      • Resolves to local variable "a" in function x := f().a;

      • Legal reference to component "a" of the returned record end

    • Illegal use of function "f" as a scope qualifier x := f().a; and legal reference to component "a" of the returned record end

  • Solution:

    • If you intend to refer to a local variable of a non-enclosing function, this is not allowed. You must remove the reference.

    • If this is a parameterless function, and you intend to access a field of the function call result, use empty parentheses in the call.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00227: subprogram 'in' formal %.*s is not yet denotable

  • Error code in OceanBase Database: 9598

  • SQLSTATE: HY000

  • Cause: When the formal parameters of a subprogram were declared, one parameter was used to initialize another, for example: PROCEDURE my_proc (j NUMBER, k NUMBER := j) IS .... The first parameter has no value until runtime. Therefore, it cannot be used to initialize another parameter.

  • Solution: Remove the illegal formal parameter reference.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00230: OUT and IN OUT formal parameters may not have default expressions

  • Error code in OceanBase Database: 9599

  • SQLSTATE: HY000

  • Cause: When the formal parameters of a procedure were declared, an OUT or IN-OUT parameter was initialized to a default value, for example: PROCEDURE calc_bonus (bonus OUT REAL := 0, ...) IS .... However, only the IN parameter can be initialized to the default value.

  • Solution: Remove the illegal default expression.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00231: function '%.*s' may not be used in SQL

  • Error code in OceanBase Database: 9668

  • SQLSTATE: HY000

  • Cause: A prohibited function was used in an SQL statement. Certain functions such as SQLCODE and SQLERRM can be used only in procedural statements.

  • Solution: Remove the call to the function from the SQL statement. Alternatively, use a local variable to replace the function call. For example, the following statement is illegal: INSERT INTO errors VALUES (SQLCODE, SQLERRM);. However, you can assign the values of SQLCODE and SQLERRM to local variables and then use the variables in the SQL statement, as in err_num:=SQLCODE; err_msg:=SQLERRM; INSERT INTO errors VALUES (err_num, err_msg);.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00254: OUT and IN/OUT modes cannot be used in this context

  • Error code in OceanBase Database: 9502

  • SQLSTATE: HY000

  • Cause: The actual parameter mode (OUT or IN/OUT) is not properly used in the USING clause. For the USING clause in the OPEN statement, only the IN mode is allowed.

  • Solution: Change the parameter mode in the USING clause to the correct mode.

PLS-00263: mismatch between string on a subprogram specification and body

  • Error code in OceanBase Database: 9602

  • SQLSTATE: HY000

  • Cause: An ACCESSIBLE BY clause was specified in a package body for an item with no equivalent clause in the package specification. In a package body, this clause can be specified only on externally visible subprograms, and the subprogram specification and body must have equivalent clauses. You cannot specify this clause on package-local or nested subprograms.

  • Solution: Modify the clause on the subprogram body for compliance with the specification errors until 300 PH2 errors are reserved for external procedures.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00301: Invalid GOTO to non-label '%.*s'

  • Error code in OceanBase Database: 9667

  • SQLSTATE: HY000

  • Cause: A GOTO statement was converted into something which is not a label (such as a variable).

  • Solution: Specify a valid label name.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00302: component '%.*s' must be declared

  • Error code in OceanBase Database: 9681

  • SQLSTATE: HY000

  • Cause: A referenced component (for example, in the name "a.B", "B" is a component of "a") has not been declared. The error might be caused by component misspelling, incorrect declaration, or incorrect declaration position in the block structure.

  • Solution: Check the spelling and declaration of the component. In addition, confirm that the declaration is placed correctly in the block structure.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00304: cannot compile body of '%.*s' without its specification

  • Error code in OceanBase Database: 9520

  • SQLSTATE: HY000

  • Cause: The program package specification required for compiling the body of the program package cannot be found. The possible causes are as follows:

    • The name of the software package is misspelled.

    • The software package specification is never compiled.

    • The compiled software package specification cannot be accessed. The software package specification must be compiled before the body of the software package is compiled, and the compiler must have the privilege to access the compiled specification.

  • Solution:

    • Check the spelling of the software package name.

    • Compile the program package specification before you compile the body of the program package.

    • Make sure that the compiler can access the compiled specification.

PLS-00305: previous use of '%.*s' conflicts with this use

  • Error code in OceanBase Database: 9529

  • SQLSTATE: HY000

  • Cause: When the compiler searches for the predeclaration of a cursor, procedure, function, or program package, it finds another object with the same name in the same action scope, or the name in the header of the subprogram does not match the name in the body.

  • Solution:

    1. Check the spelling of the cursor, procedure, function, or program package name.

    2. Check the names of all constants, variables, parameters, and exceptions declared in the same action scope.

    3. Delete or rename objects with duplicate names.

    4. Modify the name in the header of the subprogram so that it matches the name in the body of the program.

PLS-00306: wrong number or types of arguments in call to '%.*s'

  • Error code in OceanBase Database: 9542

  • SQLSTATE: HY000

  • Cause: A subprogram call does not match any declaration of the subprogram name. The possible causes are as follows:

    • The subprogram name is misspelled.

    • The data type of a parameter is incorrect.

    • The declaration is incorrect or is incorrectly placed in a block structure. For example, the built-in square root function SQRT is called by using a misspelled name or a parameter with an invalid data type.

  • Solution:

    • Check the spelling and declaration of the subprogram name.

    • Make sure that the subprogram call is correct.

    • Make sure that the parameters are of correct data types.

    • Make sure that the declaration is correctly placed in a block structure if the function is not a built-in function.

PLS-00307: too many declarations of '%.*s' match this call

  • Error code in OceanBase Database: 9544

  • SQLSTATE: HY000

  • Cause: The declaration of a subprogram or cursor name is ambiguous. This is because the declaration and call do not exactly match and multiple declarations match the call during the implicit conversion of parameter data types. The possible causes are as follows:

    • The subprogram or cursor name is misspelled.

    • The declaration is incorrect.

    • The declaration is not correctly placed in a block structure.

  • Solution:

    • Check the spelling and declaration of the subprogram or cursor name.

    • Make sure that the call is correct.

    • Make sure that the parameters are of correct data types.

    • Place the declaration properly in a block structure if the function is not a built-in function.

PLS-00310: with %%ROWTYPE attribute, '%.*s' must name a table, cursor or cursor-variable

  • Error code in OceanBase Database: 9586

  • SQLSTATE: HY000

  • Cause: The %ROWTYPE attribute must be applied to an identifier declared as a cursor, cursor variable, or database table. This error occurs when %ROWTYPE follows an identifier that has not been declared.

  • Solution: Change the declaration or do not apply the %ROWTYPE attribute to the identifier.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00312: a positional parameter association may not follow a named association

  • Error code in OceanBase Database: 9653

  • SQLSTATE: HY000

  • Cause: When a parameter list is passed to a subprogram or cursor, if both positional and named associations are used, all positional associations must be placed in their declared order and before all named associations, which can be in any order.

  • Solution: Reorder parameters in the list to meet the requirements or use named associations only.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00315: Implementation restriction: unsupported table index type

  • Error code in OceanBase Database: 9610

  • SQLSTATE: HY000

  • Cause: A data type other than BINARY_INTEGER, PLS_INTEGER, or VARCHAR2 was specified in the INDEX BY clause of a PL/SQL table declaration. A PL/SQL table can have one column and a primary key. The column can be of any scalar type, but the primary key must be of either the BINARY_INTEGER or VARCHAR2 type.

  • Solution: Use a supported key type in the INDEX BY clause.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00316: PL/SQL TABLEs must use a single index

  • Error code in OceanBase Database: 9631

  • SQLSTATE: HY000

  • Cause: A composite primary key was specified in the INDEX BY clause of a PL/SQL table declaration. A PL/SQL table must have a simple, unnamed primary key of the BINARY_INTEGER or VARCHAR2 type.

  • Solution: Use a supported key type in the INDEX BY clause.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00318: type '%.*s' is malformed because it is a non-REF mutually recursive type

  • Error code in OceanBase Database: 9539

  • SQLSTATE: HY000

  • Cause: The type declaration is in incorrect format because the declaration contains a mutually recursive non-reference relationship. The possible causes are as follows:

    • A recursive self-reference is included.

    • A mutually recursive reference is included.

  • Solution: Use another type in the declaration to avoid recursion.

PLS-00320: the declaration of the type of this expression is incomplete or malformed

  • Error code in OceanBase Database: 9597

  • SQLSTATE: HY000

  • Cause: A variable or cursor name in the declaration is misspelled, or the declaration contains a forward reference. Forward references are not allowed in PL/SQL. A variable or cursor must be declared before it is referenced in other statements, including other declarative statements. For example, a declaration of dept_rec causes this exception because it references an undeclared cursor dept_cur. Here is an example:

    DECLARE dept_rec dept_cur%ROWTYPE; 
    CURSOR dept_cur IS SELECT ...
    
  • Solution: Check the spelling of all identifiers in the declaration. Change the position of the declaration to eliminate forward references if necessary.

PLS-00321: expression '%.*s' is inappropriate as the left hand side of anassignment statement

  • Error code in OceanBase Database: 9513

  • SQLSTATE: HY000

  • Cause: This expression appears on the left side of an assignment statement, which is not allowed. For example, SYSDATE: = '01 -JAN-1990'; is not allowed because the function SYSDATE cannot appear on the left side of the assignment statement.

  • Solution: Modify the assignment statement.

PLS-00322: declaration of a constant '%.*s' must contain an initialization assignment

  • Error code in OceanBase Database: 9515

  • SQLSTATE: HY000

  • Cause: The constant declaration does not contain an initial value.

  • Solution: Modify the constant declaration.

PLS-00323: subprogram or cursor '%.*s' is declared in a package specification and must be defined in the package body

  • Error code in OceanBase Database: 9585

  • SQLSTATE: HY000

  • Cause: A cursor or subprogram declared in the package header is not defined in the package body.

  • Solution: Check the spelling of the subprogram name. Add the missing subprogram body to the package body if necessary.

PLS-00325: non-integral numeric literal %.*s is inappropriate in this context

  • Error code in OceanBase Database: 9605 and 9670

  • SQLSTATE: HY000

  • Cause: A non-integral numeric literal is used in a context that requires an integer.

  • Solution: Replace the inappropriate literal with an integral literal.

PLS-00328: A subprogram body must be defined for the forward declaration of %.*s

  • Error code in OceanBase Database: 9587

  • SQLSTATE: HY000

  • Cause: A subprogram specification was declared, but the corresponding subprogram body was not defined. The subprogram specification and body should be written as one unit, or the specification should be separated from its body, which is necessary when you want to define mutually recursive subprograms or to group subprograms in a package.

  • Solution: Check the spelling of the subprogram name. Provide the missing subprogram body if necessary.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00329: schema-level type has illegal reference to %.*s

  • Error code in OceanBase Database: 9609

  • SQLSTATE: HY000

  • Cause: You are attempting to make a reference from a schema-level type to something other than a schema-level type.

  • Solution: Replace the illegal reference and retry the operation.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00357: Table,View Or Sequence reference '%s%s%s%s%s' not allowed in this context

  • Error code in OceanBase Database: 9680

  • SQLSTATE: HY000

  • Cause: A reference to a database table, view, or sequence was found in an inappropriate context. Such references can appear only in SQL statements or (excluding sequences) in the declarations of %TYPE and %ROWTYPE. Here are some valid examples: SELECT ename, emp.deptno, dname INTO my_ename, my_deptno, my_dept .FROM emp, dept WHERE emp.deptno = dept.deptno; DECLARE last_name emp.ename %TYPE; dept_rec dept%ROWTYPE;.

  • Solution: Remove or relocate the illegal reference.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00360: cursor declaration without body needs return type

  • Error code in OceanBase Database: 9595

  • SQLSTATE: HY000

  • Cause: Either a body (SELECT statement) or a return type is missing in a cursor declaration. If you want to separate a cursor specification from its body, you must provide a return type, as in CURSOR c1 RETURN emp%ROWTYPE;.

  • Solution: Add a SELECT statement or return type to the cursor declaration.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00361: IN cursor '%.*s' cannot be OPEN'ed

  • Error code in OceanBase Database: 9594

  • SQLSTATE: HY000

  • Cause: A cursor parameter with mode IN cannot be modified, and therefore cannot be opened.

  • Solution: Change the cursor parameter mode to IN-OUT or OUT.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00362: invalid cursor return type; '%.*s' must be a record type

  • Error code in OceanBase Database: 9593

  • SQLSTATE: HY000

  • Cause: In a cursor specification or the definition of a REF CURSOR type, a non-record type such as NUMBER or TABLE was specified as the return type. This is not allowed. Only return types in the following code are allowed: <record_type_name><record_name>%type<table_name>%ROWTYPE<cursor_name>%ROWTYPE<cursor_variable_name>%ROWTYTPE.

  • Solution: Revise the cursor specification or the definition of the REF CURSOR type to specify one of the above return types.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00363: expression '%.*s' cannot be used as an assignment

  • Error code in OceanBase Database: 9550

  • SQLSTATE: HY000

  • Cause: A literal, constant, IN parameter, counter variable in LOOP, or function call is incorrectly used in the statement.

  • Solution: Modify the statement expression.

PLS-00366: subtype of a not null type must also be not null

  • Error code in OceanBase Database: 9684

  • SQLSTATE: HY000

  • Cause: A subtype defined as NOT NULL is used as the base type for another subtype defined as NULL. For example, DECLARE SUBTYPE Weekday IS INTEGER NOT NULL; SUBTYPE Weekend IS Weekday;.

  • Solution: Modify the subtype definition.

PLS-00367: a RAISE statement with no exception name must be inside an exception handler

  • Error code in OceanBase Database: 9592

  • SQLSTATE: HY000

  • Cause: A RAISE statement with no exception name followed was found outside an exception handler.

  • Solution: Delete the RAISE statement, relocate it to an exception handler, or provide the missing exception name.

Note

This error code is introduced since OceanBase Database V3.2.4.

PLS-00369: no choices may appear with choice OTHERS in an exception handler

  • Error code in OceanBase Database: 9596

  • SQLSTATE: HY000

  • Cause: A construct in the WHEN excep1 OR OTHERS form was detected in the definition of an exception handler. The OTHERS handler must appear by itself as the last exception handler in a block.

  • Solution: Remove any identifier that appears with OTHERS or write a separate exception handler for that identifier.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00370: OTHERS handler must be last among the exception handlers of a block

  • Error code in OceanBase Database: 9591

  • SQLSTATE: HY000

  • Cause: One or more exception handlers are placed after an OTHERS handler. However, the OTHERS handler must be the last handler in a block or subprogram because it acts as the handler for all exceptions not named specifically.

  • Solution: Move the OTHERS handler so that it follows all specific exception handlers.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00371: at most one declaration for '%.*s' is permitted

  • Error code in OceanBase Database: 9507

  • SQLSTATE: HY000

  • Cause: The reference of a variable is ambiguous because this variable has multiple declarations. In the declaration part of a block, procedure, or function, only one local variable with a given identifier is allowed. The given variable can appear only in one block.

  • Solution: Check the spelling of the variable. Retain only one declaration of the variable and delete all other declarations if necessary.

PLS-00372: In a procedure, RETURN statement cannot contain an expression

  • Error code in OceanBase Database: 5583

  • SQLSTATE: 42000

  • Cause: In a procedure, the RETURN statement contains an expression, which is not allowed.

  • Solution: Delete the expression from the RETURN statement, or redefine the procedure as a function.

PLS-00373: EXIT/CONTINUE label '%.*s' must label a LOOP statement

  • Error code in OceanBase Database: 9512

  • SQLSTATE: HY000

  • Cause: The label in the EXIT or CONTINUE statement does not reference the LOOP statement. No label needs to be specified for the EXIT or CONTINUE statement. If a label (such as a label in EXIT my_label or CONTINUE my_label) is specified, the label must reference the LOOP statement.

  • Solution: Make sure that the label name is correctly spelled and the label references the LOOP statement.

PLS-00375: illegal GOTO statement; this GOTO cannot branch to label '%.*s'

  • Error code in OceanBase Database: 9505

  • SQLSTATE: HY000

  • Cause: The branch of the GOTO statement is a label from the outside of a construct (such as a loop or an exception handler) that contains a statement sequence to the inside of the statement sequence. Such a branch is not allowed.

  • Solution: Move the GOTO statement to the inside of the statement sequence, or move the labeled statement outside of the statement sequence.

PLS-00376: illegal EXIT/CONTINUE statement; it must appear inside a loop

  • Error code in OceanBase Database: 9510

  • SQLSTATE: HY000

  • Cause: The EXIT or CONTINUE statement is found outside of a loop construct. The EXIT statement exits from the loop prematurely, and the CONTINUE statement is used to start the next iteration of the loop. The two statements must always appear in a loop.

  • Solution: Delete the EXIT or CONTINUE statement, or put them in a loop construct.

PLS-00382: expression is of wrong type

  • Error code in OceanBase Database: 9519

  • SQLSTATE: HY000

  • Cause: The expression has a wrong data type.

  • Solution: Change the data type of the expression. You may need to use the data type conversion feature.

PLS-00386: type mismatch found at '%.*s' between FETCH cursor and INTO variables

  • Error code in OceanBase Database: 9590

  • SQLSTATE: HY000

  • Cause: An assignment target in the INTO list of a FETCH statement does not match in terms of data type with the corresponding column in the select list of the cursor declaration, and it is unclear which implicit conversion is required to correct the mismatch.

  • Solution: Modify the cursor declaration or change the data type of the assignment target. You might want to use data type conversion functions in the select list of the query associated with the cursor.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00394: wrong number of values in the INTO list of a FETCH statement

  • Error code in OceanBase Database: 9660

  • SQLSTATE: HY000

  • Cause: The number of variables in the INTO clause of a FETCH statement does not match the number of columns in the cursor declaration.

  • Solution: Change the number of variables in the INTO clause or the number of columns in the cursor declaration for the numbers to match.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00402: alias required in SELECT list of cursor to avoid duplicate column names

  • Error code in OceanBase Database: 9588

  • SQLSTATE: HY000

  • Cause: A cursor was declared with a SELECT statement that contains duplicate column names.

  • Solution: Use an alias to replace the duplicate column name in the SELECT list.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00403: expression '%.*s' cannot be used as an INTO-target of a SELECT/FETCH statement

  • Error code in OceanBase Database: 9665

  • SQLSTATE: HY000

  • Cause: The FETCH statement cannot assign a value to an assignment target in its INTO list because the target is not a variable that is legally formed and declared. For example, the FETCH my_cur INTO 'Jones' assignment statement is invalid because 'Jones' is a string rather than a variable.

  • Solution: Check the spelling and declaration of the assignment target. Make sure that the variable naming rules are followed.

PLS-00404: cursor '%.*s' must be declared with FOR UPDATE to use with CURRENT OF

  • Error code in OceanBase Database: 9693

  • SQLSTATE: HY000

  • Cause: cursor_name in the CURRENT OF cursor_name clause was not declared in a FOR UPDATE clause.

  • Solution: Add a FOR UPDATE clause to the definition of the cursor or do not use the CURRENT OF cursor_name clause.

Note

This error code is introduced since OceanBase Database V3.2.4.

PLS-00410: duplicate fields in RECORD,TABLE or argument list are not permitted

  • Error code in OceanBase Database: 9508

  • SQLSTATE: HY000

  • Cause: When a user-defined record is declared, two fields with the same name are found. Like the column names in database tables, the user-defined field names must also be unique.

  • Solution: Check the spelling of the field names and delete duplicate ones.

PLS-00413: identifier in CURRENT OF clause is not a cursor name

  • Error code in OceanBase Database: 9692

  • SQLSTATE: HY000

  • Cause: The identifier in a CURRENT OF clause names an object not a cursor.

  • Solution: Check the spelling of the identifier. Make sure that the identifier names the cursor in the DELETE or UPDATE statement and that it names the cursor itself, not a FOR-loop variable.

Note

This error code is introduced since OceanBase Database V3.2.4.

PLS-00428: an INTO clause is expected in this SELECT statement

  • Error code in OceanBase Database: 9618

  • SQLSTATE: HY000

  • Cause: The INTO clause was omitted in a SELECT INTO statement. For example, the code might look like SELECT deptno, dname, loc FROM dept WHERE ... instead of SELECT deptno, dname, loc INTO dept_rec FROM dept WHERE ..... In PL/SQL, the INTO clause can be omitted only for a subquery.

  • Solution: Add the required INTO clause.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00430: FORALL iteration variable %.*s is not allowed in this context

  • Error code in OceanBase Database: 9612

  • SQLSTATE: HY000

  • Cause: You can use the FORALL iteration variable only as a subscript. In other words, you cannot use it directly or as a part of an expression.

  • Solution: Use the FORALL variable only as a collection subscript.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00432: implementation restriction: cannot use FORALL and BULK COLLECT INTO together in SELECT statements

  • Error code in OceanBase Database: 9614

  • SQLSTATE: HY000

  • Cause: The SELECT statement contains both the FORALL and BULK COLLECT INTO clauses.

  • Solution: Do not use FORALL and BULK COLLECT INTO together in a SELECT statement.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00435: DML statement without BULK In-BIND cannot be used inside FORALL

  • Error code in OceanBase Database: 9615

  • SQLSTATE: HY000

  • Cause: The DML statement (SELECT, INSERT, DELETE, or UPDATE) inside the FORALL statement does not contain the BULK IN-BIND variable.

  • Solution: Carry the BULK IN-BIND variable in the DML statement (SELECT, INSERT, DELETE, or UPDATE) inside the FORALL statement.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00438: value in LIMIT clause \'%.*s\' use is invalid

  • Error code in OceanBase Database: 9518

  • SQLSTATE: HY000

  • Cause: The numeric value type of the LIMIT clause behind FETCH INTO is incorrect. For example, the following statement is invalid because the LIMIT clause requires a numeric value: FETCH c1 BULK COLLECT INTO var_tab LIMIT 'aaaaa';.

  • Solution: Modify the expression of the LIMIT clause so that it is followed by a numeric value. For example: FETCH c1 BULK COLLECT INTO var_tab LIMIT '22333';.

PLS-00439: A LIMIT clause must be used within a BULK FETCH

  • Error code in OceanBase Database: 9636

  • SQLSTATE: HY000

  • Cause: A LIMIT clause is used within a non-bulk fetch.

  • Solution: Do not use a LIMIT clause within a non-bulk fetch.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00441: EXIT/CONTINUE statement may have a label here; '%.*s' is not a label

  • Error code in OceanBase Database: 9654

  • SQLSTATE: HY000

  • Cause: The specified name was not a label. An EXIT or CONTINUE statement does not require a label. However, when the optional name appears, it must be a label.

  • Solution: Check the spelling of the name. Make sure that the name is the label of a loop nested with the EXIT or CONTINUE statement. If this statement does not need a label, delete the name.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00452: Subprogram '%.*s' violates its associated pragma

  • Error code in OceanBase Database: 9619

  • SQLSTATE: HY000

  • Cause: You cannot call a packaged function from SQL statements unless its purity level is asserted by coding a RESTRICT_REFERENCES pragma in the package specification. The pragma is used to control side effects. It tells the PL/SQL compiler to deny the packaged function read/write access to database tables, public packaged variables, or both. An SQL statement that violates the pragma will cause a compilation error.

  • Solution: Raise the purity level of the function, or ease restrictions on the pragma.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00455: cursor '%.*s' cannot be used in dynamic SQL OPEN statement

  • Error code in OceanBase Database: 9686

  • SQLSTATE: HY000

  • Cause: You are attempting to dynamically open a REF cursor that has a return type. However, you can open only a REF cursor without a return type by using an embedded dynamic OPEN statement.

  • Solution: Define a REF cursor without a return type and use it in the statement.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00457: expressions have to be of SQL types

  • Error code in OceanBase Database: 9620

  • SQLSTATE: HY000

  • Cause: An expression of a wrong type is used in the USING or dynamic RETURNING clause. In the USING or dynamic RETURNING clause, an expression cannot be of non-SQL types such as Boolean, index table, and record.

  • Solution: Change the expression type to an SQL type.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00485: in exception handler, '%.*s' must be an exception name

  • Error code in OceanBase Database: 5545

  • SQLSTATE: 42000

  • Cause: An identifier not declared as an exception appeared in the WHEN clause of an exception handler. Only an exception name is valid in a WHEN clause.

  • Solution: Check the spelling of the exception name to ensure that the exception is correctly declared.

PLS-00488: ' %.*s' must be a type

  • Error code in OceanBase Database: 9543

  • SQLSTATE: HY000

  • Cause: The data type descriptor in the declaration or expression does not designate a valid type. The possible causes are as follows:

    • The %TYPE attribute is not added to the declaration. For example, in DECLARE my_sal emp.sal%TYPE;my_ename emp.ename;, the %TYPE attribute is not declared.

    • To automatically provide the data type of a column when a constant or a variable is declared, the %TYPE attribute can be used.

    • To automatically provide the data type of a row when a record is declared, the %ROWTYPE attribute can be used.

  • Solution: Make sure that the data type descriptor designates a valid type. Use the %TYPE and %ROWTYPE attributes if necessary.

PLS-00491: numeric literal required

  • Error code in OceanBase Database: 9604

  • SQLSTATE: HY000

  • Cause: A constant or variable was used where a numeric literal was required. For example, the code might look like my_ename VARCHAR2(max_len); instead of my_ename VARCHAR2(15);. When you specify the maximum length of a VARCHAR2 variable, you must use an integral literal.

  • Solution: Replace the identifier with a numeric literal.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00492: variable or constant initialization may not refer to functions declared in the same package

  • Error code in OceanBase Database: 9655

  • SQLSTATE: HY000

  • Cause: If a package spec p declares a function f, the function may not be used in any variable declarations in the same package specification. This error is caused by a circular instantiation issue. In order to fully instantiate the package specification, the variable must be initialized. To initialize the variable, the function body code in the package body must be executed. This requires that the package body is instantiated. However, the package body cannot be instantiated until the package specification is fully instantiated.

  • Solution: Remove the reference to the function from the variable initialization. A method that is often used is to move the variable initialization from the variable declaration (in the package specification) to the package body initialization block.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00497: cannot mix between single row and multi-row (BULK) in INTO list

  • Error code in OceanBase Database: 9639

  • SQLSTATE: HY000

  • Cause:

    • When a BULK syntax (such as BULK COLLECT INTO) is used to retrieve data, every variable in the INTO list must be of a type that is a collection of the type of the corresponding column.

    • When BULK is not used, every variable in the INTO list must be of a type compatible with the corresponding column.

  • Solution: Change the INTO list to make sure that all variables have correct data types.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00503: RETURN value statement required for this return from function

  • Error code in OceanBase Database: 9634

  • SQLSTATE: HY000

  • Cause: A RETURN statement that contains no expression was used in a function body. In procedures, a RETURN statement contains no expression because the statement just returns control to the caller. However, in functions, a RETURN statement must contain an expression because its value is assigned to the function identifier.

  • Solution: Add an expression to the RETURN statement.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00520: MAP methods must be declared without any parameters other than (optional) SELF

  • Error code in OceanBase Database: 9532

  • SQLSTATE: HY000

  • Cause: Parameters are declared for the MAP member function. The MAP member function can have only one parameter, which is the default SELF parameter. The MAP function cannot be declared as any parameter, and the SELF parameter is added by the compiler.

  • Solution: Delete the parameters from the MAP function.

PLS-00521: ORDER methods must be declared with 1 (one) parameter in addition to (optional) SELF

  • Error code in OceanBase Database: 9538

  • SQLSTATE: HY000

  • Cause: The ORDER function is declared without user-defined parameters. The ORDER function has two parameters, one of which is the default SELF parameter added by the compiler. The other parameter is added by the user and must be of the same type as the contained object.

  • Solution: Change the parameter type.

PLS-00522: MAP methods must return a scalar type

  • Error code in OceanBase Database: 9531

  • SQLSTATE: HY000

  • Cause: The MAP member function is compiled in a way that it returns a value not of the scalar type.

  • Solution: Recompile the MAP function so that it returns a value of the scalar type.

PLS-00523: ORDER methods must return an INTEGER

  • Error code in OceanBase Database: 9533

  • SQLSTATE: HY000

  • Cause: The ORDER function returns a value not of the integer type.

  • Solution: Recompile the ORDER function so that it returns a value of the integer type.

PLS-00524: The parameter type in an ORDER method must be the containing object type

  • Error code in OceanBase Database: 9534

  • SQLSTATE: HY000

  • Cause: The ORDER function is declared without user-defined parameters. The ORDER function has two parameters, one of which is the default SELF parameter added by the compiler. The other parameter is added by the user and must be of the same type as the contained object.

  • Solution: Change the parameter type.

PLS-00525: Within SQL statements, only equality comparisons of objects are allowed without a map or order function

  • Error code in OceanBase Database: 9535

  • SQLSTATE: HY000

  • Cause: The MAP or ORDER function is not provided for comparison. In this case, only equality comparison can be used.

  • Solution: Provide the MAP or ORDER function, or enable the program to use only equality comparison.

PLS-00526: A MAP or ORDER function is required for comparing objects in PL/SQL

  • Error code in OceanBase Database: 9524

  • SQLSTATE: HY000

  • Cause: In the PL code, the MAP or ORDER function is not defined for object comparison.

  • Solution: Define the MAP or ORDER function and retry.

PLS-00527: MAP or ORDER functions require a PRAGMA RESTRICT_REFERENCES specifying :WNDS,WNPS,RNPS,RNDS

  • Error code in OceanBase Database: 9536

  • SQLSTATE: HY000

  • Cause:

    • pragma restrict_references is not specified.

    • pragma restrict_references is specified but lacks any of the following parameters: WNDS, WNPS, RNPS, or RNDS.

  • Solution: Add or correct pragma, and then retry.

PLS-00528: The parameters to an ORDER function must have IN mode

  • Error code in OceanBase Database: 9537

  • SQLSTATE: HY000

  • Cause: The parameter of the ORDER function is declared to be in the OUT or IN OUT mode.

  • Solution: Declare the parameter to be in the IN mode.

PLS-00530: Illegal type used for object type attribute: '%.*s'

  • Error code in OceanBase Database: 9651

  • SQLSTATE: HY000

  • Cause: You are attempting to use an invalid type for an object type attribute.

  • Solution: Use only supported types for the object type attribute.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00531: Unsupported type in a VARRAY or TABLE type: '%.*s'

  • Error code in OceanBase Database: 9652

  • SQLSTATE: HY000

  • Cause: You are attempting to use an unsupported type in a VARRAY or TABLE type.

  • Solution: Use only supported types in a VARRAY or TABLE type.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00537: A VARRAY must have a positive limit

  • Error code in OceanBase Database: 9611

  • SQLSTATE: HY000

  • Cause: A VARRAY type was declared with a non-positive limit, for example, VARRAY(0).

  • Solution: Declare the VARRAY type with a positive limit and retry the operation.

PLS-00538: subprogram or cursor '%.*s' is declared in an object type specification and must be defined in the object type body

  • Error code in OceanBase Database: 9522

  • SQLSTATE: HY000

  • Cause: The specified subprogram is declared in the specification of the object type but is not defined in the body of the object type.

  • Solution: Define the subprogram in the body of the object type, or delete the declaration from the specification.

PLS-00539: subprogram '%.*s' is declared in an object type body and must be defined in the object type specification

  • Error code in OceanBase Database: 9521

  • SQLSTATE: HY000

  • Cause: The specified subprogram is declared in the body of the object type but is not defined in the specification of the object type. You can choose not to define the cursor body.

  • Solution: Define the subprogram in the specification of the object type, or delete the declaration from the body.

PLS-00551: character set ANY_CS is only allowed on a subprogram parameter

  • Error code in OceanBase Database: 9608

  • SQLSTATE: HY000

  • Cause: The character set ANY_CS was specified when it is not allowed.

  • Solution: Change or remove the character set specification.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00566: type name '%.*s' cannot be constrained

  • Error code in OceanBase Database: 9607

  • SQLSTATE: HY000

  • Cause: A LOB, DATE, BOOLEAN, ROWID, or MLSLABEL type was constrained with a length specification, For example, X BLOB(5);.

  • Solution: Remove the constraint.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00567: cannot pass NULL to a NOT NULL constrained formal parameter

  • Error code in OceanBase Database: 9673

  • SQLSTATE: HY000

  • Cause: You are attempting to pass NULL to a parameter with a NOT NULL constraint.

  • Solution: Pass a NOT NULL expression to the parameter.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00572: improper constraint form used

  • Error code in OceanBase Database: 9606

  • SQLSTATE: HY000

  • Cause: "number" types cannot have a range. You cannot specify the scale or precision for user-defined aggregate types or integer types. For example, "x number(5,3)" is acceptable but "x number range 1..10" is not.

  • Solution: Remove the constraint.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00586: a static method cannot declare a parameter named SELF

  • Error code in OceanBase Database: 9649

  • SQLSTATE: HY000

  • Cause: You are attempting to name a parameter SELF when declaring a static method. SELF is reserved as a parameter name in a method to hold the object instance on which the method is applied. A parameter named SELF is not allowed in static methods because static methods do not apply to a particular object instance.

  • Solution: Change the name of the parameter in the declaration.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00587: a static method cannot be invoked on an instance value

  • Error code in OceanBase Database: 9527

  • SQLSTATE: HY000

  • Cause: You are attempting to use an object instance value rather than a type name as the qualifier of the method call name. However, only a type name can be used as the qualifier when a static method is called.

  • Solution: Use a type name rather than an object instance value as the qualifier of a static method.

PLS-00589: no attributes found in object type '%.*s'

  • Error code in OceanBase Database: 9650

  • SQLSTATE: HY000

  • Cause: A table of a non-ADT type was defined.

  • Solution: Tables must be of the ADT type only.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00593: default value of parameter '%.*s' in body must match that of spec

  • Error code in OceanBase Database: 9630

  • SQLSTATE: HY000

  • Cause: The default value initialization of a parameter in a subprogram body contained in a package body did not match that of the corresponding subprogram specification in the corresponding package specification.

  • Solution: Change the default value initialization of the parameter in the body to match that of the specification.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00597: expression '%.*s' in the INTO list is of wrong type

  • Error code in OceanBase Database: 9637

  • SQLSTATE: HY000

  • Cause: This exception is raised for the following errors:

    • The expression in the INTO clause of the OPEN or RETURNING statement is neither of valid SQL data types nor of the PL/SQL RECORD data type.

    • A collection of records is used in the INTO clause of the OPEN or RETURNING statement.

    • A record or a collection of records is used in BULK COLLECT INTO.

  • Solution: Use an expression of a correct data type in the INTO clause.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00594: the SELF parameter can be declared only as IN or as IN OUT

  • Error code in OceanBase Database: 9530

  • SQLSTATE: HY000

  • Cause: The SELF parameter is declared as an OUT parameter.

  • Solution: Declare the SELF parameter as an IN or IN OUT parameter.

PLS-00617: at least one result in the CASE expression must not be NULL

  • Error code in OceanBase Database: 9666

  • SQLSTATE: HY000

  • Cause: All the results in the CASE expression are NULL.

  • Solution: Change at least one result in the CASE expression to a non-NULL value.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00619: the first operand in the NULLIF expression must not be NULL

  • Error code in OceanBase Database: 9647

  • SQLSTATE: HY000

  • Cause: The first operand in the NULLIF expression is NULL.

  • Solution: Change the first operand in the NULLIF expression to a non-NULL value.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00621: at least one operand in the COALESCE expression must not be NULL

  • Error code in OceanBase Database: 9648

  • SQLSTATE: HY000

  • Cause: All operands in the COALESCE expression are NULL.

  • Solution: Change at least one operand in the COALESCE expression to a non-NULL value.

PLS-00629: PIPE statement cannot be used in non-pipelined functions

  • Error code in OceanBase Database: 9623

  • SQLSTATE: HY000

  • Cause: A PIPE statement was used in a non-pipelined function.

  • Solution: Use the PIPE statement only in pipelined functions.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00630: pipelined functions must have a supported collection return type

  • Error code in OceanBase Database: 9601

  • SQLSTATE: HY000

  • Cause: A pipelined function was specified by using an unsupported return type. The following collection types are not supported as return types of pipelined functions:

    • Non-collections

    • PL/SQL tables

    • Associative arrays

    • Collections of PL/SQL types: rowid, mlslabel, long, long raw, boolean, binary_integer, pls_integer, string, and urowid

  • Solution: Specify a supported collection type as the return type of the pipelined function.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00633: RETURN statement in a pipelined function cannot contain an expression

  • Error code in OceanBase Database: 9635

  • SQLSTATE: HY000

  • Cause: A RETURN statement in a pipelined function contains an expression, which is not allowed. Pipelined functions must return values to the caller by using the PIPE statement.

  • Solution: Remove the expression from the RETURN statement and use a PIPE statement to return values. Alternatively, convert the function into a non-pipelined function.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00642: local collection types not allowed in SQL statements

  • Error code in OceanBase Database: 9589

  • SQLSTATE: HY000

  • Cause: A locally-defined (not at the schema level) collection type was used in an SQL statement. To be accepted in an SQL statement, the type must be defined in a schema.

  • Solution: Define the collection type in your schema instead of in a PL/SQL subprogram.

PLS-00652: incorrect number of arguments for aggregate function

  • Error code in OceanBase Database: 9633

  • SQLSTATE: HY000

  • Cause: You are attempting to create an aggregate function with either 0 arguments or more than 999 arguments.

  • Solution: Do not create aggregate functions with 0 arguments or more than 999 arguments.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00655: only functions can be declared as PIPELINED

  • Error code in OceanBase Database: 9600

  • SQLSTATE: HY000

  • Cause: Only functions can be declared as pipelined functions.

  • Solution: Declare a function as a pipelined function, or do not use pipelined functions.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00657: Implementation restriction: bulk SQL with associative arrays with VARCHAR2 key is not supported

  • Error code in OceanBase Database: 9638

  • SQLSTATE: HY000

  • Cause: A variable or expression of the associative array type was used for bulk SQL binding or defining.

  • Solution: Use collection types supported by bulk SQL operations.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00658: constructor method name must match type name

  • Error code in OceanBase Database: 9528

  • SQLSTATE: HY000

  • Cause: You are attempting to use an object instance value rather than a type name as the qualifier of the method call name. However, only a type name can be used as the qualifier when a static method is called.

  • Solution: Use a type name rather than an object instance value as the qualifier of a static method.

PLS-00659: constructor method must return SELF AS RESULT

  • Error code in OceanBase Database: 9646

  • SQLSTATE: HY000

  • Cause: SELF AS RESULT was not specified for the RETURN clause of the constructor method.

  • Solution: Include RETURN SELF AS RESULT in the RETURN clause.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00660: SELF parameter of constructor method must be IN OUT

  • Error code in OceanBase Database: 9645

  • SQLSTATE: HY000

  • Cause: The mode of the SELF parameter of the constructor method was not IN OUT.

  • Solution: Change the mode of the SELF parameter to IN OUT.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00661: RETURN statement in a CONSTRUCTOR cannot include an expression

  • Error code in OceanBase Database: 9541

  • SQLSTATE: HY000

  • Cause: An expression exists in the RETURN statement of the CONSTRUCTOR body.

  • Solution: Delete the expression from the RETURN statement.

PLS-00667: Element type of associative array should be pls_integer or binary_integer

  • Error code in OceanBase Database: 9617

  • SQLSTATE: HY000

  • Cause: You are attempting to specify an index collection whose element type was not pls_integer or binary_integer.

  • Solution: Change the index collection variable type to an associative array whose element type is pls_integer or binary_integer.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00668: Type of expression should be a collection type

  • Error code in OceanBase Database: 9616

  • SQLSTATE: HY000

  • Cause: An expression is specified after the index or value of a clause that is of a non-collection type.

  • Solution: Change the index collection expression type to a valid collection type.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00674: references to fields of BULK In-BIND table of records or objects must have the form A(I).F

  • Error code in OceanBase Database: 9613

  • SQLSTATE: HY000

  • Cause: The table(bulk_index).field form is the only field selection supported during runtime.

  • Solution: Use a FOR loop instead of the FORALL DML statement (MERGE, INSERT, DELETE, or UPDATE) or revise the reference to fit the form allowed.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00675: invalid section for this type of Compound Trigger

  • Error code in OceanBase Database: 9698

  • SQLSTATE: HY000

  • Cause: The trigger event type of a compound trigger must be consistent with the object that the trigger is based on.

  • Solution: Define the instead of section only for a compound trigger created based on a view. Define other sections for compound triggers created based on tables.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00676: duplicate Compound Triggers section

  • Error code in OceanBase Database: 9699

  • SQLSTATE: HY000

  • Cause: Each compound trigger section can appear at most once in the body of the compound trigger.

  • Solution: Remove the offending sections.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00701: illegal ORACLE error number %.*s for PRAGMA EXCEPTION_INIT

  • Error code in OceanBase Database: 9629

  • SQLSTATE: HY000

  • Cause: The error code passed to the EXCEPTION_INIT pragma is out of range. The error code must be in the range of 1-9999 (excluding 100) or in the range of 20000-20999 for user-defined errors.

  • Solution: Use a valid error code.

PLS-00702: second argument to PRAGMA EXCEPTION_INIT must be a numeric literal

  • Error code in OceanBase Database: 9676

  • SQLSTATE: HY000

  • Cause: The second parameter passed to the EXCEPTION_INIT pragma is not a numeric literal (such as a variable). The second parameter must be a numeric literal in the range of 1-9999 (excluding 100). Error codes in the range of 20000-20999 indicate user-defined errors.

  • Solution: Replace the second parameter with a valid error code.

PLS-00708: Pragma %.*s must be declared in a package specification

  • Error code in OceanBase Database: 9603

  • SQLSTATE: HY000

  • Cause: The named pragma was not declared in a package specification as required. For example, the pragma RESTRICT_REFERENCES must be declared in a package specification.

  • Solution: Remove or relocate the misplaced pragma.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00709: pragma %.*s must be declared in package specification and body

  • Error code in OceanBase Database: 9632

  • SQLSTATE: HY000

  • Cause: The named pragma was declared in a package specification but not in the corresponding package body or the other way around.

  • Solution: Add the pragma to the part of the package declaration that does not have the pragma.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00710: Pragma string cannot be specified here", "Pragma %s cannot be specified here

  • Error code in OceanBase Database: 9509

  • SQLSTATE: HY000

  • Cause: The AUTONOMOUS_TRANSACTION pragma cannot be specified here.

  • Solution: Check whether the pragma name is correctly spelled.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00711: PRAGMA string cannot be declared twice", "PRAGMA %.*s cannot be declared twice

  • Error code in OceanBase Database: 9621

  • SQLSTATE: HY000

  • Cause: A pragma was declared twice in the same block.

  • Solution: Remove the duplicate declaration of the pragma.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00712: illegal option for subprogram %.*s

  • Error code in OceanBase Database: 9626

  • SQLSTATE: HY000

  • Cause: Only top-level subprograms or subprogram declarations in PACKAGE or TYPE specifications can have the DETERMINISTIC or PARALLEL_ENABLE option. For example, this error would be returned if the options are used in a PACKAGE or TYPE body.

  • Solution: Remove the options.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00742: field %.*s is not yet denotable

  • Error code in OceanBase Database: 9669

  • SQLSTATE: HY000

  • Cause: When the fields of a record were declared, one field was used to initialize another, as in TYPE my_rec IS RECORD (f1 varchar2(10), f2 varchar2(10) := f1);. The first field has no value until runtime. Therefore, it cannot be used to initialize another field.

  • Solution: Remove the illegal field reference.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00904: insufficient privilege to access object string

  • Error code in OceanBase Database: 9625

  • SQLSTATE: HY000

  • Cause: You are attempting to operate a database object without the required privilege. For example, this error occurs when you attempt to update a table on which you only have the SELECT privilege, or when the ACCESS BY clause of the database object prohibits the attempted compilation.

  • Solution: Ask the database administrator to perform the operation or to grant you the required privilege.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00905: object '%.*s' is invalid

  • Error code in OceanBase Database: 9548

  • SQLSTATE: HY000

  • Cause: An invalid software package specification or subprogram is referenced. If the software package specification, the source code of the subprogram, or a referenced database object of the subprogram is discarded, replaced, or changed since the last compilation, the software package or subprogram becomes invalid.

  • Solution: Identify the reason why the software package specification or subprogram becomes invalid, and ensure that the software package specification or subprogram can be correctly recompiled.

PLS-00990: Index Tables of Cursor Variables are disallowed

  • Error code in OceanBase Database: 9672

  • SQLSTATE: HY000

  • Cause: The cursor cannot be used as an element of the array type.

  • Solution: Do not use the cursor as an element of the array type.

Note

This error code is introduced since OceanBase Database V4.0.0.

PLS-00994: Cursor Variables cannot be declared as part of a package

  • Error code in OceanBase Database: 9516

  • SQLSTATE: HY000

  • Cause: You are attempting to declare a cursor variable in the program package specification, which is not allowed. You can define the REF CURSOR type in PL blocks, subprograms, and program packages, but cursor variables can be declared only in blocks or subprograms.

  • Solution: Move the declaration of the cursor variable to a PL block or a subprogram.

PLS-00999: implementation restriction (may be temporary) %s

  • Error code in OceanBase Database: 9624

  • SQLSTATE: HY000

  • Cause:

    • The RESULT_CACHE clause does not support functions that contain the OUT or INOUT parameter.

    • The RESULT_CACHE clause does not support functions whose RETURN type or IN parameter type are among the following ones:

      • BLOB

      • CLOB

      • NCLOB

      • REFCURSOR

      • Collection

      • Object

      • The record or PL/SQL collection type that contains the preceding types

    • The RESULT_CACHE clause does not support functions in anonymous blocks.

    • The RESULT_CACHE clause does not support pipelined functions and nested functions.

  • Solution: Remove the RESULT_CACHE clause used in the preceding unsupported scenarios.

Note

This error code is introduced since OceanBase Database V4.0.0.

Previous topic

OBE-50000 to OBE-99999
Last

Next topic

FAQ about deployment
Next
What is on this page
PLS-00001: PL/SQL common error", "%s
PLS-00103: Encountered the symbol %s when expecting one of the following: %s
PLS-00109: unknown exception name '%.*s' in PRAGMA EXCEPTION_INIT
PLS-00113: END identifier '%.*s' must match '%.*s
PLS-00114: identifier ' %.*s' too long
PLS-00115: this PRAGMA must follow the declaration of '%.*s
PLS-00119: Duplicate having-clause in table expression
PLS-00124: name of exception expected for first arg in exception_init pragma
PLS-00128: Illegal number of arguments for pragma EXCEPTION_INIT
PLS-00130: Pragma %s expects 1st argument to be a procedure/function/package/cursor
PLS-00132: Pragma %s does not support %.*s
PLS-00154: An object type may have only 1 MAP or 1 ORDER method
PLS-00155: Only a function may be a MAP, ORDER or CONSTRUCTOR method
PLS-00157: Only schema-level programs
PLS-00168: string'", "duplicate modifier specification '%s'
PLS-00169: modifier '%s' conflicts with prior '%s' specification
PLS-00172: string literal too long
PLS-00179: $ERROR: %.*s
PLS-00182: Identifier cannot be an empty string
PLS-00201: identifier '%.*s' must be declared
PLS-00204: function or pseudo-column '%s' may be used inside a SQL statement only
PLS-00206: %%TYPE must be applied to a variable, column, field or attribute, not to '%.*s'
PLS-00218: a variable declared NOT NULL must have an initialization assignment
PLS-00221: %s' is not a procedure or is undefined
PLS-00222: no function with name '%.*s' exists in this scope
PLS-00225: subprogram or cursor '%.*s' reference is out of scope
PLS-00227: subprogram 'in' formal %.*s is not yet denotable
PLS-00230: OUT and IN OUT formal parameters may not have default expressions
PLS-00231: function '%.*s' may not be used in SQL
PLS-00254: OUT and IN/OUT modes cannot be used in this context
PLS-00263: mismatch between string on a subprogram specification and body
PLS-00301: Invalid GOTO to non-label '%.*s'
PLS-00302: component '%.*s' must be declared
PLS-00304: cannot compile body of '%.*s' without its specification
PLS-00305: previous use of '%.*s' conflicts with this use
PLS-00306: wrong number or types of arguments in call to '%.*s'
PLS-00307: too many declarations of '%.*s' match this call
PLS-00310: with %%ROWTYPE attribute, '%.*s' must name a table, cursor or cursor-variable
PLS-00312: a positional parameter association may not follow a named association
PLS-00315: Implementation restriction: unsupported table index type
PLS-00316: PL/SQL TABLEs must use a single index
PLS-00318: type '%.*s' is malformed because it is a non-REF mutually recursive type
PLS-00320: the declaration of the type of this expression is incomplete or malformed
PLS-00321: expression '%.*s' is inappropriate as the left hand side of anassignment statement
PLS-00322: declaration of a constant '%.*s' must contain an initialization assignment
PLS-00323: subprogram or cursor '%.*s' is declared in a package specification and must be defined in the package body
PLS-00325: non-integral numeric literal %.*s is inappropriate in this context
PLS-00328: A subprogram body must be defined for the forward declaration of %.*s
PLS-00329: schema-level type has illegal reference to %.*s
PLS-00357: Table,View Or Sequence reference '%s%s%s%s%s' not allowed in this context
PLS-00360: cursor declaration without body needs return type
PLS-00361: IN cursor '%.*s' cannot be OPEN'ed
PLS-00362: invalid cursor return type; '%.*s' must be a record type
PLS-00363: expression '%.*s' cannot be used as an assignment
PLS-00366: subtype of a not null type must also be not null
PLS-00367: a RAISE statement with no exception name must be inside an exception handler
PLS-00369: no choices may appear with choice OTHERS in an exception handler
PLS-00370: OTHERS handler must be last among the exception handlers of a block
PLS-00371: at most one declaration for '%.*s' is permitted
PLS-00372: In a procedure, RETURN statement cannot contain an expression
PLS-00373: EXIT/CONTINUE label '%.*s' must label a LOOP statement
PLS-00375: illegal GOTO statement; this GOTO cannot branch to label '%.*s'
PLS-00376: illegal EXIT/CONTINUE statement; it must appear inside a loop
PLS-00382: expression is of wrong type
PLS-00386: type mismatch found at '%.*s' between FETCH cursor and INTO variables
PLS-00394: wrong number of values in the INTO list of a FETCH statement
PLS-00402: alias required in SELECT list of cursor to avoid duplicate column names
PLS-00403: expression '%.*s' cannot be used as an INTO-target of a SELECT/FETCH statement
PLS-00404: cursor '%.*s' must be declared with FOR UPDATE to use with CURRENT OF
PLS-00410: duplicate fields in RECORD,TABLE or argument list are not permitted
PLS-00413: identifier in CURRENT OF clause is not a cursor name
PLS-00428: an INTO clause is expected in this SELECT statement
PLS-00430: FORALL iteration variable %.*s is not allowed in this context
PLS-00432: implementation restriction: cannot use FORALL and BULK COLLECT INTO together in SELECT statements
PLS-00435: DML statement without BULK In-BIND cannot be used inside FORALL
PLS-00438: value in LIMIT clause \'%.*s\' use is invalid
PLS-00439: A LIMIT clause must be used within a BULK FETCH
PLS-00441: EXIT/CONTINUE statement may have a label here; '%.*s' is not a label
PLS-00452: Subprogram '%.*s' violates its associated pragma
PLS-00455: cursor '%.*s' cannot be used in dynamic SQL OPEN statement
PLS-00457: expressions have to be of SQL types
PLS-00485: in exception handler, '%.*s' must be an exception name
PLS-00488: ' %.*s' must be a type
PLS-00491: numeric literal required
PLS-00492: variable or constant initialization may not refer to functions declared in the same package
PLS-00497: cannot mix between single row and multi-row (BULK) in INTO list
PLS-00503: RETURN value statement required for this return from function
PLS-00520: MAP methods must be declared without any parameters other than (optional) SELF
PLS-00521: ORDER methods must be declared with 1 (one) parameter in addition to (optional) SELF
PLS-00522: MAP methods must return a scalar type
PLS-00523: ORDER methods must return an INTEGER
PLS-00524: The parameter type in an ORDER method must be the containing object type
PLS-00525: Within SQL statements, only equality comparisons of objects are allowed without a map or order function
PLS-00526: A MAP or ORDER function is required for comparing objects in PL/SQL
PLS-00527: MAP or ORDER functions require a PRAGMA RESTRICT_REFERENCES specifying :WNDS,WNPS,RNPS,RNDS
PLS-00528: The parameters to an ORDER function must have IN mode
PLS-00530: Illegal type used for object type attribute: '%.*s'
PLS-00531: Unsupported type in a VARRAY or TABLE type: '%.*s'
PLS-00537: A VARRAY must have a positive limit
PLS-00538: subprogram or cursor '%.*s' is declared in an object type specification and must be defined in the object type body
PLS-00539: subprogram '%.*s' is declared in an object type body and must be defined in the object type specification
PLS-00551: character set ANY_CS is only allowed on a subprogram parameter
PLS-00566: type name '%.*s' cannot be constrained
PLS-00567: cannot pass NULL to a NOT NULL constrained formal parameter
PLS-00572: improper constraint form used
PLS-00586: a static method cannot declare a parameter named SELF
PLS-00587: a static method cannot be invoked on an instance value
PLS-00589: no attributes found in object type '%.*s'
PLS-00593: default value of parameter '%.*s' in body must match that of spec
PLS-00597: expression '%.*s' in the INTO list is of wrong type
PLS-00594: the SELF parameter can be declared only as IN or as IN OUT
PLS-00617: at least one result in the CASE expression must not be NULL
PLS-00619: the first operand in the NULLIF expression must not be NULL
PLS-00621: at least one operand in the COALESCE expression must not be NULL
PLS-00629: PIPE statement cannot be used in non-pipelined functions
PLS-00630: pipelined functions must have a supported collection return type
PLS-00633: RETURN statement in a pipelined function cannot contain an expression
PLS-00642: local collection types not allowed in SQL statements
PLS-00652: incorrect number of arguments for aggregate function
PLS-00655: only functions can be declared as PIPELINED
PLS-00657: Implementation restriction: bulk SQL with associative arrays with VARCHAR2 key is not supported
PLS-00658: constructor method name must match type name
PLS-00659: constructor method must return SELF AS RESULT
PLS-00660: SELF parameter of constructor method must be IN OUT
PLS-00661: RETURN statement in a CONSTRUCTOR cannot include an expression
PLS-00667: Element type of associative array should be pls_integer or binary_integer
PLS-00668: Type of expression should be a collection type
PLS-00674: references to fields of BULK In-BIND table of records or objects must have the form A(I).F
PLS-00675: invalid section for this type of Compound Trigger
PLS-00676: duplicate Compound Triggers section
PLS-00701: illegal ORACLE error number %.*s for PRAGMA EXCEPTION_INIT
PLS-00702: second argument to PRAGMA EXCEPTION_INIT must be a numeric literal
PLS-00708: Pragma %.*s must be declared in a package specification
PLS-00709: pragma %.*s must be declared in package specification and body
PLS-00710: Pragma string cannot be specified here", "Pragma %s cannot be specified here
PLS-00711: PRAGMA string cannot be declared twice", "PRAGMA %.*s cannot be declared twice
PLS-00712: illegal option for subprogram %.*s
PLS-00742: field %.*s is not yet denotable
PLS-00904: insufficient privilege to access object string
PLS-00905: object '%.*s' is invalid
PLS-00990: Index Tables of Cursor Variables are disallowed
PLS-00994: Cursor Variables cannot be declared as part of a package
PLS-00999: implementation restriction (may be temporary) %s