单个表空间文件个数达到上限 ORA-01686
# 问题概述
因在oracle数据库表空间管理中的时候 报 ORA-01686: max # files (1023) reached for the tablespace GPRS
SQL> alter tablespace GPRS add datafile '+DATADG' size 60G;
alter tablespace GPRS add datafile '+DATADG' size 60G
*
ERROR at line 1:
ORA-01686: max # files (1023) reached for the tablespace GPRS
# 问题原因
每个表空间最大文件数 2^10-1个
# 解决方案
1、清理过期的数据
2、新建个表空间(这样不太好管理)
# 模拟故障
1、写个加数据文件存储过程吧
```
SQL> create or replace procedure pl_data as
2 col_id varchar(255);
3 begin
4 for i in 1..1020 loop
5 col_id:='GUO'||i;
6 execute immediate 'alter tablespace GUO add datafile'||' ''/u01/oradata/peach/'||col_id ||'.dbf'||''' size 1m ';
7 end loop;
8 commit;
9 end;
10 /
过程已创建。
```
2、调用存储过程添加了1020个数据文件
```
SQL> exec sys.pl_data
PL/SQL 过程已成功完成。
SQL> select max(file_id) from dba_data_files where tablespace_name='GUO';
MAX(FILE_ID)
------------
1025
```
3、手动添加数据文件
```
SQL> alter tablespace GUO add datafile '/u01/oradata/peach/GUO1021.dbf' size 1m;
表空间已更改。
SQL> alter tablespace GUO add datafile '/u01/oradata/peach/GUO1022.dbf' size 1m;
表空间已更改。
SQL> alter tablespace GUO add datafile '/u01/oradata/peach/GUO1023.dbf' size 1m;
表空间已更改。
SQL> alter tablespace GUO add datafile '/u01/oradata/peach/GUO1024.dbf' size 1m;
alter tablespace GUO add datafile '/u01/oradata/peach/GUO1024.dbf' size 1m
*
第 1 行出现错误:
ORA-01686: 最大文件数 (1023) 对于表空间 GUO 已达到
```
4、总结
表空间最大数据文件个数2^10-1
单个数据文件最大数据块个数2^22-1
单个数据文件大小,db_block_size*blocks
最新文章
- js 检测页面刷新或关闭
- Django中提示TemplateDoesNotExist?
- hibernate用setResultTransformer转换
- 使用oracle utl_http包需要注意的事项
- HDU 5053 the Sum of Cube
- Json与类对象转换
- 【转】CodeIgniter配置之database
- SCOI2014 方伯伯的OJ onlinejudge
- maven01 hello maven
- PHP判断是中文还是英文
- 新的方法 (New Approach)¶
- Linux常用命令整理
- Android - 自定义控件之圆形控件
- python3 error 机器学习 错误
- ALTER添加列后,立即UPDATE该列会报错
- [sh]rm -rf*的防护和普通用户执行命令
- Java 继承extends、关键字super和this、多态、动态绑定
- python学习笔记_week5_模块
- 安装php_sqlsrv扩展
- 【JAVA】枚举