當前位置:首頁 » 操作系統 » linux自動備份oracle資料庫

linux自動備份oracle資料庫

發布時間: 2022-05-27 04:05:13

1. 在java代碼中怎麼是實現linux操作系統下oracle資料庫的備份工作

這個你要懂得socket編程以及
系統編程
才行啊(系統編程不用很深入,知道怎麼能夠啟動一個
系統進程
就可以了,主要還是調用一個備份用的shell)。
1.
首先要編寫一個客戶端,和服務端。(具體的編寫過程就靠自己了)
2.
服務端部署在
linux伺服器
上,客戶端部署在本地電腦
3.
服務端監聽某個埠,等待
客戶機
發送的命令,並且能夠啟動系統進程進行備份。

2. linux oracle 自動備份詳解

寫個備份腳本,然後將腳本添加到crontab中,就可以自動執行備份了。

3. linux下怎麼定時備份oracle資料庫

如果是sql server,定期備份可以利用sql server的management studio來做,比較方便。但要做oracle的定期備份,那就需要我們寫導出命令,並設置linux的定時任務。
首先創建一個資料庫作為測試。
--創建數據表空間
create tablespace test_data
logging
datafile '/u01/app/oradata/test/TEST.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

--創建用戶並指定表空間
create user TEST identified by 123
default tablespace test_data
temporary tablespace temp;

--給用戶授予許可權
grant connect,resource to TEST;
用Test用戶登錄,創建一個表,並插入兩條數據:
create table t1(
Id varchar(50) primary key,
title varchar(50)
);

insert into t1 values(sys_guid(),'t1');
insert into t1 values(sys_guid(),'t2');
commit;
先寫一個導出的腳本文件:
export ORACLE_BASE=/u01/app
export ORACLE_HOME=/u01/app/oracle
export ORACLE_SID=TEST
export PATH=$ORACLE_HOME/bin:$PATH
d=$(date '+%Y%m%d')
exp TEST/123@TEST file=/home/oracle/backup/$d.dmp log=/home/oracle/backup/$d.log owner=TEST
zip -m /home/oracle/backup/$d.zip /home/oracle/backup/$d.dmp /home/oracle/backup/$d.log
前4句是設置環境變數,因為crontab定時調用時,不會使用oracle用戶的環境變數,所以要先把它們導進來。第6行以當前日期作為導出的文件名,例如20120626.dmp和20120626.log。第7行把這兩個文件打成一個zip包,並刪掉這兩個文件。
要用chmod命令把這個sh標記為可執行:
chmod +x backup.sh

用oracle用戶,輸入crontab -e命令,編輯oracle用戶的任務計劃:
[oracle@localhost backup]$ crontab -e
42 13 * * * /home/oracle/backup/backup.sh
這樣就添加了一個計劃,在每天的13點42分運行/home/oracle/backup/backup.sh。

另外,每天運行完之後,會收到mail通知,可以在mail里看出到底有沒有正確運行。

4. linux oracle資料庫備份的數據有哪些

步驟如下:
一、編寫備份資料庫的shell
1、創建保存shell文件的文件夾
2、文件內容為:
#!/bin/sh
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=HRDB
export ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
exp fact/fact file=/backup/fact`date +%y%m%d`.dmp
log=/backup/factlog`date +%y%m%d`.log

shell文件編寫完畢
一、運行以上的shell文件
看是否能生成備份的.dmp文件,如果能則表示shell文件編寫成功

二、然後在此shell
文件的所在終端輸入命令,將此文件授權讓root用戶可以執行:

三、命令為:chmod +x backup.sh
四、然後到root終端編寫定時備份的語句
五、語句為:crontab –e
六、輸入i
七、輸入10 17 ,,,/home/backupscript/backup.sh
八、按下esc建,輸入:wq 退出並保存即可。

5. linux系統上怎樣備份oracle資料庫

步驟以下:1、編寫備份資料庫的shell
1、創建保存shell文件的文件夾,2、文件內容為:#!/bin/sh
PATH=$PATH:$HOME/bin
export
PATH
ORACLE_BASE=/u01/app/oracle
export
ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export
ORACLE_HOME
ORACLE_SID=HRDB
export
ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export
PATH
exp
fact/fact
file=/backup/fact`date
+%y%m%d`.dmp
log=/backup/factlog`date
+%y%m%d`.log
shell文件編寫終了1、運行以上的shell文件看是不是能生成備份的.dmp文件,如果能則表示shell文件編寫成功
2、然後在此shell文件的所在終端輸入命令,將此文件授權讓root用戶可以履行:
3、命令為:chmod
+x
backup.sh
4、然後到root終端編寫定時備份的語句5、語句為:crontab
–e
6、輸入i
7、輸入10
17
,,,/home/backupscript/backup.sh
8、按下esc建,輸入:wq
退出並保存便可。

6. linux環境下oracle資料庫冷備份問題

1. 復制舊的資料庫文件

(1) 用SQLPlus連接資料庫:sqlplus 用戶名/密碼 as sysdba
(2) 關閉DB :shutdown immediate;
(3) 復制文件到其他地方存儲實現備份
1)復制三個文件夾admin;oradata(datafile,controlfile,redo【註:數據文件, 控制文件,redo】);flash_recovery_area三個文件夾。2)dbhome_1下的內容database(PWDfile、pfile);dbs(spfile);NETWORK/ADMIN(listener.ora、tnsnames.ora)。

2. Oracle重新建庫恢復

(1)創建一個和原來一樣的資料庫。(安裝路徑和資料庫名必須和原來一致)
(2)停止資料庫shutdown immediate;
(3)復制安裝目錄下的admin、oradata、flash_recovery_area覆蓋,復制database(PWDfile、pfile) 覆蓋
(4)啟動資料庫startup;

備註:

無歸檔模式:將備份文件拷貝回原來的目錄即可,然後啟動資料庫。
歸檔模式:
①將數據文件、控制文件拷貝回原來目錄
②SQL>startup mount;
SQL>recover database using backup controlfile;
③將相應的歸檔日誌和聯機日誌拖到CMD命令窗口進行跑日誌。
④SQL>alter database open resetlogs;

3. 軟體重裝恢復

此時,操作系統重裝,如果做冷備恢復,要保證相同操作系統,相同的資料庫版本。形勢如同異機恢復。

A、不創建實例:(源機上的資料庫名字為orcl)

(1)恢復oradata/orcl目錄

在目標機上的oradata目錄下建立orcl文件夾,然後進行數據覆蓋。

包括數據文件、參數文件、控制文件、日誌文件、pwd文件,放在與原系統相同的目錄。如果目錄有所改變,則需要另外建立控制文件,修改pfile。(2) 恢復admin/orcl目錄在目標機上的admin目錄下建立orcl文件夾,然後在orcl裡面再建立amp、bmp、cmp、ump、dpmp、pfile六個文件夾
(3) 建立服務把源機的密碼文件拷貝到目標機的database目錄下。使用oradim命令在cmd下oradim -new -sid orcl表示建立一個服務,sid為orcl(最好名字和源機備份的資料庫名字一致,就不需要重建密碼文件)。如果是在linux下,不需要此步。(4) 重建創建參數文件、控制文件拷貝源機的pfile到目標機的一個目錄下,修改pfile裡面相關文件的路徑。然後通過SQL>create spfile from pfile=『文件路徑'來創建參數文件。重建控制文件命令:SQL>alter database backup controlfile to trace;然後會在ump文件夾下產生一個追蹤文件,打開文件找到如下一段,復制到文本中,修改相應路徑然後保存為:createctl.sql文件(sql腳本文件),復制到目標機上。注意:SQL>alter database backup controlfile to trace as 'F:/DB_RECOVERY/CONTROL_FILE_TRACE.TXT';復制的原始導出txt中的,相應代碼片段如下:修改oracle_homeoradataorcl下及相關文件的路徑

(6) TNSNAMES設置在networkadmin下的tnsnames.ora中添加如下片段

123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))


(7) 建立監聽用net configuration為orcl實例新建監聽至此,冷備份恢復成功。即使你現在用oem打開資料庫時發現提示找不到sid ,但實際上你已經成功了,此時只需要重啟一下的你的伺服器就可以。

B、創建實例方式(實例SID與源機資料庫SID一致)

(1) 替換和覆蓋oradataorcl目錄刪除目標機的oradataorcl底下的所有文件,把源機的所有data文件、redo文件拷貝到此目錄下
(2) 密碼文件覆蓋刪除目標機的密碼文件,拷貝源機密碼文件到目標機下。
(3) 控制文件恢復在源機上重建目標機的控制文件:SQL>alter database backup controlfile to trace;然後會在ump文件夾下產生一個追蹤文件,打開文件找到上面那段,復制到文本中,修改相應路徑然後保存為:createctl.sql文件(sql腳本文件),復制到目標機上。
復制代碼代碼如下:

12345 c:>sqlplus"/as sysdba"SQL>@c:createctl.sql;SQL>shutdown immediate;SQL>startup;SQL>alterdatabaseopenresetlogs;


(4) 在networkadmin下的tnsnames.ora中添加如下片段
復制代碼代碼如下:

123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))

(5) 用net configuration為orcl實例新建監聽

若是初學Linux的話建議看看《Linux就該這么學》這本書。

7. linux系統上怎麼備份oracle資料庫

exp適合oracle10g,從oracle 11g開始使用expdp工具。

8. 怎麼執行oracle資料庫自動備份 linux 腳本

Oracle自動備份資料庫不外乎以下三種方式WINDOWS下的任務計劃(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三種方式中Viritas屬於第三方工具,很多人可能都沒有接觸,主要說一下windows的任務計劃與unix的cron
1、生成腳本文件,如backup.rcv 假定文件內容如下:
$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format 『/u01/oradata/backup/arch%u_%s_%p』 archivelog all delete input; release channel c1; release channel c2; release channel c3; }

2、生成執行文件在windows上生成backup_archive.bat,內容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,內容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入調度在windows中用任務計劃向導即可,或使用at命令。在unix中,在目標機器上編寫一個文件,用以啟動Oracle自動備份進程。假定文件名為ORACLE,文件將放在/var/spool/cron/crontabs目錄下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23點對資料庫備份
0 12,18 * * * backup_archive.sh
#表示每天12點,18點備份
Crontab文件的每一行由六個域(minutes,hours,day of month,month,day of week,command)組成,域之間用空格或Tab分隔開來

9. Linux下備份oracle資料庫的步驟 求解高手解決,小弟感激盡!

給的分太少了,不過還是幫幫你吧!

1、如果備份本機的資料庫,比如本地資料庫實例名為:orcl
那就使用:exp username/password@orcl file=bak.dmp log=bak.log buffer=10240
2、如果是備份另外一台Oralce,要分兩步
(1)、配置datasource 比如本地伺服器A的IP是192.168.1.101,要備份的伺服器B的IP是192.168.1.102,實例名為:orcl 在oracle的tnsnames.ora中配置datasource
db102 = 這個名稱隨便起
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521)) 這里為機器B的地址及資料庫埠號
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =orcl) 這個名稱為機器B 資料庫SID的值
)
)
測試資料庫連通性,在機器A如下;
[oracle@localhost admin]$ tnsping db102
顯示如下;
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Proction . 04-JAN-2009 16:53:23
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
/home/oracle/oracle/proct/10.2.0/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DE.ION = (ADDRESS = (PROTOCOL = TCP)(HOST = 61.172.197.197)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = jjtdb)))
OK (10 msec)
測試通過
(2)寫腳本 exp username/password@db102 file=bak.dmp log=bak.log buffer=10240

10. 怎樣在Linux系統中備份Oracle資料庫

1導入dmp文件,報 IMP-00013: only a DBA can import a file exported by another DBA 的問題,解決方法
首先應該登陸編輯模式sqlpluse / as sysdba.修改當前的用戶的許可權
SQL>grant sysdba to user;
SQL>grant imp_full_database to user;
2在導入的時候可能以前的這個用戶是存在的並且表也是存在的,那麼在導入的時候會報錯
我的解決方法是兩中新建用戶另一種就是把但前的用戶下面的表和數據全部刪掉。

熱點內容
vs2017編譯技巧 發布:2024-10-27 21:01:14 瀏覽:49
21款四缸英朗和雷凌哪個配置高 發布:2024-10-27 20:59:43 瀏覽:83
布希訪問華 發布:2024-10-27 20:48:23 瀏覽:957
安卓轉蘋果王者怎麼選區 發布:2024-10-27 20:36:44 瀏覽:120
wps快速訪問工具欄 發布:2024-10-27 20:30:38 瀏覽:17
android手機截屏 發布:2024-10-27 20:20:17 瀏覽:441
手機外置存儲卡 發布:2024-10-27 20:02:12 瀏覽:338
哪裡有手機版安卓軟體 發布:2024-10-27 19:48:45 瀏覽:253
百度雲磁碟緩存 發布:2024-10-27 19:48:44 瀏覽:913
java查看源碼工具 發布:2024-10-27 19:46:04 瀏覽:412