Sri*_*asu 1 oracle scripting tablespace
我使用以下脚本生成DDL以在数据库中创建表空间.
select 'create tablespace ' || df.tablespace_name || chr(10)
|| ' datafile ''' || df.file_name || ''' size ' || df.bytes
|| decode(autoextensible,'N',null, chr(10) || ' autoextend on maxsize '
|| maxbytes)
|| chr(10)
|| 'default storage ( initial ' || initial_extent
|| decode (next_extent, null, null, ' next ' || next_extent )
|| ' minextents ' || min_extents
|| ' maxextents ' || decode(max_extents,'2147483645','unlimited',max_extents)
|| ') ;' "Script To Recreate Tablespaces"
from dba_data_files df, dba_tablespaces t
where df.tablespace_name=t.tablespace_name;
Run Code Online (Sandbox Code Playgroud)
它运作良好.但是当表空间包含两个数据文件时,它还会使用create tablespace创建单独的命令.如果表空间包含两个数据文件,它只创建两个create tablespace命令.请分享你的想法.
干杯,
Srinivasan Thirunavukkarasu.
如果您只是尝试对现有表空间进行反向工程以生成脚本,为什么不使用DBMS_METADATA呢?
select dbms_metadata.get_ddl('TABLESPACE','yourTablespaceNameOfInterest')
from dual;
Run Code Online (Sandbox Code Playgroud)
如果需要,可以使用简单的包装器为数据库中的每个表空间生成其中一个语句.
| 归档时间: |
|
| 查看次数: |
20518 次 |
| 最近记录: |