久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux下Oracle數據庫怎么導入或導出單個表

150次閱讀
沒有評論

共計 2535 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章主要介紹“Linux 下 Oracle 數據庫怎么導入或導出單個表”,在日常操作中,相信很多人在 Linux 下 Oracle 數據庫怎么導入或導出單個表問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux 下 Oracle 數據庫怎么導入或導出單個表”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

事情的原委是這樣:用戶的庫,要在一個表里面進行標簽替換,在寫 sql 的時候,大意了,沒注意字符轉義,結果執行完 sql,出事了,將一個內容表里的信息,全部替換成空了~ 還好有備份;

計劃是這樣,先備份目前的庫,之后將前一天晚上的備份恢復進去,把該表里的數據導出,在將現在的備份恢復,用昨天晚上的單表備份,將現在的問題表替換,這樣就保證的數據的相對完整,因為出事的時候,已經是快下班 5 點多,白天一天,用戶已經完善了好多信息,但該表里的數據,就只能是昨天的了,估計會丟失幾條數據,也沒辦法了~ 開始整;

首先,執行最新數據庫備份,使用 exp,將庫做備份;

第二步,拿到昨天晚上的備份文件 dmp 文件,(我的項目都做有定時自動備份,這個是很有必要的,每天晚上 2 點半自動備份庫,保留最新 5 天備份)這個時候,我的做法是將目前的庫直接停掉,重新建庫,因為你用 imp 恢復的時候,你現在的庫里是有表的,執行 imp 會失敗;

做法:停監聽,停庫,之后將 oracle mv 為 oracle_日期,貼一下代碼,

su - oracle // 登錄 oracle
lsnrctl stop // 停止監聽
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
# 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
保存完后執行  source .bash_profile
lsnrctl start  // 啟監聽
sqlplus  /as sysdba  // 進入數據庫
startup // 啟動數據庫, 然后執行下面 4 名命令, 創建實例, 一個一個執行
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

執行完成,exit 退出到 oracle 用戶下,因為之前執行的都是 sql,都是在 sql 下進行的;

cp   前一天的備份,到當前目錄,之后執行導入;

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 表,將數據庫在恢復到下午出問題的時候,因為除了這個表,其他表里面的數據,都是最新的;繼續執行停監聽,停庫,將剛才的 oracle mv 為 oracle_20170118,將之前的 oracle_日期文件夾 mv 為 oracle,因為之前的庫,沒有動什么,里面的表什么都是完整的,所以將 oracle 恢復之后,就能直接起庫了,起來后,登錄數據庫,在 sql 里執行導入;

imp oracle/oracle file=oracle_20170118_cms_gk.dmp fromuser=oracle touser=oracle tables=CMS_GK

導入之后,可以用 Navicat 鏈接數據庫查看下,或者啟動 we b 服務,看下是否有信息,我操作到此時,已經將信息成功還原進去了;最后問題算是解決了,丟失了一個表里面的部分數據,算是最小損失了吧!

到此,關于“Linux 下 Oracle 數據庫怎么導入或導出單個表”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-01發表,共計2535字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 临澧县| 乐陵市| 玉环县| 屯昌县| 井研县| 亚东县| 普宁市| 油尖旺区| 渑池县| 饶阳县| 楚雄市| 平远县| 吴堡县| 濮阳县| 寿阳县| 普兰店市| 巫溪县| 平遥县| 庆云县| 乌海市| 平罗县| 漳州市| 勐海县| 湄潭县| 贺兰县| 河曲县| 玉山县| 海门市| 义马市| 海口市| 常德市| 古浪县| 阳山县| 漠河县| 辉县市| 常州市| 澎湖县| 宜章县| 文成县| 沙洋县| 娄烦县|