sql - oracle 从部分创建的另一个表创建表;无法扩展临时空间
问题描述
我们正在尝试使用方法从另一个表创建一个表 -
create table tab1 as select * from tab2;
但该过程因错误而失败
ORA-01652: 无法在表空间中将临时段扩展 8192
但是,该表tab1
仅使用部分数据创建。tab1 和 中存在计数不匹配tab2
。这两个表中的任何一个都没有被任何事务填充/更新。这发生在几张桌子上。
据我所知,创建表应该完全或根本不创建表。不可能部分创建表。
专家建议任何见解。
解决方案
执行以下命令以确定现有表空间的文件名为 sysadmin
SELECT * FROM DBA_DATA_FILES;
然后按如下方式扩展数据文件的大小(将文件名替换为上一个查询中的文件名):
ALTER DATABASE DATAFILE 'C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF' RESIZE 4096M;
您可以先尝试以下命令或要求 DBA 授予权限:
grant unlimited tablespace to <schema_name>;
推荐阅读
- mysql - MySQL 查询仅在其他行具有相同列值时才检索行
- azure - 在 Azure 容器实例上执行命令时出现错误“...websocket/_app.py”,第 345 行,在 _callback 中
- excel - Windows 和 Mac 上的列表框显示不同
- angularjs - 根据给定的字符串格式计算 DOB
- python - 使用 tf.estimator.train_and_evaluate 估计多个数据集
- sql - SQL:选择 Distinct 和 Max 显示最低值而不是最高值
- php - 覆盖默认的 Laravel EnsureEmailIsVerified 中间件未触发
- javascript - 使用 Javascript 创建新的 JSON 文件
- python - 如何有效地用其他元素替换字符串中的多个元素?
- r - R 正在为使用 for 循环生成的多个绘图保存空白表