ORA-00910: specified length too long for its datatype
- oracle@3deab02ec7ab:/$ sqlplus / as sysdba
-
- SQL*Plus: Release 12.1.0.2.0 Production on Wed Oct 18 08:16:41 2023
-
- Copyright (c) 1982, 2014, Oracle. All rights reserved.
-
-
- Connected to:
- Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
-
-
- SQL> show parameter MAX_STRING_SIZE;
-
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- max_string_size string STANDARD
- SQL> create table t3(blog varchar2(32727));
- create table t3(blog varchar2(32727))
- *
- ERROR at line 1:
- ORA-00910: specified length too long for its datatype
-
-
- SQL> shutdown immediate;
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> startup upgrade;
- ORACLE instance started.
-
- Total System Global Area 1610612736 bytes
- Fixed Size 2924928 bytes
- Variable Size 553651840 bytes
- Database Buffers 1040187392 bytes
- Redo Buffers 13848576 bytes
- Database mounted.
- Database opened.
- SQL> alter system set max_string_size=extended scope=both;
-
- System altered.
-
- SQL> @?/rdbms/admin/utl32k.sql
-
- Session altered.
-
- DOC>#######################################################################
- DOC>#######################################################################
- DOC> The following statement will cause an "ORA-01722: invalid number"
- DOC> error if the database has not been opened for UPGRADE.
- DOC>
- DOC> Perform a "SHUTDOWN ABORT" and
- DOC> restart using UPGRADE.
- DOC>#######################################################################
- DOC>#######################################################################
- DOC>#
-
- no rows selected
-
- DOC>#######################################################################
- DOC>#######################################################################
- DOC> The following statement will cause an "ORA-01722: invalid number"
- DOC> error if the database does not have compatible >= 12.0.0
- DOC>
- DOC> Set compatible >= 12.0.0 and retry.
- DOC>#######################################################################
- DOC>#######################################################################
- DOC>#
-
- PL/SQL procedure successfully completed.
-
-
- Session altered.
-
-
- 0 rows updated.
-
-
- Commit complete.
-
-
- System altered.
-
-
- PL/SQL procedure successfully completed.
-
-
- Commit complete.
-
-
- System altered.
-
-
- Session altered.
-
-
- PL/SQL procedure successfully completed.
-
- No errors.
-
- Session altered.
-
-
- PL/SQL procedure successfully completed.
-
-
- Commit complete.
-
-
- Package altered.
-
-
- Package altered.
-
- SQL> shutdown immediate;
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> startup;
- ORACLE instance started.
-
- Total System Global Area 1610612736 bytes
- Fixed Size 2924928 bytes
- Variable Size 553651840 bytes
- Database Buffers 1040187392 bytes
- Redo Buffers 13848576 bytes
- Database mounted.
- Database opened.
- SQL> @?/rdbms/admin/utlrp.sql
-
- TIMESTAMP
- --------------------------------------------------------------------------------
- COMP_TIMESTAMP UTLRP_BGN 2023-10-18 08:52:50
-
- DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid
- DOC> objects in the database. Recompilation time is proportional to the
- DOC> number of invalid objects in the database, so this command may take
- DOC> a long time to execute on a database with a large number of invalid
- DOC> objects.
- DOC>
- DOC> Use the following queries to track recompilation progress:
- DOC>
- DOC> 1. Query returning the number of invalid objects remaining. This
- DOC> number should decrease with time.
- DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);
- DOC>
- DOC> 2. Query returning the number of objects compiled so far. This number
- DOC> should increase with time.
- DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;
- DOC>
- DOC> This script automatically chooses serial or parallel recompilation
- DOC> based on the number of CPUs available (parameter cpu_count) multiplied
- DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu).
- DOC> On RAC, this number is added across all RAC nodes.
- DOC>
- DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel
- DOC> recompilation. Jobs are created without instance affinity so that they
- DOC> can migrate across RAC nodes. Use the following queries to verify
- DOC> whether UTL_RECOMP jobs are being created and run correctly:
- DOC>
- DOC> 1. Query showing jobs created by UTL_RECOMP
- DOC> SELECT job_name FROM dba_scheduler_jobs
- DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';
- DOC>
- DOC> 2. Query showing UTL_RECOMP jobs that are running
- DOC> SELECT job_name FROM dba_scheduler_running_jobs
- DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';
- DOC>#
-
- PL/SQL procedure successfully completed.
-
-
- TIMESTAMP
- --------------------------------------------------------------------------------
- COMP_TIMESTAMP UTLRP_END 2023-10-18 08:52:51
-
- DOC> The following query reports the number of objects that have compiled
- DOC> with errors.
- DOC>
- DOC> If the number is higher than expected, please examine the error
- DOC> messages reported with each object (using SHOW ERRORS) to see if they
- DOC> point to system misconfiguration or resource constraints that must be
- DOC> fixed before attempting to recompile these objects.
- DOC>#
-
- OBJECTS WITH ERRORS
- -------------------
- 0
-
- DOC> The following query reports the number of errors caught during
- DOC> recompilation. If this number is non-zero, please query the error
- DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
- DOC> are due to misconfiguration or resource constraints that must be
- DOC> fixed before objects can compile successfully.
- DOC>#
-
- ERRORS DURING RECOMPILATION
- ---------------------------
- 0
-
-
- Function created.
-
-
- PL/SQL procedure successfully completed.
-
-
- Function dropped.
-
- ...Database user "SYS", database schema "APEX_040200", user# "98" 08:52:58
- ...Compiled 0 out of 3014 objects considered, 0 failed compilation 08:52:59
- ...271 packages
- ...263 package bodies
- ...452 tables
- ...11 functions
- ...16 procedures
- ...3 sequences
- ...457 triggers
- ...1320 indexes
- ...211 views
- ...0 libraries
- ...6 types
- ...0 type bodies
- ...0 operators
- ...0 index types
- ...Begin key object existence check 08:52:59
- ...Completed key object existence check 08:52:59
- ...Setting DBMS Registry 08:52:59
- ...Setting DBMS Registry Complete 08:52:59
- ...Exiting validate 08:52:59
-
- PL/SQL procedure successfully completed.
-
- SQL> show parameter MAX_STRING_SIZE;
-
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- max_string_size string EXTENDED
- SQL> create table t3(blog varchar2(32727));
-
- Table created.
-
- SQL>