Oracle自動備份及自動備份步驟
數(shù)據(jù)是應用的核心部分,程序壞了換臺機器重新發(fā)布就可以,但數(shù)據(jù)一旦丟失,造成的損失將不可挽回,程序發(fā)布到生產(chǎn)后,數(shù)據(jù)的備份便顯得尤為重要,由于不一定所有的服務均有資金完成高級的備份如RAC和DG,在我們只有一臺數(shù)據(jù)庫服務器的,暫時采取最簡單的備份策略,export出dmp進行保存。
一、備份腳本
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、進入oracle目錄,設置oracle的參數(shù)
#進入oracle目錄,設置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、導出數(shù)據(jù)
echo $syspath v_date=$(date '+%Y%m%d%H%M%S') filename=$syspath/jcd${v_date}.dmp #導出命令 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,將壓縮后的包傳遞到備份服務器,注意備份服務器上目錄需要預先創(chuàng)建
scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/備份目錄
二、設定腳本執(zhí)行時間
我們設定規(guī)則為每天凌晨2點執(zhí)行一次,采用crontab來進行處理
執(zhí)行crontab -e,設定如下規(guī)則
0 2 * * * sh /home/oracle/db.sh
三、關于scp命令密碼處理
執(zhí)行scp命令時候,會提示輸入遠程主機的密碼
scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/備份目錄
此時有兩種處理辦法進行解決:
1、使用加密文件進行認證
1)進入本地主機的~/.ssh目錄下
2)運行ssh-keygen -t [rsa|dsa],將會生成密鑰文件和私鑰文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub,此處我們使用rsa方式進行
3)將生成的id_rsa和id_rsa.pub權限修改為700
4)將.pub文件復制到遠程主機的~/.ssh目錄,執(zhí)行cat id_rsa.pub >> ~/.ssh/authorized_keys,將內容拷入authorized_keys文件
5)修改authorized權限為700
完成以上修改之后,從本地主機scp到遠程主機便無須密碼,簡單理解應該是通訊時候,本地主機發(fā)送scp指令時,采用本地私鑰進行簽名,遠程主機使用公鑰驗簽后,判斷問主機可以信賴,開放通訊服務。
2、使用expect命令完成密碼交互
expect命令主要用于腳本中出現(xiàn)必須人工干預的情況下,預先輸入指令,模擬的場景為使用expect命令捕捉到提示輸入指令的文字,一旦文字出現(xiàn),自動使用send命令輸入需要交互的命令。
此處使用為:
expect "*password:"#此處填寫系統(tǒng)提示文字
send "your password\r"#此處填寫我們輸入的交互命令
expect eof
下面給大家介紹Oracle 自動備份詳細步驟
背景:Oracle 10g 服務器,Oracle 10g 客戶端,windowsXP 操作平臺
要求:Oracle 數(shù)據(jù)庫服務器對數(shù)據(jù)庫 ytcn 每天自動備份一次。
解決方案:利用任務計劃、批處理文件和 Oracle 的 exp 導出功能,根據(jù)日期自動生成 Oracle 備份文件。詳細步驟:
1 創(chuàng)建批處理文件 ytcn.bat
ytcn.bat中詳細內容如下:
@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 任務完成!
其中紅色部分是根據(jù)需要進行變動的地方,例如作者的項目名“銀通網(wǎng)”,數(shù)據(jù)庫 ytcn 用戶名 ytcn,密碼 ytcn,要在目錄 "e:/bak/ytcn/oracle/ytcn" 下生成形如 "ytcn20090711.dmp" 和 "ytcn20090711.log" 的備份和日志文件,全表導出。
另外:%date%的值在不同的系統(tǒng)、語言版本下可能是不一樣的,控制面板里面區(qū)域選項的設定也會改變%date%的值。請先在命令行中測試 echo %date% 的返回值。%date:~4,10% 是返回日期函數(shù),~后的第一個參數(shù)是要截取的起始位置(從0開始),第二個參數(shù)是要截取的長度,如沒有則是截取到最后,參數(shù)可酌情修改。 如需要準確的時間做為文件名,請用%time%函數(shù),參數(shù)同上。
2 添加一個任務計劃 ytcn
開始 > 所有程序 > 附件 > 系統(tǒng)工具 > 任務計劃 > 添加任務計劃 > 下一步 > 在 瀏覽 中查找剛剛寫好的 ytcn.bat 文件 > 任務名輸入ytcn,執(zhí)行這個任務選擇每天,下一步 > 起始時間下午12:00,起始日期2009-7-11,下一步 > 輸入用戶名及密碼,用戶名要求是管理員權限用戶名,下一步 > 完成
點擊"完成"之后,會在任務計劃欄目下新增一個名為"ytcn"的任務計劃,表明已經(jīng)配置完畢。
備注:有時點擊"完成" 之后,系統(tǒng)警告
"已創(chuàng)建新任務,但可能不能運行,因為無法設置賬戶信息。
指定的錯誤是:
Ox80041315:任務計劃程序服務沒有運行"
這是因為電腦的任務計劃程序服務沒有啟動起來。開始 > 所有程序 > 管理工具 > 服務,找到"Task Scheduler"服務,發(fā)現(xiàn)啟動類型為"已禁用",右鍵單擊更改為"自動",并把它啟動起來,然后重新添加一次任務計劃 ytcn 就可以了。
相關文章
PLSQL配置遠程Oracle數(shù)據(jù)庫連接的示例代碼
這篇文章主要介紹了PLSQL配置遠程Oracle數(shù)據(jù)庫連接的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09mybatis?調用?Oracle?存儲過程并接受返回值的示例代碼
這篇文章主要介紹了mybatis?調用?Oracle?存儲過程?并接受返回值,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08Oracle數(shù)據(jù)庫閃回功能詳解和相關命令總結
這篇文章主要給大家介紹了關于Oracle數(shù)據(jù)庫閃回功能詳解和相關命令總結的相關資料,閃回技術(Flashback),是Oracle提供的能使數(shù)據(jù)庫整體或局部回到"過去"的閃回功能的總稱,主要用于對抗人為錯誤,需要的朋友可以參考下2023-07-07Oracle如何批量將表中字段名全轉換為大寫(利用簡單存儲過程)
這篇文章主要給大家介紹了關于Oracle如何批量將表中字段名全轉換為大寫的相關資料,主要利用的就是一個簡單的存儲過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11在Spring中用select last_insert_id()時遇到問題
一直使用的Oracle數(shù)據(jù)庫,通過序列來實現(xiàn)自增字段,插入之前就已經(jīng)獲得了自增id,保存下來即可在后來的操作中使用2009-05-05oracle更新xml節(jié)點問題的一些細節(jié)
本節(jié)主要介紹了oracle更新xml節(jié)點問題的一些細節(jié),需要的朋友可以參考下2014-08-08Oracle連接出現(xiàn)ora-12154無法解析指定的連接標識符
這篇文章主要介紹了Oracle連接出現(xiàn)ora-12154無法解析指定的連接標識符,需要的朋友可以參考下2017-03-03Linux中Oracle啟動偵聽報錯TNS:permission denied的解決方法
這篇文章主要介紹了Linux中Oracle啟動偵聽時報錯TNS:permission denied的解決方法,文中給出了詳細的解決方法,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02