Oracle数据库批量创建表空间
我们在项目中可能会发生这样一种情况,需要将某一个外库导出来的dmp文件恢复到自己的库中,便于查看数据,这时候就有可能会出现需要建立多表空间的情况。这里有两种可能,一种是已知表空间名的情况,另一种就是连表空间名都完全不知道的,以上两种情况第一种毫不费力,第二种就只能完全靠笨办法,试着导入文件到自己的库中,根据导入报的错来确定表空间名(报错会有提示),不然没有创建需要的表空间导入会一直出错,数据无法导入进数据库。这确实是个大工程,但是如果确实也没人给你所有的表空间,那就只有靠这种笨办法来了。 批量创建表空间 1、先在数据库中创建一张表,需要一个字段来存放表空间名 e.g. create table tablespace_name(name varchar2(10)); 2、将所有表空间名放入一个文件中(如txt)创建数据库表,插入到新建的表中 例如我这里是需要新建50个表空间,那就需要把所有的表空间名放在txt文件中,格式如下: 3、在Oracle连接工具(developer/Navicat等)中执行表空间创建语句 select 'create tablespace ' || name|| ' datafile ''D:\oracle\oradata\test' || name|| '.dbf'' size 100m autoextend on next 50mmaxsize unlimited' from tablespace_name; 4、将执行的结果放进一个sql文件,登录到相应数据库用户执行sql文件 执行sql文件的命令:@sql文件所在位置 至此,批量的表空间已经被创建好啦! (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |