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

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

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

    JBOSS 點滴

    豐豐的博客

    oracle數(shù)據(jù)庫還原,如何將dmp文件還原到oralce庫

    來原:http://blog.csdn.net/sunbingzibo/archive/2007/06/15/1653794.aspx
    最近用到從oracle的dmp文件中還原數(shù)據(jù)
    由于沒有這方面的資料,在網(wǎng)上搜集了一些,相信有以下這些資料,我們可以成功地將dmp文件用命令行的方式還原回去


    在這里我用的是oracle10g的版本,我的機器是512內(nèi)存的,運行oracle的web管理程序有一些困難,所以我選擇通過命令行的方式,
    以下我的安裝完成后,oracle給出的報告


    Enterprise Manager Database Control URL - (orcl) :
    http://localhost:1158/em


    數(shù)據(jù)庫配置文件已經(jīng)安裝到
    E:\oracle\product\10.2.0,


    同時其他選定的安裝組件也已經(jīng)安裝到
    E:\oracle\product\10.2.0\db_1。


    iSQL*Plus URL 為:
    http://localhost:5560/isqlplus


    iSQL*Plus DBA URL 為:
    http://localhost:5560/isqlplus/dba

    下面我們來看一看如何來完成這一任務(wù)

    第一,啟動服務(wù),(如果數(shù)據(jù)庫處于啟動狀態(tài),那么略過這一步)

    打開命令行執(zhí)行以下語句
    net start OracleServiceORCL
    net start  OracleOraDb10g_home2TNSListener
    net start OracleOraDb10g_home2iSQL*Plus

     
      以上方式是在windows服務(wù)中啟動服務(wù),當(dāng)windows服務(wù)不能啟動數(shù)據(jù)庫實例的時候,應(yīng)用以下的語句
      set oracle_sid=orcl
      oradim -startup -sid orcl

      sqlplus internal/oracle
      startup
     

    第二清理以前還原過的痕跡,如果我們在數(shù)據(jù)庫曾經(jīng)還原過,我們先來清理一下,痕跡,
        //刪除用戶
        drop user xxxx cascade;
        //刪除表空間
        drop tablespace xxxx;

    DROP TABLESPACE <tablespace name> INCLUDING CONTENTS;


        //刪除數(shù)據(jù)庫文件
        e:\xxxxxx.dbf


    第三,接下來,準(zhǔn)備工作做好后,我們就可以開始還原了
    //創(chuàng)建用戶
    CREATE USER 用戶名 IDENTIFIED BY 密碼 DEFAULT TABLESPACE  USERS TEMPORARY TABLESPACE TEMP
     
    //給予用戶權(quán)限
    grant connect,resource,dba to xxxx
     

    //創(chuàng)建表空間,并指定文件名,和大小
    CREATE SMALLFILE TABLESPACE "xxxx" DATAFILE 'E:\ORADATA\ORCL\xxxx.DBF'
     SIZE 100M
     AUTOEXTEND ON NEXT 100M
     MAXSIZE UNLIMITED
     LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

    //執(zhí)行給予權(quán)限的腳本grant.txt,將權(quán)限給予剛才創(chuàng)建的用戶
    //給予權(quán)限
    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 xxxx


    //開始導(dǎo)入(完全導(dǎo)入),file:dmp文件所在的位置, ignore:因為有的表已經(jīng)存在,對該表就不進行導(dǎo)入。
       在后面加上 ignore=y 。指定log文件 log=e:\log.txt
    imp user/pass@orcl full=y file=e:\xxx.dmp ignore=y log=e:\log.txt

    //當(dāng)我們不需要完整的還原數(shù)據(jù)庫的時候,我們可以單獨地還原某個特定的表
    //---------------------------------------------------------------------------
    imp user/pass@datbase file=e:\xxx.dmp ignore=y log=e:\log.txt tables=(xxxx)
    imp user/pass@database file=e:\xxx.dmp ignore=y log=e:\log2.txt tables=(xxxx)
    //---------------------------------------------------------------------------

    //做到這里我們就已經(jīng)完成了,數(shù)據(jù)庫的還原工作,下面我們就可以打開isqlplus查看表中的數(shù)據(jù)了
     
    select * from ***
     

    第四我們來看一下,對oracle常用的操作命令
    1)查看表空間的屬性
     select tablespace_name,extent_management,allocation_type from dba_tablespaces


    2)查找一個表的列,及這一列的列名,數(shù)據(jù)類型
     select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where TABLE_NAME='xxxx'

     
    3)查找表空間中的用戶表
     select * from all_tables where owner='xxx' order by table_name desc

    4)在指定用戶下,的表的數(shù)量
     select count(*) from user_tab_columns
     

    5)查看數(shù)據(jù)庫中的表名,表列,所有列
     select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns order by table_name desc

    6)查看用戶ZBFC的所有的表名及表存放的表空間
     select table_name,tablespace_name from all_tables where owner='xxxx' order by table_name desc
    7)生成刪除表的文本
    select 'Drop   table '||table_name||';' from all_tables where owner="ZBFC";

    8)刪除表級聯(lián)刪除
    drop table table_name [cascade constraints];

    9)查找表中的列
    select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where column_name like '%'||'地'||'%' order by table_name

    desc
     

    10)查看數(shù)據(jù)庫的臨時空間
    select tablespace_name,EXTENT_SIZE,current_users,total_extents,used_extents,MAX_SIZE,free_extents from v$sort_segment;

     http://download1.csdn.net/down3/20070615/15202338310.txt


    作者在導(dǎo)入的過程中,還遇到了一個錯誤,就是數(shù)據(jù)違反了唯一性約束,數(shù)據(jù)庫拒絕了數(shù)據(jù)
    IMP-00019: 由于 ORACLE 的 1 錯誤而拒絕行
    在網(wǎng)上看到有人說,這是字符集的原因,所以我就新建了一個數(shù)據(jù)庫,將字符集改成了ZHS16GBK這樣,從新導(dǎo)了一次,結(jié)果就成功了

     下面是grant.txt腳本

    posted on 2010-09-19 14:42 半導(dǎo)體 閱讀(531) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 精品久久香蕉国产线看观看亚洲| 免费国产成人高清在线观看网站| 国产大片免费观看中文字幕| 亚洲一卡2卡3卡4卡5卡6卡| 国产高清免费视频| 久久久亚洲欧洲日产国码是AV| 青青操免费在线视频| 亚洲人色婷婷成人网站在线观看| 成人无码区免费A∨直播| 国产亚洲情侣一区二区无码AV| 国产人成网在线播放VA免费| 四虎影视在线永久免费看黄| 亚洲国产成人无码AV在线影院| 毛片a级毛片免费播放100| 亚洲午夜无码久久| 国产一级做a爱免费视频| 特级毛片aaaa级毛片免费| 亚洲一区二区三区乱码A| 三级黄色在线免费观看| 国产成人精品日本亚洲网站| 久久国产乱子伦免费精品| 亚洲午夜电影在线观看高清 | 久久久久免费看成人影片| 亚洲免费视频网站| 亚洲 小说区 图片区 都市| 国产亚洲情侣久久精品| 亚洲午夜久久久久久久久久| 香蕉成人免费看片视频app下载| 亚洲黄网在线观看| 国产特级淫片免费看| 成人免费夜片在线观看| 亚洲va久久久噜噜噜久久| 精品一区二区三区免费毛片爱| youjizz亚洲| 亚洲男人av香蕉爽爽爽爽| 成全视频免费观看在线看| 亚洲一级毛片免观看| 亚洲高清国产拍精品青青草原| 日韩人妻无码精品久久免费一| 在线aⅴ亚洲中文字幕| 亚洲天堂免费在线视频|