环境: Oracle 19.16 多租户架构

1.问题现象:

SQL>
create table T1 as select * from v$active_session_history
*
ERROR at line 1:
ORA-65114: space usage in container is too high

2.查看错误信息:

SQL> !oerr ora 65114
65114, 00000, "space usage in container is too high"
// *Cause: Space usage in the current container exceeded the value of
// MAX_PDB_STORAGE for the container.
// *Action: Specify a higher value for MAX_PDB_STORAGE using the ALTER
// PLUGGABLE DATABASE statement.
//

3.查询MAX_PDB_STORAGE设置

需要注意这里所说的MAX_PDB_STORAGE并不是一个参数,若直接show parameter MAX_PDB_STORAGE是查不到的。

而是一个数据库的属性,使用这样的查询方法:

--PDB中查询:
select property_value from database_properties where property_name = 'MAX_PDB_STORAGE';
--CDB中查询:
select property_name, property_value, description, con_id from cdb_properties where property_name = 'MAX_PDB_STORAGE';

我这里在CDB中查询:

SQL> col PROPERTY_NAME for a22
SQL> col PROPERTY_VALUE for a22
SQL> col DESCRIPTION for a66
SQL> select property_name, property_value, description, con_id from cdb_properties where property_name = 'MAX_PDB_STORAGE'; PROPERTY_NAME PROPERTY_VALUE DESCRIPTION CON_ID
---------------------- ---------------------- ------------------------------------------------------------------ ----------
MAX_PDB_STORAGE 2147483648 Maximum Space Usage of Datafiles and Local Tempfiles in Container 6
MAX_PDB_STORAGE UNLIMITED Maximum Space Usage of Datafiles and Local Tempfiles in Container 3
MAX_PDB_STORAGE UNLIMITED Maximum Space Usage of Datafiles and Local Tempfiles in Container 4 SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
6 AWR READ WRITE NO

正好对应AWR这个PDB,MAX_PDB_STORAGE有限制2147483648大小。

进入AWR这个PDB,验证查询:

SQL> alter session set container=awr;

Session altered.

SQL> select sum(bytes/1024/1024/1024) from dba_data_files;

SUM(BYTES/1024/1024/1024)
-------------------------
2.08984375 SQL> select sum(bytes) from dba_data_files; SUM(BYTES)
----------
2243952640

的确已经达到这个限制,所以不成功是正常的。

4.找出根因

咋会有这个限制呢?翻出之前建立这个PDB的创建语句,就会发现根因:

CREATE PLUGGABLE DATABASE awr
ADMIN USER awr IDENTIFIED BY awr
ROLES = (dba)
DEFAULT TABLESPACE tbs_awr
DATAFILE '/flash/oradata/DEMO/awr/awr01.dbf' SIZE 250M AUTOEXTEND ON maxsize 10G <--- 这里限制该数据文件上限大小10G
FILE_NAME_CONVERT = ('/flash/oradata/DEMO/pdbseed/',
'/flash/oradata/DEMO/awr/')
STORAGE (MAXSIZE 2G) <--- 这里限制了总大小2G,额。。
PATH_PREFIX = '/flash/oradata/DEMO/awr/';

5.解决问题

知道原因了,解决就很简单了,直接修正下,因为我测试环境空间有限,所以暂时就在此基础上先增加3G,也就是修改设置为5G。

ALTER PLUGGABLE DATABASE STORAGE (MAXSIZE 5G);

再次执行CTAS语句,不再报错,成功创建。

CTAS建表时报错ORA-65114的更多相关文章

  1. Mysql 建表时报错 invalid ON UPDATE clause for 'create_date' column

    这个错误是由于mysql 版本问题导致的 `create_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', ...

  2. impala 建表时报错,不支持中文

    1.错误信息 (1366, "Incorrect string value: '\\xE6\\x8E\\x88\\xE6\\x9D\\x83...' for column 'search' ...

  3. 【转载】Mysql创建表时报错error150

    从mysql数据库中导出正常数据库的脚本语句,而后使用脚本语句创建数据库的过程中,执行语句提示Can't Create Table 'XXX' erro150的错误,语句执行中断,创建table失败, ...

  4. Django生成数据表时报错

    Django生成数据表时报错 WARNINGS: ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'defau ...

  5. Django创建表时报错django.db.utils.InternalError: (1366问题解决记录

    问题出现 执行Python manage.py makemigrations生成创建表的py文件 执行python manage.py migrate创建数据表 界面出现报错 问题原因 网上搜索原因, ...

  6. mysql truncate带有被引用外键的表时报错解决方法

    清空具有外键约束的表时报ERROR 1701(42000)的解决   mysql> truncate table t_users;ERROR 1701 (42000): Cannot trunc ...

  7. Mysql创建表时报错Table doesn't exist解决办法

    最近做项目时,本地数据库出了毛病,PHPMyadmin中有几张表不见了,我想应该是误删了吧,于是准备重新建一张表,可是问题出现了,sql报错,说表不存在... 什么鬼!就是因为表不存在我才要创建的好吗 ...

  8. Oracle 学习----:Oracle删除表时报错:表或视图不存在

    表明明存在,但是删除时却报错:表或视图不存在. 可能的原因之一是表名包含了小写,可以用双引号包含表名通过drop命令来删除, 如下所示: drop table "tmp_ST" ; ...

  9. mysql使用truncate截断带有外键的表时报错--解决方案

    报错内容如:1701 - Cannot truncate a table referenced in a foreign key constraint 一.为什么要使用truncate 使用trunc ...

  10. Django在根据models生成数据库表时报错: __init__() missing 1 required positional argument: 'on_delete'

    原因: 在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: __init__() missing ...

随机推荐

  1. 【驱动】SPI驱动分析(一)-SPI协议简介

    1. 什么是SPI SPI全拼Serial Peripheral interface(串行外围设备接口),是由Motorola(摩托罗拉)在MC68HCXX系列处理器上定义的,主要应用于EEPROM( ...

  2. 3 分钟将免费无限制的 Claude 2.0 接入任意 GPT 套壳应用,太香了!

    Claude 是 ChatGPT 的最强竞争对手,由 OpenAI 早期团队成员创建,目标就是打造出能 赶超 ChatGPT 的 AI.最新版的 Claude 2.0,能力已经开始领先 ChatGPT ...

  3. sql server主从同步

    sql server主从方案介绍   sql server 作为目前主流的数据库,用户遍布世界各地.sql server也有一些比较成熟的主备方案,目前主要有:复制模式(发布-订阅模式).镜像传输模式 ...

  4. 使用 FormatMessage 格式化 Windows 错误码.md

    https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-formatmessage #include <str ...

  5. 类的MRO属性 C3算法

    C3算法 class A(object): pass class B(A): pass class C(A): pass class D(B): pass class E(C): pass class ...

  6. Seata 分布式事务解决方案及特点

    本文为博主原创,未经允许不得转载: 目录: 1. Seata官方链接 2. Seata的三大角色 3.Seata 常见分布式事务解决方案 4. 2PC两阶段提交协议 5. 2PC 的问题 6. AT模 ...

  7. javaweb 项目!号 解决方案

    1:右击项目工程名称2:Properties3:  Jvav Build Path4:  Libraries5:  Add External JARS6:  找到"E:\apache-tom ...

  8. Git-分支-branch-checkout-merge

  9. 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.20)

    一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...

  10. [转帖]prometheus和node_exporter中的磁盘监控

    https://www.ipcpu.com/2021/04/prometheus-node_exporter/ prometheus和node_exporter中的磁盘监控.md 对于磁盘问题,我们主 ...