精华网络内容 :http://www.qqread.com/network/
大家需要注意,这个查询是需要临时表空间的,所以如果临时表空间不够查询就会有问题了:
| SQL> @C:\TEMP\get_obj_sql.sql SQL> set heading off echo off pages 10000 long 90000 输入 object_type 的值: TABLE 输入 object_name 的值: DEPT 输入 object_owner 的值: LUNAR 原值 1: select dbms_metadata.get_ddl(upper('&OBJECT_TYPE'),upper('&OBJECT_NAME'),upper('&OBJECT_O WNER')) from dual 新值 1: select dbms_metadata.get_ddl(upper('TABLE'),upper('DEPT'),upper('LUNAR')) from dual ERROR: ORA-25153: 临时表空间为空 ORA-06512: 在"SYS.DBMS_LOB", line 424 ORA-06512: 在"SYS.DBMS_METADATA", line 557 ORA-06512: 在"SYS.DBMS_METADATA", line 1221 ORA-06512: 在line 1 未选定行 SQL> SQL> SELECT NAME FROM V$TEMPFILE; 未选定行 SQL> SELECT NAME FROM V$TABLESPACE; NAME ------------------------------ SYSTEM UNDOTBS1 TEMP INDX USERS SQL> ALTER TEMPORARY TABLESPACE TEMP ADD TEMPFILE 'D:\oracle92\oradata\test1\TEMP01.DBF' SIZE 10M; ALTER TEMPORARY TABLESPACE TEMP ADD TEMPFILE 'D:\oracle92\oradata\test1\TEMP01.DBF' SIZE 10M * ERROR 位于第 1 行: ORA-00940: 无效的 ALTER 命令 SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\oracle92\oradata\test1\TEMP01.DBF' SIZE 10M; 表空间已更改。 SQL> @C:\TEMP\get_obj_sql.sql SQL> set heading off echo off pages 10000 long 90000 输入 object_type 的值: TABLE 输入 object_name 的值: EMP 输入 object_owner 的值: LUNAR 原值 1: select dbms_metadata.get_ddl(upper('&OBJECT_TYPE'),upper('&OBJECT_NAME'),upper('&OBJECT_O WNER')) from dual 新值 1: select dbms_metadata.get_ddl(upper('TABLE'),upper('EMP'),upper('LUNAR')) from dual CREATE TABLE "LUNAR"."EMP" ( "EMPNO" NUMBER(4,0) NOT NULL ENABLE, "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0) ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SYSTEM" SQL> SQL> |
dbms_metadata.get_ddl也可以用来查询其他对象的创建语句,使用的方法如下;
| select dbms_metadata.get_ddl('对象类型','对象名','用户名') from dual; |
例如:
| oracle@cs_db02:/arch1/lunar/tools > get_obj_sql.sh procedure aa misc Connected. CREATE OR REPLACE PROCEDURE "MISC"."AA" is begin delete from error_tip; end aa; |
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Oracle语句优化规则汇总(8) (17次浏览)
- Data Guard学习物理standby高级管理 (17次浏览)
- 基于SQL几个常用的几个系统表 (15次浏览)
- 甲骨文如何解析语义谜题 (13次浏览)
- 一步一步配置Oracle Stream (11次浏览)
- 用“kill”命令终止“Oracle”的过程 (9次浏览)
- 如何查找运行系统里的“bad sql”语句 (9次浏览)
- 讲解“Oracle”下导出某用户所有表的方法 (8次浏览)
- Oracle语句优化规则汇总(5) (8次浏览)
- Oracle更新操作优化 (8次浏览)



