Oracle中批量匯出Sequence
阿新 • • 發佈:2019-01-05
法一:
使用PL/sql登陸到資料庫後,
1、選擇tools->export user objects匯出來的是一個command檔案
2、要匯入,直接使用open一個command file就行了
法二:
使用exp工具,以tables的型別匯出某個使用者下所有的表和資料,發現其中sequence沒有被匯出。網上搜索之,發現toad貌似有此功能,於是安裝了9.6.1.1版本,結果居然沒發現此功能。(可能是我沒找到,至少和那位老大的截圖不同),最後找到如下指令碼,可以將某個使用者的全部sequence查詢出來,並拼成建立語句。
程式碼如下:
- select 'create sequence '
- ' minvalue ' ||min_value||
- ' maxvalue ' ||max_value||
- ' start with ' ||last_number||
- ' increment by ' ||increment_by||
- ( case when cache_size= 0 then ' nocache' else ' cache ' ||cache_size end) || ';'
- from dba_sequences where sequence_owner= 'HR'
注意:其中的HR,是需要匯出sequence的使用者,貌似必須大寫的說!並且使用該指令碼的使用者需要有訪問dba_sequences的許可權。
匯出結果如下:
- create sequence HIBERNATE_SEQUENCE minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 cache 20 ;
- create sequence MIAGENTVERSION_VERSION_SEQ minvalue 1 maxvalue 999999999999999999999999