linuxoracle數據備份
Ⅰ 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用戶可以執
Ⅱ linux系統壞,如何備份ORACLE數據
這兩個事情不是很沾邊啊,系統級的損壞你還能訪問資料庫?當然如果所有數據文件都在磁陣或其它機器上,那還好說,想怎麼備份都行。
Ⅲ Linux伺服器上的oracle資料庫怎麼全盤備份下來
這個簡單 1找到你的$ORACLE_SID目錄 2把下面的所有文件都移動到另一個資料庫的這個目錄下就復制了一個一模一樣庫。
Ⅳ 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里看出到底有沒有正確運行。
Ⅳ 請教一下,Linux oracle資料庫多個資料庫實例時如何exp備份
比如:EXPSYSTEM/MANAGERBUFFER=64000FILE=C:FULL.DMPFULL=Y這條語句
如果一個系統裡面有兩個資料庫那麼就需要把他們標注出來如下:
資料庫1:aa
資料庫2:bb
要求:對bb進行數據導出:
則:
EXPSYSTEM/MANAGER@bbFILE=C:FULL.DMPFULL=Y
Ⅵ linux系統上怎麼備份oracle資料庫
exp適合oracle10g,從oracle 11g開始使用expdp工具。
Ⅶ 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
退出並保存便可。
Ⅷ 怎樣在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在導入的時候可能以前的這個用戶是存在的並且表也是存在的,那麼在導入的時候會報錯
我的解決方法是兩中新建用戶另一種就是把但前的用戶下面的表和數據全部刪掉。
Ⅸ 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 退出並保存即可。
Ⅹ 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