1. 程式人生 > >Oracle中批量匯出Sequence

Oracle中批量匯出Sequence

 法一:

使用PL/sql登陸到資料庫後,
1、選擇tools->export user objects匯出來的是一個command檔案
2、要匯入,直接使用open一個command file就行了


法二:

使用exp工具,以tables的型別匯出某個使用者下所有的表和資料,發現其中sequence沒有被匯出。網上搜索之,發現toad貌似有此功能,於是安裝了9.6.1.1版本,結果居然沒發現此功能。(可能是我沒找到,至少和那位老大的截圖不同),最後找到如下指令碼,可以將某個使用者的全部sequence查詢出來,並拼成建立語句。

程式碼如下:

  1. select  'create sequence '
    ||sequence_name||   
  2.         ' minvalue ' ||min_value||   
  3.         ' maxvalue ' ||max_value||   
  4.         ' start with ' ||last_number||   
  5.         ' increment by ' ||increment_by||   
  6.        ( case  when cache_size= 0  then  ' nocache'   else   ' cache ' ||cache_size end) || ';'   
  7. from dba_sequences where sequence_owner= 'HR'
       

注意:其中的HR,是需要匯出sequence的使用者,貌似必須大寫的說!並且使用該指令碼的使用者需要有訪問dba_sequences的許可權。

匯出結果如下:

  1. create sequence HIBERNATE_SEQUENCE minvalue  1  maxvalue  999999999999999999999999999  start with  1  increment by  1  cache  20 ;   
  2. create sequence MIAGENTVERSION_VERSION_SEQ minvalue  1  maxvalue  999999999999999999999999
     start with  121  increment by  1  cache  20