一般來(lái)說(shuō),把表格、索引以及存儲(chǔ)過(guò)程的dll轉(zhuǎn)換成平面文件(flat file)是一個(gè)痛苦的過(guò)程。oracle9i在其dbms_metadata軟件包中提供了get_ddl函數(shù)來(lái)拷貝字典的ddl句法。
盡管新的存儲(chǔ)字句以及高級(jí)參數(shù)的不斷出現(xiàn),得到表格和索引的定義仍舊是一個(gè)問(wèn)題。在oracle9i出現(xiàn)之前,dba通常不得不在一個(gè)特定庫(kù)中保存ddl的源代碼。由于dba必須分別維護(hù)和管理該數(shù)據(jù)字典中的不同版本的表格和索引ddl,這樣的日子可是不太好過(guò)的。
但是從oracle9i開始,dba可以保存數(shù)據(jù)字典中的所有表格和索引定義,并且無(wú)論何時(shí)需要遷移對(duì)象都可以用get_ddl函數(shù)來(lái)得到拷貝。
下面是get_ddl函數(shù)的一個(gè)例子。它非常簡(jiǎn)單易用,而且它只需要object_type和object_name這兩個(gè)輸入?yún)?shù)。請(qǐng)確保把行值設(shè)置為一個(gè)較大的數(shù)值:get_ddl返回一個(gè)clob數(shù)據(jù)類型,你可以用sql *plus來(lái)顯示結(jié)果集合。
set lines 90000
spool sales_table_ddl.sql
select dbms_metadata.get_ddl('table','sales') from dual;
spool off;
新聞熱點(diǎn)
疑難解答
圖片精選