oracle 12c+ max_string_size参数

一个客户的数据库版本是19.3,在做数据库复制的时候,目标端报错了,查看了一下问题发现表的字段长度有不对,在12c以前我们都知道varchar的长度最大是4000,但是客户这里居然有32767:

把客户的建表语句弄出来,放到我的一个19c的测试环境进行测试:

发现报错了:

这里报错很明显了,是MAX_STRING_SIZE参数不对,客户环境是extended,我的是默认STANDARD,

下面就是修改这个参数了,此参数是静态参数,需要重启数据库修改,还挺复杂的,具体如下:

1. 将集群参数设置为false
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE scope=spfile;

2. 关闭所有节点数据库
SQL> shutdown immediate;

3. 以升级模式重启数据库
SQL> startup upgrade;

3. 更改参数: ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED;
SQL> alter system  set max_string_size=extended scope=spfile;
System altered.

4. 执行 utl32k.sql as sysdba:
SQL> @$ORACLE_HOME/rdbms/admin/utl32k.sql


执行脚本编译数据库  --必须执行,不然可能系统的部分对象失效,导致打开数据库 失败
@$ORACLE_HOME/rdbms/admin/utlrp.sql

5. 检查一下有没有产生失效对象
SQL> select count(*) from dba_objects where status<>'VALID';
  COUNT(*)
----------
0

6. 关闭数据库
SQL> shutdown immediate;

7. 以读写模式重启数据库
SQL> startup;
确认没问题后,将集群参数修改为true,再使用集群启动

相关推荐

  1. Oracle12cR2之IMP与EXP命令行工具使用及参数说明

    2024-04-25 04:56:01       62 阅读
  2. Oracle数据库参数文件

    2024-04-25 04:56:01       46 阅读
  3. oracle 12 查询数据库锁

    2024-04-25 04:56:01       48 阅读
  4. Oracle数据库面试题-12

    2024-04-25 04:56:01       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 04:56:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 04:56:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 04:56:01       87 阅读
  4. Python语言-面向对象

    2024-04-25 04:56:01       96 阅读

热门阅读

  1. 【python】初识爬虫

    2024-04-25 04:56:01       36 阅读
  2. 谈谈如何优雅的使用@Autowired

    2024-04-25 04:56:01       39 阅读
  3. Vue Router,响应式,diff算法

    2024-04-25 04:56:01       143 阅读
  4. tornado模板注入

    2024-04-25 04:56:01       181 阅读
  5. 11.泛型

    11.泛型

    2024-04-25 04:56:01      38 阅读
  6. 基于微信小程序的土地租赁的设计与实现

    2024-04-25 04:56:01       33 阅读
  7. Linux 软件包工具rpmbuild

    2024-04-25 04:56:01       38 阅读
  8. leetcode747-Largest Number At Least Twice of Others

    2024-04-25 04:56:01       32 阅读