修改CDB的max_string_size,从STANDARD到EXTENDED

2023-10-13 13:12

本文主要是介绍修改CDB的max_string_size,从STANDARD到EXTENDED,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

操作过程参考19c官方文档。

具体过程如下。先修改参数并重启:

-- 修改参数
-- 注意:即使在 MAX_STRING_SIZE 设置为 EXTENDED 之后,根仍继续使用 STANDARD 语义。 
-- 在根中将 MAX_STRING_SIZE 设置为 EXTENDED 的原因是,CDB 中的所有 PDB 都可以从根继承 EXTENDED 设置。
ALTER SESSION SET CONTAINER=CDB$ROOT;
ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;-- 关闭数据库
shutdown immediate-- 以 UPGRADE 模式重新启动数据库
startup upgrade;

然后运行升级脚本,脚本会增加所需视图的 VARCHAR2、NVARCHAR2 和 RAW 列的最大大小。:

mkdir /tmp/utl32k_cdb_pdbs_output
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u SYS --force_pdb_mode 'UPGRADE' -d $ORACLE_HOME/rdbms/admin -l '/tmp/utl32k_cdb_pdbs_output' -b utl32k_cdb_pdbs_output utl32k.sql

此过程耗时1分钟:

catcon::set_log_file_base_path: ALL catcon-related output will be written to [/tmp/utl32k_cdb_pdbs_output/utl32k_cdb_pdbs_output_catcon_4260.lst]catcon::set_log_file_base_path: catcon: See [/tmp/utl32k_cdb_pdbs_output/utl32k_cdb_pdbs_output*.log] files for output generated by scriptscatcon::set_log_file_base_path: catcon: See [/tmp/utl32k_cdb_pdbs_output/utl32k_cdb_pdbs_output_*.lst] files for spool files, if anyEnter Password:
catcon.pl: completed successfullyreal    0m57.347s
user    0m0.246s
sys     0m0.205s

重启数据库:

shutdown immediate
startup

重新编译CDB$ROOT和 CDB 中所有 PDB 中的无效对象。

mkdir /tmp/utlrp_cdb_pdbs_output
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u SYS --force_pdb_mode 'READ WRITE' -d $ORACLE_HOME/rdbms/admin -l '/tmp/utlrp_cdb_pdbs_output' -b utlrp_cdb_pdbs_output utlrp.sql

此过程耗时,输出如下:

catcon::set_log_file_base_path: ALL catcon-related output will be written to [/tmp/utlrp_cdb_pdbs_output/utlrp_cdb_pdbs_output_catcon_5246.lst]catcon::set_log_file_base_path: catcon: See [/tmp/utlrp_cdb_pdbs_output/utlrp_cdb_pdbs_output*.log] files for output generated by scriptscatcon::set_log_file_base_path: catcon: See [/tmp/utlrp_cdb_pdbs_output/utlrp_cdb_pdbs_output_*.lst] files for spool files, if anyEnter Password:catcon.pl: completed successfullyreal    1m8.796s
user    0m0.317s
sys     0m0.231s

验证:

SQL> connect / as sysdba
Connected.SQL> show parameter max_stringNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_string_size                      string      EXTENDED
SQL> show pdbsCON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 ORCLPDB1                       READ WRITE NO
SQL> alter session set container=orclpdb1;Session altered.SQL> show parameter max_stringNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_string_size                      string      EXTENDED

清理:

cd /tmp
rm -fr utl32k_cdb_pdbs_output utlrp_cdb_pdbs_output

这篇关于修改CDB的max_string_size,从STANDARD到EXTENDED的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/203470

相关文章

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

java String.join()的使用小结

《javaString.join()的使用小结》String.join()是Java8引入的一个实用方法,用于将多个字符串按照指定分隔符连接成一个字符串,本文主要介绍了javaString.join... 目录1. 方法定义2. 基本用法2.1 拼接多个字符串2.2 拼接集合中的字符串3. 使用场景和示例3

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命