Heim >Datenbank >MySQL-Tutorial >Oracle 批量建表空间

Oracle 批量建表空间

WBOY
WBOYOriginal
2016-06-07 17:00:311511Durchsuche

最近遇到一个问题,就是在数据迁移的时候,要分析一下别人的表结构。当时把别人的库的表空间,表结构,数据导出来了一份。回来后

最近遇到一个问题,就是在数据迁移的时候,要分析一下别人的表结构。当时把别人的库的表空间,表结构,数据导出来了一份。回来后要把这些表空间创建到自己库中,用于分析以前的数据库。

我当时是把用户的表和表空间导入到一个csv文件中,把数据的前1000条导入dmp中。

表有一千多张,表空间有一百多个,要把这一百多个文件建立起来,要是一个一个的建会累死人,我就想能不能批量去创建表空间。于时我上网查了一下没有这方面的介绍。后来用了一种方法实现了。下面把这种方法介绍给大家:

1. 创建一张表,把表空间名导入到这张表中。

 create table space_name(

       name varchar2(20)

 )

2.把csv中空的表空间名导入到表中。

“Tools” --> "Text Importer"

出现如下的界面:

Oracle 批量建表空间

点击“红色区域”按钮,导入csv文件,,然后指定owner,表空间,表名,列名,字段类型。最后点击“Import”按钮,执行导入。

3. 执行如下Sql :

select 'create tablespace ' || name  || ' DATAFILE ''F:\OracleData\cdcdata\' || name || '01.dbf''  SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;'

from table_space

生成所有的创建表空间命令,然后把查询结果导出到sql 文件中,命名为“cdc_tablespaces_sql.sql”。

4. 执行 @E:\gavi\cdc_tablespaces_sql.sql,批量创建表空间。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn