运行以下脚本后,输出文件中语句末尾缺少分号。我怎样才能打印出分号?在这种情况下,AUTO
之后和RESIZE 146800640
之后应该有一个半冒号
sqlplus -s sys/${sysPwd}@${srcSID} as sysdba<<-EOF>createTS.sql
SET SERVEROUTPUT ON
SET HEADING OFF
SET FEEDBACK OFF
SET LONG 9999
SET LINESIZE 999
SET LONGCHUNKSIZE 350
SET PAGESIZE 10000
SELECT DBMS_METADATA.GET_DDL('TABLESPACE','$srcTablespace') FROM DUAL;
quit;
EOF
Cat结果文件:createTS.sql
CREATE BIGFILE TABLESPACE "TSName" DATAFILE
'/hostname/db/SID/oradata1/tsname.dbf' SIZE 5242880
AUTOEXTEND ON NEXT 5242880 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO
ALTER DATABASE DATAFILE
'/hostname/db/SID/oradata1/tsname.dbf' RESIZE 146800640
答案 0 :(得分:1)
您需要将the dbms_metadata
documentation从其默认false值更改为true,您可以在查询之前使用匿名PL / SQL块执行此操作:
eclipse plug-in
或者你可以使用BEGIN
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,
'SQLTERMINATOR', true);
END;
/
SELECT DBMS_METADATA.GET_DDL('TABLESPACE','$srcTablespace') FROM DUAL;
SQL * Plus的简写,但整个电话必须在一条线上。
有关exec
程序的详情,请参阅{{3}}。