主頁 > 知識庫 > Oracle自動備份及自動備份步驟

Oracle自動備份及自動備份步驟

熱門標(biāo)簽:開發(fā)外呼系統(tǒng) 慧營銷crm外呼系統(tǒng)丹丹 地圖標(biāo)注養(yǎng)老院 圖吧網(wǎng)站地圖標(biāo)注 山東crm外呼系統(tǒng)軟件 百度地圖標(biāo)注途經(jīng)點(diǎn) 哪個400外呼系統(tǒng)好 哈爾濱電話機(jī)器人銷售招聘 愛客外呼系統(tǒng)怎么樣

數(shù)據(jù)是應(yīng)用的核心部分,程序壞了換臺機(jī)器重新發(fā)布就可以,但數(shù)據(jù)一旦丟失,造成的損失將不可挽回,程序發(fā)布到生產(chǎn)后,數(shù)據(jù)的備份便顯得尤為重要,由于不一定所有的服務(wù)均有資金完成高級的備份如RAC和DG,在我們只有一臺數(shù)據(jù)庫服務(wù)器的,暫時采取最簡單的備份策略,export出dmp進(jìn)行保存。

一、備份腳本

1、初始化變量,記錄開始日志

#變量
sysname=填寫自己的系統(tǒng)名稱
syspath=/home/oracle/databak/$sysname
v_date=$(date '+%Y%m%d%H%M%S')
#日志目錄
logfile=${syspath}/backup.${v_date}.log
#打印開始時間
echo backup_time>>${logfile}
date '+%Y-%m-%d %H:%M:%S' >> ${logfile}
echo "backup jcd">>${logfile}
echo "start_time">>${logfile}
date '+%Y-%m-%d %H:%M:%S' >> ${logfile}

2、進(jìn)入oracle目錄,設(shè)置oracle的參數(shù)

#進(jìn)入oracle目錄,設(shè)置oracle變量
cd /home/11g/app/oracle/product/11.2.0
export ORACLE_HOME=/home/11g/app/oracle/product/11.2.0/db_1
export PATH=$PATH:/home/11g/app/oracle/product/11.2.0/db_1/bin
export ORACLE_SID=SID名稱 

3、導(dǎo)出數(shù)據(jù)

echo $syspath
v_date=$(date '+%Y%m%d%H%M%S')
filename=$syspath/jcd${v_date}.dmp
#導(dǎo)出命令
exp username/password file=${filename} compress=n >> ${logfile}
echo "end_time">>${logfile}
date '+%Y-%m-%d %H:%M:%S'>>${logfile} 

4、壓縮dump包

gzip ${filename} 

5、使用scp,將壓縮后的包傳遞到備份服務(wù)器,注意備份服務(wù)器上目錄需要預(yù)先創(chuàng)建

scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/備份目錄 

二、設(shè)定腳本執(zhí)行時間

我們設(shè)定規(guī)則為每天凌晨2點(diǎn)執(zhí)行一次,采用crontab來進(jìn)行處理

執(zhí)行crontab -e,設(shè)定如下規(guī)則

0 2 * * * sh /home/oracle/db.sh

三、關(guān)于scp命令密碼處理

執(zhí)行scp命令時候,會提示輸入遠(yuǎn)程主機(jī)的密碼
scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/備份目錄
此時有兩種處理辦法進(jìn)行解決:

1、使用加密文件進(jìn)行認(rèn)證

1)進(jìn)入本地主機(jī)的~/.ssh目錄下

2)運(yùn)行ssh-keygen -t [rsa|dsa],將會生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub,此處我們使用rsa方式進(jìn)行

3)將生成的id_rsa和id_rsa.pub權(quán)限修改為700

4)將.pub文件復(fù)制到遠(yuǎn)程主機(jī)的~/.ssh目錄,執(zhí)行cat id_rsa.pub >> ~/.ssh/authorized_keys,將內(nèi)容拷入authorized_keys文件

5)修改authorized權(quán)限為700

  完成以上修改之后,從本地主機(jī)scp到遠(yuǎn)程主機(jī)便無須密碼,簡單理解應(yīng)該是通訊時候,本地主機(jī)發(fā)送scp指令時,采用本地私鑰進(jìn)行簽名,遠(yuǎn)程主機(jī)使用公鑰驗(yàn)簽后,判斷問主機(jī)可以信賴,開放通訊服務(wù)。

2、使用expect命令完成密碼交互

  expect命令主要用于腳本中出現(xiàn)必須人工干預(yù)的情況下,預(yù)先輸入指令,模擬的場景為使用expect命令捕捉到提示輸入指令的文字,一旦文字出現(xiàn),自動使用send命令輸入需要交互的命令。

  此處使用為:

  expect "*password:"#此處填寫系統(tǒng)提示文字
  send "your password\r"#此處填寫我們輸入的交互命令
  expect eof

下面給大家介紹Oracle 自動備份詳細(xì)步驟

背景:Oracle 10g 服務(wù)器,Oracle 10g 客戶端,windowsXP 操作平臺
要求:Oracle 數(shù)據(jù)庫服務(wù)器對數(shù)據(jù)庫 ytcn 每天自動備份一次。
解決方案:利用任務(wù)計(jì)劃、批處理文件和 Oracle 的 exp 導(dǎo)出功能,根據(jù)日期自動生成 Oracle 備份文件。詳細(xì)步驟:

1 創(chuàng)建批處理文件 ytcn.bat

ytcn.bat中詳細(xì)內(nèi)容如下:

@echo off
echo 正在備份銀通網(wǎng) Oracle 數(shù)據(jù)庫,請稍等......
exp userid='ytcn/ytcn@ytcn as sysdba' file=e:/bak/ytcn/oracle/ytcn/ytcn%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=e:/bak/ytcn/oracle/ytcn/ytcn%date:~0,4%%date:~5,2%%date:~8,2%.log full=y

echo 任務(wù)完成!
其中紅色部分是根據(jù)需要進(jìn)行變動的地方,例如作者的項(xiàng)目名“銀通網(wǎng)”,數(shù)據(jù)庫 ytcn 用戶名 ytcn,密碼 ytcn,要在目錄 "e:/bak/ytcn/oracle/ytcn" 下生成形如 "ytcn20090711.dmp" 和 "ytcn20090711.log" 的備份和日志文件,全表導(dǎo)出。
另外:%date%的值在不同的系統(tǒng)、語言版本下可能是不一樣的,控制面板里面區(qū)域選項(xiàng)的設(shè)定也會改變%date%的值。請先在命令行中測試 echo %date% 的返回值。%date:~4,10% 是返回日期函數(shù),~后的第一個參數(shù)是要截取的起始位置(從0開始),第二個參數(shù)是要截取的長度,如沒有則是截取到最后,參數(shù)可酌情修改。 如需要準(zhǔn)確的時間做為文件名,請用%time%函數(shù),參數(shù)同上。

2 添加一個任務(wù)計(jì)劃 ytcn

開始 > 所有程序 > 附件 > 系統(tǒng)工具 > 任務(wù)計(jì)劃 > 添加任務(wù)計(jì)劃 > 下一步 > 在 瀏覽 中查找剛剛寫好的 ytcn.bat 文件 > 任務(wù)名輸入ytcn,執(zhí)行這個任務(wù)選擇每天,下一步 > 起始時間下午12:00,起始日期2009-7-11,下一步 > 輸入用戶名及密碼,用戶名要求是管理員權(quán)限用戶名,下一步 > 完成
點(diǎn)擊"完成"之后,會在任務(wù)計(jì)劃欄目下新增一個名為"ytcn"的任務(wù)計(jì)劃,表明已經(jīng)配置完畢。

備注:有時點(diǎn)擊"完成" 之后,系統(tǒng)警告

"已創(chuàng)建新任務(wù),但可能不能運(yùn)行,因?yàn)闊o法設(shè)置賬戶信息。

指定的錯誤是:

Ox80041315:任務(wù)計(jì)劃程序服務(wù)沒有運(yùn)行"

這是因?yàn)殡娔X的任務(wù)計(jì)劃程序服務(wù)沒有啟動起來。開始 > 所有程序 > 管理工具 > 服務(wù),找到"Task Scheduler"服務(wù),發(fā)現(xiàn)啟動類型為"已禁用",右鍵單擊更改為"自動",并把它啟動起來,然后重新添加一次任務(wù)計(jì)劃 ytcn 就可以了。

您可能感興趣的文章:
  • Oracle數(shù)據(jù)庫自動備份腳本分享(超實(shí)用)
  • PowerShell 自動備份oracle并上傳到ftp
  • Linux下通過腳本自動備份Oracle數(shù)據(jù)庫并刪除指定天數(shù)前的備份
  • oracle、mysql數(shù)據(jù)庫停止與啟動的批處理文件
  • 批處理寫的 oracle 數(shù)據(jù)庫備份還原工具
  • Oracle 批處理自動備份bat腳本語句的步驟詳解

標(biāo)簽:周口 青島 承德 武漢 固原 和田 開封 甘肅

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle自動備份及自動備份步驟》,本文關(guān)鍵詞  Oracle,自動,備份,及,步驟,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle自動備份及自動備份步驟》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle自動備份及自動備份步驟的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章