新聞中心
在日常操作中,數(shù)據(jù)表的誤刪除是難以避免的情況。對(duì)于Oracle數(shù)據(jù)庫(kù)來(lái)說,如果誤刪除了sys下的表,將會(huì)導(dǎo)致數(shù)據(jù)庫(kù)無(wú)法啟動(dòng),從而影響到整個(gè)應(yīng)用系統(tǒng)的正常工作。因此,處理誤刪sys下的表無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)的問題是十分重要的。

在具體操作中,如果發(fā)現(xiàn)了sys下的表被誤刪后,需要立即采取以下措施進(jìn)行處理:
1. 快照恢復(fù)
可以通過Oracle自帶的快照功能來(lái)還原表。具體步驟如下:
– 需要在備份時(shí)開啟快照功能,這需要在RMAN中指定backup backupset … format=/snapshot;
– 然后,需要找到最近的一個(gè)快照,通過快照還原表。如果只有一個(gè)快照,可以通過以下命令還原:
$ restore table sys.table_name until sequence=;
– 如果存在多個(gè)快照,可以通過以下命令查詢快照號(hào)并還原:
$ list snapshot of database;
$ restore table sys.table_name until snapshot ;
2. 導(dǎo)出表數(shù)據(jù)
如果沒有開啟快照功能或快照恢復(fù)失敗,可以通過表數(shù)據(jù)的導(dǎo)出和導(dǎo)入來(lái)恢復(fù)表。具體步驟如下:
– 需要在其他相同版本的數(shù)據(jù)庫(kù)上創(chuàng)建同名表(表結(jié)構(gòu)必須完全一致),然后將其導(dǎo)出:
$ exp sys/xxxxx tables=sys.table_name file=sys_table_name.dmp
– 然后,將導(dǎo)出的表數(shù)據(jù)導(dǎo)入到目標(biāo)數(shù)據(jù)庫(kù)中:
$ imp sys/xxxxx tables=sys.table_name file=sys_table_name.dmp
3. 使用Data Pump
Data Pump是Oracle的一種數(shù)據(jù)導(dǎo)入導(dǎo)出工具。它可以將表空間、用戶和數(shù)據(jù)表等導(dǎo)出到文件中,然后在另一個(gè)數(shù)據(jù)庫(kù)中導(dǎo)入。具體步驟如下:
– 需要在目標(biāo)數(shù)據(jù)庫(kù)上創(chuàng)建同名的表,并用Data Pump將源數(shù)據(jù)庫(kù)的表導(dǎo)出:
$ expdp sys/xxxxx tables=sys.table_name dumpfile=sys_table_name.dmp
– 然后,將導(dǎo)出的表數(shù)據(jù)導(dǎo)入到目標(biāo)數(shù)據(jù)庫(kù)中:
$ impdp sys/xxxxx tables=sys.table_name dumpfile=sys_table_name.dmp
除了以上三種方法,還有其他一些方法可用于處理誤刪sys下的表無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)的問題,例如Oracle Flashback、Oracle LogMiner等。
相關(guān)問題拓展閱讀:
- 數(shù)據(jù)庫(kù)被刪除怎么恢復(fù)
數(shù)據(jù)庫(kù)被刪除怎么恢復(fù)
恢復(fù)步驟:
1、運(yùn)行EasyRecovery。
2、選擇“DeletedRecovery”。
3、選擇數(shù)據(jù)庫(kù)文件所在的驅(qū)租橡動(dòng)器,在“File Filter”沖備中輸入*.mdf|*.ldf,選擇“Next”。
4、在左側(cè)窗口會(huì)列出被刪除的數(shù)據(jù)庫(kù)文件,選擇所要恢復(fù)的數(shù)據(jù)庫(kù)文件,選擇“Next”。
5、在“Recover to Local Drive”中選擇恢復(fù)后的文件存放的路徑,要選擇與原數(shù)據(jù)庫(kù)文件不同的路徑,選擇“Next”。
6、文件被恢復(fù)后,將恢復(fù)的文件復(fù)制到原數(shù)據(jù)庫(kù)文件位置,并在企業(yè)管理器通過附加數(shù)據(jù)庫(kù),將恢復(fù)的文件恢復(fù)到SQL Server中。
注:如果刪除的數(shù)據(jù)庫(kù)文件所有的存儲(chǔ)區(qū)域被寫過了,就無(wú)法恢復(fù)了,所以刪除與恢復(fù)的時(shí)間間隔越短越好弊判旁。
sql
server中誤刪除數(shù)據(jù)的恢復(fù)本來(lái)不是件難事,從事務(wù)日志恢復(fù)即可。但是,這個(gè)恢復(fù)需要有兩個(gè)前提條件:
1.
至少有一個(gè)誤刪除之前的數(shù)據(jù)庫(kù)完全備份。
2.
數(shù)據(jù)庫(kù)的恢復(fù)模式(recovery
mode)是“完整(full)”。
針對(duì)這兩個(gè)前提條件,會(huì)有三種情況:
情況一、如果這兩個(gè)前提條件都存在,通過sql語(yǔ)句搭森御只需三步就能恢復(fù)(參考文章),無(wú)需借助第三方工具。
a)
備份當(dāng)前數(shù)據(jù)庫(kù)的事務(wù)日志:backup
log
to
disk=
n’備份文件名’
with
norecovery
b)
恢復(fù)一個(gè)誤刪除之前的完全備份:restore
database
from
disk
=
n’完全備份文件名’
with
norecovery,
replace
c)
將數(shù)據(jù)庫(kù)恢復(fù)至誤刪除之前的時(shí)間點(diǎn):restore
log
from
disk
=
n’之一步的日志備份文春搜件名’
with
stopat
=
n’誤刪除之前的時(shí)間點(diǎn)’
,
recovery
情況二、如果第1個(gè)前提條件不存在,第2個(gè)前提條件存在,需要借助第三方工具。
情況三、如果第2個(gè)前提條件不存在,無(wú)法恢復(fù)。所以,一定要將數(shù)據(jù)庫(kù)恢復(fù)模式設(shè)置為“完整(full)”。
我現(xiàn)在面臨的是第二種情況,需要找第三方工具。
開始找的是log
explorer
for
sql
server,不支持sql
server
2023。
后來(lái)找的是sql
log
rescue,也不知巖支持sql
server
2023。
接著找到的是systools
sql
recovery,支持sql
server
2023,但需要購(gòu)買,demo版并沒有數(shù)據(jù)恢復(fù)功能。
最終在officerecovery.com上找到recovery
for
sql
server,雖然也是商業(yè)軟件,需要購(gòu)買,但demo版可以恢復(fù)數(shù)據(jù),只要數(shù)據(jù)庫(kù)文件不超過24gb。幸好朋友的數(shù)據(jù)庫(kù)文件不大,用它完成了誤刪除數(shù)據(jù)的恢復(fù)。
下面分享一下用recovery
for
sql
server進(jìn)行恢復(fù)的操作步驟:
1.
運(yùn)行recovery
for
sql
server
2.
點(diǎn)擊菜單中的
file
>
recover,選擇要恢復(fù)的數(shù)據(jù)庫(kù)的數(shù)據(jù)文件(.mdf)
3.
next
>
next,進(jìn)入
recovery
configuration
界面,選擇custom(選擇了custom才可以選擇從日志中恢復(fù)誤刪除的數(shù)據(jù))。
4.
next
進(jìn)入
recovery
options
窗口,選中
search
for
deleted
records,并選擇要恢復(fù)的數(shù)據(jù)庫(kù)的日志文件路徑(log
file
path)。
5.
next
并選擇目標(biāo)文件夾(destination
folder),用于存放恢復(fù)過程中生成的sql語(yǔ)句與bat文件。
6.
點(diǎn)擊start,開始恢復(fù)操作(在上一步選擇的目標(biāo)文件夾中生成相應(yīng)的sql文件與bat文件),然后,出現(xiàn)
sql
server
database
creation
utility
窗口。
7.
next,選擇被恢復(fù)數(shù)據(jù)存放的目標(biāo)數(shù)據(jù)庫(kù)。
8.
next,
選擇
import
availiable
data
from
both
database
and
log
files
9.
next,
next,
然后就完成數(shù)據(jù)的恢復(fù)!
誤刪sys下的表無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于誤刪sys下的表無(wú)法啟動(dòng)數(shù)據(jù)庫(kù),怎樣處理誤刪sys下的表無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)?,數(shù)據(jù)庫(kù)被刪除怎么恢復(fù)的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
當(dāng)前標(biāo)題:怎樣處理誤刪sys下的表無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)?(誤刪sys下的表無(wú)法啟動(dòng)數(shù)據(jù)庫(kù))
當(dāng)前地址:http://www.dlmjj.cn/article/cceiose.html


咨詢
建站咨詢
