免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3469 | 回复: 14
打印 上一主题 下一主题

用PL/SQL写的自动创建200个datafile文件,哪位兄台帮忙检查下错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-02 11:28 |只看该作者 |倒序浏览
  1. set serveroutput on;
  2. declare
  3. i number;
  4. s varchar(200);
  5. begin
  6. i:=4;
  7. loop
  8. s:='alter tablespace USERS add datafile '||"'/home/oracle/oradata/radius/chinaunix'||i||'.dbf"'||' size 200k';
  9. execute immediate s;
  10. while i<=200 loop
  11. i:=i+1;
  12. end loop;
  13. end;
复制代码
执行出错,貌似语法些错了
  1. ERROR:
  2. ORA-01756: quoted string not properly terminated


  3. SQL> !oerr ora 01756                                                            
  4. 01756, 00000, "quoted string not properly terminated"
  5. // *Cause:
  6. // *Action:
复制代码

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2010-11-02 12:26 |只看该作者
ERROR:
ORA-01756: 引号内的字符串没有正确结束

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
3 [报告]
发表于 2010-11-02 12:44 |只看该作者
楼主的语法有问题,被你误导了。呵呵 。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
4 [报告]
发表于 2010-11-02 12:51 |只看该作者
  1. [/code]楼主有两点错误:
  2. 1、LOOP语法不对,
  3. 2、ORACLE的SQL、PLSQL里不能用双引号。呵呵。
  4. 正确的SQL段:
  5. [code]declare
  6. i number;
  7. s varchar(200);
  8. begin
  9.     i:=4;
  10.     while i<=200 loop
  11.         s:='alter tablespace USERS add datafile /home/oracle/oradata/radius/chinaunix'||i||'.dbf'' size 200k';
  12.         dbms_output.put_line(s);
  13.         execute immediate s;
  14.         i:=i+1;
  15.     end loop;
  16. end;
复制代码
另:好像有最大文件限制,我添加到195时就不行了。出现
第 1 行出现错误:
ORA-00059: 超出 DB_FILES 的最大值
ORA-06512: 在 line 9

这个是不是要在初始化参数设置。

论坛徽章:
0
5 [报告]
发表于 2010-11-02 20:34 |只看该作者
楼主的语句写错了:
s:='alter tablespace USERS add datafile '||"'/home/oracle/oradata/radius/chinaunix'||i||'.dbf"'||' size 200k';

论坛徽章:
0
6 [报告]
发表于 2010-11-02 20:35 |只看该作者
另:好像有最大文件限制,我添加到195时就不行了。出现
这个是不是要在初始化参数设置。
renxiao2003 发表于 2010-11-02 12:51



    最大文件限制还是文件数限制?

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
7 [报告]
发表于 2010-11-02 21:55 |只看该作者
回复 6# 拿钱发帖死全家


    应该是最大文件数。

论坛徽章:
0
8 [报告]
发表于 2010-11-02 21:56 |只看该作者
回复  拿钱发帖死全家


    应该是最大文件数。
renxiao2003 发表于 2010-11-02 21:55



    恩,我说呢

论坛徽章:
3
CU大牛徽章
日期:2013-09-18 15:16:55CU大牛徽章
日期:2013-09-18 15:18:22CU大牛徽章
日期:2013-09-18 15:18:43
9 [报告]
发表于 2010-11-03 09:06 |只看该作者
恩,我说呢
拿钱发帖死全家 发表于 2010-11-02 21:56



每个表空间支持 1023个数据文件

你这里创建到195个就不行了,是由于数据文件数目已经到达默认参数db_files值200

而你的system\sysaux\temp\undo\等数据文件占了五个,所以你现在只能创建剩下的195个。(如果不修改这个参数的话)

论坛徽章:
0
10 [报告]
发表于 2010-11-04 13:57 |只看该作者
用一条sql就可以搞定了:

select 'alter tablespace USERS add datafile'||' /home/oracle/oradata/radius/chinaunix'||level||'.dbf size 200k' as result
from dual connect by level<=200
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP