SQL*PLUS與服務管理器、導入imp導出exp

SQL*PLUS與服務管理器
  註釋行  前面加REM或--
  SQL*PLUS不允許空白行 可以設置SET SQLBLANKLINES ON
  替代變量& 可以用SET DEFINE OFF 關閉替代變量
  繼續字符-
  結束符;或/
  行編輯命令:L (n m)列出緩衝區的n至m行
             C/x/y  把一行中第一次出現的x換成y
             DEL (n m) 刪除緩衝區的n至m行
             I 在當前行下插入一個新行
             A 在當前行的末尾附加文本
  SAVE D:/A.SQL (REPLACE) 保存文件
  GET D:/A.SQL 裝入緩衝區
  生成報表用COLUMN,TTITLE,BTITLE和SPOOL完成
    COLUMN columnname [HEADING headingtext] --標題如果有兩行用|分割
                      [FORMAT 格式][WORD_WRAPPED|TRUNCATED] --WORD_WRAPPED隱藏文本,TRUNCATED截斷
     如:COLUMN MARKINGGS_DESCRIPTION FORMAT A10 WORD_WRAP --則MARKINGGS_DESCRIPTION將會被隱藏10位以後的變成MARKINGGS_D
    用TTITLE創建頁眉或主題 SKIP 空行跳過 日期得用SQL語句得到
    SPOOL filename將報表寫入文件,通常是.lst或 .lis,用SPOOL OFF終止操作.
    BRE[AK] [ON report_element[action]....] 總結和中斷報表
      如:break on zbdm00 noduplicates skip 1 刪除列中的重複值
    COMP[UTE] [function [LABEL] text OF expression|column|alias ON expression|column|alias|REPORT|ROW] 總結報表
      如:COMPUTE COUNT OF ID_NO ON REPORT  --算出整個報表的總記錄數
         COMPUTE COUNT OF ID_NO ON C_NAME  --算出每個C_NAME的記錄數
    定義替代變量 DEF[INE] [variable=text]
    用雙&符變量表示不必爲同一個變量提示兩次.
    用@引用一個腳本文件.可以用SQLPLUS USERNAME/PASSWORD[@SERVIECE] @SCRIPT_FILE [變量(替代&1等)] 進行批處理
   
導出EXP
  幫助C:/>EXP HELP=Y
  EXP [username[/password[@service]]]要使用EXP,用戶必須擁有CREATE SESSION權限,只能執行自己所屬的對象,而擁有EXP_FULL_DATABASE角色則可以導出任何事情.
  FULL=Y 可以導出一個完整的數據庫.  用ROWS=N 則只導出定義不是數據.
  導出用戶: owner=(user1,user2...) 但不能得到同義詞,可CREATE PUBLIC SYNONMY創建.
  導出表: TABLES=table,TABLES=(tablename,tablename...)
  估計導出文件的大小:
     查詢DBA_SEGMENTS視圖:select sum(bytes) from dba_segments where segment_typ='TABLE' 查詢全部表的總字節數.
  導出路徑:普通導出和直接路徑導出(用DIRECT=Y,繞過對獨立行的估計,較快,用QUERY時或LOB列時不能使用)
  壓縮範圍:COMPRESS=Y,將把表的若干個小範圍重組成一個大範圍,如果大表的容量比自由空間還大,則COMPRESEE=N
  導出表的子集:用QUERY,如:EXP SYSTEM/MANAGER QUERY='WHERE ZTDM00=''1111''' TABLES=hsg4_jh.gstjygl0 FILE=AA LOG=AA
  用多個分割文件導出:如:exp system/manager file=(pay_1,pay_2,pay_3) log=pay,filesize=1g tables=hsg4_jh.gstjygl0,這將導出3個1G的文件
  使用參數文件.PAR,可以存 FIEL=AA LOG=AA TABLES=(AA,,,....) 等,導出的時候用exp system/manager parfile=aa.par
 
導入IMP
  幫助C:/>IMP HELP=Y
  IMP [username[/password[@service]]]要使用IMP,用戶必須擁有CREATE SESSION權限,只能執行自己所屬的對象,而擁有IMP_FULL_DATABASE角色則可以導入任何事情.
  FULL=Y 可以導入一個完整的數據庫.  用IGNORE=Y忽略錯誤信息
  導入用戶: FROMUSER=(username,username...),在導入用戶前必須創建指定的用戶,一定要得到基於導入對象的用戶的CREATE權限的認可.
  將一個用戶數據導入另一個用戶:FROMUSER=(username,username...) TOUSER=(username,username...),FROMUSER中如果在TOUSER中沒有對應的用戶將默認爲本用戶.這種方法通常用來複制模式的備份.
  導出表: TABLES=table,TABLES=(tablename,tablename...),但不能用TABLES=HSG4.AA,要FROMUSER=HSG4 TABLES=AA
  使用導入選項
    忽略創建錯誤:IGNORE=Y,如表已經創建,忽略錯誤將繼續插入表數據,如果沒有忽略這個表將跳過去而沒有數據
    生成CREATE INDEX語句:用INDEXFILE參數運行IMP:imp system/manager@xsgs indexfile=aa_indexes.sql fromuser=hsg4 file=aa log=aa
       這樣將導出一個aa_indexes.sql的創建索引的文件,然後運行IMP,用IGNORE=Y和INDEXES=N,將數據裝入已創建的沒有索引的表,最後運行aa_indexes.sql腳本創建索引.
  用多個分割文件導入:如:IMP system/manager@XSGS file=(pay_1,pay_2,pay_3) FULL=Y,filesize=1g
  使用參數文件.PAR,可以存 FIEL=AA LOG=AA TABLES=(AA,,,....) 等,導入的時候用IMP system/manager parfile=aa.par
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章