背景:要迁移数据库,需要创建与源库相同的表空间,大小与源库相同。由于个别表空间较大,手工添加可能需要写很多的脚本,于是同事通过PL/SQL解决了问题。
但实际上通过一条SQL就可以搞定
创建表空间——添加数据文件,直到与源库大小相同
查询源表空间的大小;
生成文件列表<最大文件数为1024>;
进行关联
SQL如下:
col sqltext for a999 with t as (select tablespace_name tsname, round(sum(bytes) / 1024 / 1024 / 1024) gb from dba_data_files group by tablespace_name), t2 as (select rownum n from dual connect by rownum < 1024) select decode(b.n, 1,'create tablespace','alter tablespace')|| a.tsname || ' datafile''+DATADG''size 30G;'sqltxt from t a, t2 b where 30 * b.n < a.gb order by a.tsname, b.n;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




