ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÇáËÉÈ¡µÃOracle 9i½¨±íºÍË÷ÒýDDLÓï¾ä

·¢²¼Ê±¼ä:2007-03-31 00:31:48À´Ô´:ºìÁª×÷Õß:AssoonPro
¡¡¡¡ÎÒÃǶ¼ÖªµÀÔÚ9i֮ǰ£¬ÒªÏë»ñµÃ½¨±íºÍË÷ÒýµÄÓï¾äÊÇÒ»¼þºÜÂé·³µÄÊ¡£ÎÒÃÇͨ³£µÄ×ö·¨¶¼ÊÇͨ¹ýexport with rows=noÀ´µÃµ½£¬µ«ËüµÄÊä³öÒòΪ¸ñʽµÄÎÊÌâ²¢²»ÄÜÖ±½ÓÄÃÀ´Ó᣶øÁíÒ»ÖÖ·½·¨¾ÍÊÇд¸´ÔӵĽű¾À´²éѯÊý¾Ý×ֵ䣬µ«Õâ¶ÔÓÚÒ»ÉÔ΢¸´ÔӵĶÔÏó£¬ÈçIOTºÍǶÌ×±íµÈ£¬»¹ÊÇÎÞ·¨²éµ½¡£

¡¡¡¡´ÓÊý¾Ý×ÖµäÖлñµÃDDLÓï¾äÊǾ­³£ÒªÓõģ¬ÌرðÊÇÔÚϵͳÉý¼¶/Öؽ¨µÄʱºò¡£ÔÚOracle 9iÖУ¬ÎÒÃÇ¿ÉÒÔÖ±½Óͨ¹ýÖ´ÐÐdbms_metadata´ÓÊý¾Ý×ÖµäÖв鴦DDLÓï¾ä¡£Ê¹ÓÃÕâ¸ö¹¦ÄÜÇ¿´óµÄ¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔ»ñµÃµ¥¸ö¶ÔÏó»òÕû¸öSCHEMAµÄDDLÓï¾ä¡£×îºÃ²»¹ýµÄÊÇÒòΪËüʹÓÃÆðÀ´ºÜ¼òµ¥¡£

1¡¢»ñµÃµ¥¸ö±íºÍË÷ÒýDDLÓï¾äµÄ·½·¨£º

set heading off;

set echo off;

Set pages 999;

set long 90000;

spool get_single.sql

select dbms_metadata.get_ddl(TABLE,SZT_PQSO2,SHQSYS) from dual;

select dbms_metadata.get_ddl(INDEX,INDXX_PQZJYW,SHQSYS) from dual;

spool off;

¡¡¡¡ÏÂÃæÊÇÊä³ö¡£ÎÒÃÇÖ»Òª°Ñ½¨±í/Ë÷ÒýÓï¾äÈ¡³öÀ´ÔÚºóÃæ¼Ó¸ö·ÖºÅ¾Í¿ÉÒÔÖ±½ÓÔËÐÐÁË¡£

SQL> select dbms_metadata.get_ddl(TABLE,SZT_PQSO2,SHQSYS) from dual;

¡¡

CREATE TABLE SHQSYS.SZT_PQSO2

( PQBH VARCHAR2(32) NOT NULL ENABLE,

ZJYW NUMBER(10,0),

CGSO NUMBER(10,0) NOT NULL ENABLE,

SOLS VARCHAR2(17),

SORQ VARCHAR2(8),

SOWR VARCHAR2(8),

SOCL VARCHAR2(6),

YWHM VARCHAR2(10),

YWLX VARCHAR2(6)

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE DATA1

¡¡

SQL> select dbms_metadata.get_ddl(INDEX,INDXX_PQZJYW,SHQSYS) from dual;

¡¡

CREATE INDEX SHQSYS.INDXX_PQZJYW ON SHQSYS.SZT_PQSO2 (ZJYW)

PCTFREE 10 INITRANS 2 MAXTRANS 255

STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

TABLESPACE DATA1

SQL>

SQL> spool off;

¡¡¡¡2¡¢»ñµÃÕû¸öSCHEMA DDLÓï¾äµÄ·½·¨£º

set pagesize 0

set long 90000

set feedback off

set echo off

spool get_schema.sql

connect shqsys/shqsys@hawk1;

SELECT DBMS_METADATA.GET_DDL(TABLE,u.table_name)

FROM USER_TABLES u;

SELECT DBMS_METADATA.GET_DDL(INDEX,u.index_name)

FROM USER_INDEXES u;

spool off;

¡¡¡¡ÐèҪעÒâµÄÊÇ£¬µ±ÎÒÃǵıíÖÐÓÐÍ⽡£¨²ÎÕÕÔ¼Êø£©Ê±£¬ÎÒÃÇÐèÒªÅбð²ÎÕÕ±íÖ®¼äµÄ˳Ðò£¬È·±£Öؽ¨Ê±°´ÕÕºÏÀíµÄ˳Ðò½øÐС£Äã¿ÉÒÔͨ¹ý²éѯdba_constraints and dba_cons_columnsÀ´È·¶¨¸÷±íÖ®¼äµÄ˳Ðò£¬²»ÔÙÏêÊö¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ