這篇文章主要介紹“Linux下Oracle數據庫怎么導入或導出單個表”,在日常操作中,相信很多人在Linux下Oracle數據庫怎么導入或導出單個表問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux下Oracle數據庫怎么導入或導出單個表”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
創(chuàng)新互聯專注于企業(yè)營銷型網站、網站重做改版、安慶網站定制設計、自適應品牌網站建設、H5高端網站建設、商城建設、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為安慶等各大城市提供網站開發(fā)制作服務。事情的原委是這樣:用戶的庫,要在一個表里面進行標簽替換,在寫sql的時候,大意了,沒注意字符轉義,結果執(zhí)行完sql,出事了,將一個內容表里的信息,全部替換成空了~還好有備份;
計劃是這樣,先備份目前的庫,之后將前一天晚上的備份恢復進去,把該表里的數據導出,在將現在的備份恢復,用昨天晚上的單表備份,將現在的問題表替換,這樣就保證的數據的相對完整,因為出事的時候,已經是快下班5點多,白天一天,用戶已經完善了好多信息,但該表里的數據,就只能是昨天的了,估計會丟失幾條數據,也沒辦法了~開始整;
首先,執(zhí)行最新數據庫備份,使用exp,將庫做備份;
第二步,拿到昨天晚上的備份文件dmp文件,(我的項目都做有定時自動備份,這個是很有必要的,每天晚上2點半自動備份庫,保留最新5天備份)這個時候,我的做法是將目前的庫直接停掉,重新建庫,因為你用imp恢復的時候,你現在的庫里是有表的,執(zhí)行imp會失??;
做法:停監(jiān)聽,停庫,之后將oracle mv 為 oracle_日期,貼一下代碼,
su - oracle //登錄oracle lsnrctl stop //停止監(jiān)聽 sqlplus "/as sysdba" //進入數據庫 shutdown immediate //停止數據庫 exit //退出oracle cd /oracle //進入目錄 mv oracle oracle_20170119 //重命名老的oracle tar -zxvf oracle11g.tar.gz //解壓包解壓之后,重新登錄庫,修改配置文件
su - oracle //登錄oracle vi .bash_profile //修改配置文件 以下為文件內容 # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH unset USERNAME export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/11.1.0/db_1 export ORACLE_SID=orcl export ORACLE_TERM=xterm export NLS_LANG=AMERICAN export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib export PATH=$ORACLE_HOME/bin:$PATH 保存完后執(zhí)行 source .bash_profile lsnrctl start //啟監(jiān)聽 sqlplus "/as sysdba" //進入數據庫 startup //啟動數據庫,然后執(zhí)行下面4名命令,創(chuàng)建實例,一個一個執(zhí)行 create tablespace oracle datafile '/oracle/oracle/oradata/orcl/oracle.dbf' size 2048M; create user oracle identified by oracle default tablespace oracle; grant connect,resource to oracle; grant dba to oracle;上面的4行命令,主要是新建表空間,之后建用戶,我的賬號密碼都用的oracle,數據庫也是oracle
執(zhí)行完成,exit退出到oracle用戶下,因為之前執(zhí)行的都是sql,都是在sql>下進行的;
cp 前一天的備份,到當前目錄,之后執(zhí)行導入;
imp oracle/oracle file=oracle_20170118.dmp fromuser=oracle touser=oracle rows=y導入之后,可以啟動web服務看看是否讀庫正常,正常表示剛才的操作都是成功的;接下來進行最重要的一步,導出單個表;我要導出cms_gk這個表
exp oracle/oracle file=/oracle/backup/oracle_20170118_cms_gk.dmp tables=CMS_GK這里,利用tables這個屬性,就可以直接導出單個表了;
之后拿到cms_gk表,將數據庫在恢復到下午出問題的時候,因為除了這個表,其他表里面的數據,都是最新的;繼續(xù)執(zhí)行停監(jiān)聽,停庫,將剛才的oracle mv 為 oracle_20170118,將之前的oracle_日期文件夾mv為oracle,因為之前的庫,沒有動什么,里面的表什么都是完整的,所以將oracle恢復之后,就能直接起庫了,起來后,登錄數據庫,在sql>里執(zhí)行導入;
imp oracle/oracle file=oracle_20170118_cms_gk.dmp fromuser=oracle touser=oracle tables=CMS_GK導入之后,可以用Navicat鏈接數據庫查看下,或者啟動we'b服務,看下是否有信息,我操作到此時,已經將信息成功還原進去了;最后問題算是解決了,丟失了一個表里面的部分數據,算是最小損失了吧 !
到此,關于“Linux下Oracle數據庫怎么導入或導出單個表”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享文章:Linux下Oracle數據庫怎么導入或導出單個表-創(chuàng)新互聯
文章分享:http://www.rwnh.cn/article42/cceoec.html
成都網站建設公司_創(chuàng)新互聯,為您提供企業(yè)網站制作、外貿建站、微信小程序、用戶體驗、建站公司、網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯