<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Rex

    ——生命不止,奮斗不息。
    posts - 27, comments - 8, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    oracle數據庫的部分指令

    Posted on 2006-10-20 14:37 W.R 閱讀(964) 評論(0)  編輯  收藏 所屬分類: 支持技術

    導入命令:
      將D:\daochu.dmp 中的數據導入 TEST數據庫中
        imp system/triman@CTL file=file=d:\daochu.dmp ignore=y
      將d:\daochu.dmp中的表table1 導入
        imp system/triman@CTL  file=d:\daochu.dmp  tables=(table1)
    導出命令:
      將數據庫CTL完全導出,用戶名system 密碼triman 導出到D:\daochu.dmp中
        exp system/triman@CTL file=d:\daochu.dmp full=y
      將數據庫中system用戶與sys用戶的表導出
        exp system/triman@CTL file=d:\daochu.dmp owner=(system,sys)
      將數據庫中的表GIS_IDD_INFO、GIS_IDD_AID導出
        exp system/triman@CTL file=d:\data\gisidd.dmp tables=(GIS_IDD_INFO,GIS_IDD_AID)
      將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
        exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"       
        tnsping TEST
      壓縮參數 compress=y
       
    1)“完全”增量導出(Complete)

        即備份整個數據庫,比如:

            $exp system/manager inctype=complete file=990702.dmp

         (2)“增量型”增量導出

            備份上一次備份后改變的數據。比如:

            $exp system/manager inctype=incremental file=990702.dmp

         (3)“累計型”增量導出(Cumulative)

            累計型導出方式只是導出自上次“完全” 導出之后數據庫中變化了的信息。比如:

            $exp system/manager inctype=cumulative file=990702.dmp

    數據導出:
     1 將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:\daochu.dmp中
       exp system/manager@TEST file=d:\daochu.dmp full=y
     2 將數據庫中system用戶與sys用戶的表導出
       exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
     3 將數據庫中的表inner_notify、notify_staff_relat導出
        exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
     4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
       exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
    數據的導入
     1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。
       imp system/manager@TEST  file=d:\daochu.dmp
       imp aichannel/aichannel@HUST full=y  file=file= d:\data\newsmgnt.dmp ignore=y
       上面可能有點問題,因為有的表已經存在,然后它就報錯,對該表就不進行導入。
       在后面加上 ignore=y 就可以了。
     2 將d:\daochu.dmp中的表table1 導入
     imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)
     
     基本上上面的導入導出夠用了。不少情況要先是將表徹底刪除,然后導入。
     
     注意:
     操作者要有足夠的權限,權限不夠它會提示。
     數據庫時可以連上的。可以用tnsping TEST 來獲得數據庫TEST能否連上。

    參數說明
    1. ignore參數
    Oracle在恢復數據的過程中,當恢復某個表時,該表已經存在,就要根據ignore參數的設置來決定如何操作。
    若ignore=y,Oracle不執行CREATE TABLE語句,直接將數據插入到表中,如果插入的記錄違背了約束條件,比如主鍵約束,則出錯的記錄不會插入,但合法的記錄會添加到表中。
    若ignore=n,Oracle不執行CREATE TABLE語句,同時也不會將數據插入到表中,而是忽略該表的錯誤,繼續恢復下一個表。
    2. indexes參數
    在恢復數據的過程中,若indexes=n,則表上的索引不會被恢復,但是主鍵對應的唯一索引將無條件恢復,這是為了保證數據的完整性。

    字符集轉換
    對于單字節字符集(例如US7ASCII),恢復時,數據庫自動轉換為該會話的字符集(NLS_LANG參數);對于多字節字符集(例如ZHS16CGB231280),恢復時,應盡量使字符集相同(避免轉換),如果要轉換,目標數據庫的字符集應是輸出數
    據庫字符集的超集。

    附錄一:
     給用戶增加導入數據權限的操作
     第一,啟動sql*puls
     第二,以system/manager登陸
     第三,create user 用戶名 IDENTIFIED BY 密碼 (如果已經創建過用戶,這步可以省略)
     第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
       DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
          DBA,CONNECT,RESOURCE,CREATE SESSION  TO 用戶名字
     第五, 運行-cmd-進入dmp文件所在的目錄,
          imp userid=system/manager full=y file=*.dmp
          或者 imp userid=system/manager full=y file=filename.dmp

     執行示例:
     F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp

    屏幕顯示
    Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
    (c) Copyright 2000 Oracle Corporation.  All rights reserved.

    連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - Production

    經由常規路徑導出由EXPORT:V08.01.07創建的文件
    已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導入
    導出服務器使用UTF8 NCHAR 字符集 (可能的ncharset轉換)
    . 正在將AICHANNEL的對象導入到 AICHANNEL
    . . 正在導入表                  "INNER_NOTIFY"          4行被導入
    準備啟用約束條件...
    成功終止導入,但出現警告。

     

    附錄二:
     Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.
      先建立import9.par,
      然后,使用時命令如下:imp parfile=/filepath/import9.par
      例 import9.par 內容如下:
            FROMUSER=TGPMS       
            TOUSER=TGPMS2     (注:把表的擁有者由FROMUSER改為TOUSER,FROMUSER和TOUSER的用戶可以不同)          
            ROWS=Y
            INDEXES=Y
            GRANTS=Y
            CONSTRAINTS=Y
            BUFFER=409600
            file==/backup/ctgpc_20030623.dmp
            log==/backup/import_20030623.log
       imp可能出現的問題

    (1) 數據庫對象已經存在
    一般情況, 導入數據前應該徹底刪除目標數據下的表, 序列, 函數/過程,觸發器等;  
    數據庫對象已經存在, 按缺省的imp參數, 則會導入失敗
    如果用了參數ignore=y, 會把exp文件內的數據內容導入
    如果表有唯一關鍵字的約束條件, 不合條件將不被導入
    如果表沒有唯一關鍵字的約束條件, 將引起記錄重復

    (2) 數據庫對象有主外鍵約束
           不符合主外鍵約束時, 數據會導入失敗
           解決辦法: 先導入主表, 再導入依存表
    disable目標導入對象的主外鍵約束, 導入數據后, 再enable它們
    (3)   權限不夠
    如果要把A用戶的數據導入B用戶下, A用戶需要有imp_full_database權限

    (4)   導入大表( 大于80M ) 時, 存儲分配失敗
           默認的EXP時, compress = Y, 也就是把所有的數據壓縮在一個數據塊上.
           導入時, 如果不存在連續一個大數據塊, 則會導入失敗.
           導出80M以上的大表時, 記得compress= N, 則不會引起這種錯誤.

    (5) imp和exp使用的字符集不同
           如果字符集不同, 導入會失敗, 可以改變unix環境變量或者NT注冊表里NLS_LANG相關信息.
           導入完成后再改回來.

    (6) imp和exp版本不能往上兼容
    imp可以成功導入低版本exp生成的文件, 不能導入高版本exp生成的文件
    根據情況我們可以用
    $ imp username/password@connect_string
    說明: connect_string 是在/ORACLE_HOME/network/admin/tnsnames.ora
        定義的本地或者遠端數據庫的名稱
    注意事項:
    UNIX: /etc/hosts            要定義本地或者遠端數據庫服務器的主機名
    win98:     windows\hosts              和IP地址的對應關系  

    主站蜘蛛池模板: 亚洲人成影院77777| 久久久亚洲裙底偷窥综合| 国产亚洲人成在线播放| 免费无码又爽又刺激毛片| 亚洲中文字幕无码av| 午夜a级成人免费毛片| 亚洲国产日韩a在线播放| 免费观看男人免费桶女人视频 | 亚洲精品无码久久久久牙蜜区| 中文字幕影片免费在线观看| 亚洲mv国产精品mv日本mv| 最新猫咪www免费人成| 亚洲成a人无码亚洲成av无码| 日韩免费a级在线观看| 免费看又黄又爽又猛的视频软件| 亚洲av日韩片在线观看| 一级特黄录像免费播放肥| 亚洲高清国产AV拍精品青青草原| 91精品国产免费久久国语蜜臀 | 大地资源二在线观看免费高清| 亚洲AV成人一区二区三区在线看 | 亚洲精品在线免费观看| 97人伦色伦成人免费视频| 国产精品成人亚洲| 亚洲综合色自拍一区| 中文字幕在线免费| 中文字幕无码精品亚洲资源网久久| 日本媚薬痉挛在线观看免费| j8又粗又长又硬又爽免费视频| 亚洲激情中文字幕| 无人在线观看完整免费版视频| 色费女人18女人毛片免费视频| 亚洲国产婷婷六月丁香| 国产精品久久久久免费a∨| 国产亚洲美女精品久久久久| 亚洲成a人片在线观看无码| 永久免费AV无码国产网站| 国产精品一区二区三区免费| 亚洲精品国产专区91在线| 国产一区二区三区无码免费| 精品视频在线免费观看|