Oracle 12c 推出了 varchar2的可扩展性,最大可扩展到32K。如果应用需要在数据库中建立列长超过默认4K(4000B)的列,则需要将数据库参数MAX_STRING_SIZE调整为EXTENDED。
传统单机数据库的调整相对简单,这里介绍一下双机RAC数据库的调整方法。
对于RAC集群修改MAX_STRING_SIZE 的操作步骤如下:
#有关集群的操作,均在root用户下完成;关于数据库的操作,均在oracle用户下完成。
--1.修改参数cluster_database
----登录任何一个节点进行操作如下步骤即可(假如登录的是节点1)==》
sqlplus / as sysdba
alter system set cluster_database = false scope = spfile;
--2.关闭所有节点的服务
----登录任何一个节点进行操作如下步骤即可(假如登录的是节点1)==》
#srvctl stop service -d <数据库名> -s <服务名> -node <节点1名>
srvctl stop service -d dbname -s srv1name -n node1name
#srvctl stop service -d <数据库名> -s <服务名> -node <节点2名>
srvctl stop service -d dbname -s srv2name -n node2name
--3.关闭所有节点数据库实例
----登录任何一个节点进行操作如下步骤即可(假如登录的是节点1)==》
#srvctl stop instance -d <数据库名> -node <节点1名>
srvctl stop instance -d dbname -node node1name
#srvctl stop instance -d <数据库名> -node <节点2名>
srvctl stop instance -d dbname -node node2name
--4.启动某一个实例到upgrade模式
----登录任何一个节点进行操作如下步骤即可(假如登录的是节点1)==》
sqlplus / as sysdba
startup upgrade
--5.开始修改参数
----登录任何一个节点进行操作如下步骤即可(假如登录的是节点1)==》
sqlplus / as sysdba
alter system set MAX_STRING_SIZE=EXTENDED;
@?/rdbms/admin/utl32k.sql
alter system set cluster_database = true scope = spfile;
----关闭当前实例
srvctl stop instance -d dbname -node node1name
--6.启动数据库
--登录任何一个节点进行操作如下步骤即可(假如登录的是节点1)==》
#srvctl start instance -d <数据库名> -node <节点1名>
srvctl start instance -d dbname -node node1name
#srvctl start instance -d <数据库名> -node <节点2名>
srvctl start instance -d dbname -node node2name
--一般在启动实例后,实例上的服务会自动带起。如果服务没有自动带起来,可以使用下列语句开启服务。
--7.开启所有节点的服务
----登录任何一个节点进行操作如下步骤即可(假如登录的是节点1)==》
#srvctl start instance -d <数据库名> -node <节点1名>
srvctl start service -d dbname -s srv1name -n node1name
#srvctl start instance -d <数据库名> -node <节点1名>
srvctl start service -d dbname -s srv2name -n node2name
#如果有service启在了1个节点,需要将其转换到另一个节点==》
#srvctl relocate service -d <数据库名> -s <服务名> -oldinst <当前实例名> -newinst <新实例名>
srvctl relocate service -d dbname -s srv2name -oldinst dbname1 -newinst dbname2
参考文档:11gR2 Clusterware 和 Grid Home – 你需要知道的事 (文档 ID 2225748.1)
https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=p067wn830_9&_afrLoop=184670825394405#aref_section35