请问oracle如何批量扩展通一个表空间?
比如A表空间 我需要到3T的容量 每个数据库文件30G 如何批量扩展?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
4条回答
默认
最新
改成这样就行:
#!/bin/bash
sqlplus / as sysdba <<EOF
spool ctbs.log
begin
for i in 31 .. 100 loop
execute immediate 'alter tablespace 表空间名称 add datafile ''数据文件路径/out'||i||'.dbf'' size 30G autoextend off';
end loop;
end;
/
spool off
EOF



具体数据文件路径,请根据自己环境进行更换!
评论
有用 0
sql查询拼接出来扩展sql,放后台跑一晚上,
文本工具批量生个也行,
这东西有一个就有一堆了,但是加文件就得一个一个来了
评论
有用 0alter tablespace xxx add datafile x01 size 30G;
alter tablespace xxx add datafile x02 size 30G;
这样一直写下去,100个作为一个txt。
@sql.txt然后过几个小时过来看
评论
有用 0✅正确答案:以下做一个测试!
1、先设置OMF参数:
alter system set db_create_file_dest='/oradata';

2、编写shell脚本 ctbs.sh
#!/bin/bash
sqlplus / as sysdba <<EOF
spool ctbs.log
begin
for i in 0 .. 100 loop
execute immediate 'alter tablespace 表空间名称 add datafile size 30G autoextend off';
end loop;
end;
/
spool off
EOF

3、后台运行
sh ctbs.sh &

如下,已成功添加:

等待执行完成即可,希望能帮助到你!动动小手点个采纳!
评论
有用 0展开全部评论(1条)
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏关闭问题
升级问题
追加悬赏
采集到收藏夹
收藏成功



