Oracle 12c 扩展以支持 varchar2 >4000 字节对不是 sysdba 的用户不起作用 [英] Oracle 12c extended to support varchar2 > 4000 bytes doesn't work for user who is not sysdba

查看:42
本文介绍了Oracle 12c 扩展以支持 varchar2 >4000 字节对不是 sysdba 的用户不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在兼容 oracle 12c 的 12.0.0 上,更改为使用 sysdba 权限扩展.我现在可以用 varchar2(16000) 作为列创建一个表并插入一个 > 4000 字节的字符串;但仅当作为 sysdba 连接时.当作为普通用户而不是 sysdba 连接时,我无法使用大于 4000 字节的 varchar2,抛出错误 ORA-60019.谁能解释为什么?以非 sysdba 用户身份登录时,参数 max_string_size= extended 和 compatible=12.0.0.

On oracle 12c compatible 12.0.0, changed to extended with sysdba privileges. I can create a table with varchar2(16000) as column now and insert a string > 4000 bytes; but only when connected as sysdba. When connected as a normal user rather than sysdba, I cannot play with varchar2 >4000 bytes, an error ORA-60019 is thrown. Can anyone explain why? the param max_string_size= extended and compatible=12.0.0 when logged in as a user who is not a sysdba.

推荐答案

您必须更改文件TNSNAMES.ORA"才能通过 PDB 连接.我遇到了同样的问题.我已经用下面链接的信息解决了.

You must change your file "TNSNAMES.ORA" to connect by PDB. I was with the same problem. I have solved with the information of link bellow.

https:///dba.stackexchange.com/questions/240761/in-oracle-12c-tryiyng-to-create-table-with-columns-greater-than-4000

这种行为的原因是您处于多租户环境中,即称为 CDB(容器数据库")的主容器和任意数量的 PDB(可插拔数据库").

The reason for that behaviour is that you are in a multi-tenant environment, i.e. a master container called the CDB ("Container Database"), and any number of PDBs ("Pluggable Databases").

CDB(容器")是一种系统"数据库,用于包含实际的客户数据库(可插入数据库"或 PDB).CDB 不打算接收任何客户数据.一切都进入一个或多个 PDB.

The CDB ("container") is a kind of "system" database that is there to contain the actual customer databases ("pluggable databases" or PDBs). The CDB is not intended to receive any customer data whatsoever. Everything goes into one or more PDBs.

当您在未指定任何服务的情况下进行连接时,您将自动被置于 CDB 中.CDB 将忽略扩展字符串参数:限制仍为 4000 字节.以下连接到 CDB.创建一个长字符串的表被拒绝,就像你的情况一样:

When you connect without specifying any service, you are automatically placed in the CDB. The extended strings parameter is ignored for the CDB: the limit remains 4000 bytes. The following connects to the CDB. Creating a table with a long string is rejected, just like in your case:

这篇关于Oracle 12c 扩展以支持 varchar2 >4000 字节对不是 sysdba 的用户不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆