欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Oracle中如何寫(xiě)腳本 oracle數(shù)據(jù)庫(kù)腳本

oracle 如何編寫(xiě)定時(shí)腳本

用job,具體用法:

創(chuàng)新互聯(lián)主營(yíng)侯馬網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),侯馬h5微信平臺(tái)小程序開(kāi)發(fā)搭建,侯馬網(wǎng)站營(yíng)銷(xiāo)推廣歡迎侯馬等地區(qū)企業(yè)咨詢(xún)

declare

n_job binary_integer;

begin

dbms_job.submit(n_job, '你要執(zhí)行的東西', sysdate, TRUNC(LAST_DAY(SYSDATE))+4+2/24);

end;

-- 每月4號(hào)執(zhí)行

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(LAST_DAY(SYSDATE))+4+2/24');

-- 每分鐘執(zhí)行一次

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(sysdate,’mi’) + 1 / (24*60)');

-- 凌晨?jī)牲c(diǎn)執(zhí)行

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(sysdate) + 1 + 2/24');

-- 每周一凌晨2點(diǎn)執(zhí)行 周一是每周的第二天next_day(sysdate,2)同理周二是第三天,next_day(sysdate,3)

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(next_day(sysdate,2))+2/24');

-- 每月1日凌晨?jī)牲c(diǎn)執(zhí)行

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(LAST_DAY(SYSDATE))+1+2/24');

-- 每季第一天凌晨?jī)牲c(diǎn)執(zhí)行

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24');

-- 每年7月1日和1月1日凌晨2點(diǎn)

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24');

-- 每年1月1日凌晨2點(diǎn)執(zhí)行

dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate, 'Add_months(trunc(sysdate,'yyyy'), 12) +2/24');

oracle rman備份腳本怎么寫(xiě)

在ORACLE數(shù)據(jù)庫(kù)中,RMAN備份的腳本非常多,下面介紹一例shell腳本如何通過(guò)RMAN備份,以及FTP上傳RMAN備份文件以及歸檔日志文件的腳本。

fullback.sh 里面調(diào)用RMAN命令做數(shù)據(jù)庫(kù)備份,它使用的cmdfile為/home/oracle/backup/bin/fullback.rcv,同時(shí)在/home/oracle/backup/logs目錄下生成日志文件。

1: [oracle@DB-Server bin]$ more fullback.sh

2:

3: #!/bin/bash

4:

5: export ORACLE_BASE=/u01/app/oracle

6:

7: export ORACLE_SID=gps

8:

9: ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME

10:

11: TMP=/tmp; export TMP

12:

13: TMPDIR=$TMP; export TMPDIR

14:

15: PATH=/usr/sbin:$PATH; export PATH

16:

17: PATH=$ORACLE_HOME/bin:$PATH; export PATH

18:

19: LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

20:

21: CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

22:

23: export CLASSPATH

24:

25: TODAY=`date +%Y_%m_%d`

26:

27: rman nocatalog target / cmdfile /home/oracle/backup/bin/fullback.rcv log /home/oracle/backup/logs/fullbackup_$TODAY.log

28:

29: /home/oracle/backup/bin/ftpbackup.sh

30:

fullback.rcv文件非常簡(jiǎn)單, 如下所示:

1: [oracle@DB-Server bin]$ more /home/oracle/backup/bin/fullback.rcv

2:

3: run{

4:

5: allocate channel c4 type disk;

6:

7: backup as compressed backupset

8:

9: skip inaccessible

10:

11: tag fullbackupwitharchivelog

12:

13: (database);

14:

15: backup current controlfile;

16:

17: backup spfile;

18:

19: sql "alter system archive log current";

20:

21: delete noprompt obsolete;

22:

23: release channel c4;

24:

25: }

26:

RMAN生成的備份文件,需要通過(guò)FTP上傳到FTP服務(wù)器,一則數(shù)據(jù)庫(kù)服務(wù)器沒(méi)有這么多空間存儲(chǔ)多天的備份,二則是出于容災(zāi)、數(shù)據(jù)安全需要。

下面腳本中FTP服務(wù)器,用戶(hù)名密碼均使用xxx替代,在實(shí)際環(huán)境中,使用具體的信息替代即可。

1: [oracle@DB-Server bin]$ more ftpbackup.sh

2:

3: #!/bin/sh、

4:

5: rm -f /home/oracle/.netrc

6:

7: date_yesterday=`date -d'yesterday' +%Y_%m_%d`

8:

9: date_today=`date +%Y_%m_%d`

10:

11: echo "default login xxxx password xxxxxx" /home/oracle/.netrc

12:

13: echo "macdef init" /home/oracle/.netrc

14:

15: echo "binary" /home/oracle/.netrc

16:

17: echo "cd archivelog" /home/oracle/.netrc

18:

19: echo "mkdir $date_yesterday" /home/oracle/.netrc

20:

21: echo "cd $date_yesterday" /home/oracle/.netrc

22:

23: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_yesterday" /home/oracle/.netrc

24:

25: echo "mput *" /home/oracle/.netrc

26:

27: echo "cd .." /home/oracle/.netrc

28:

29: echo "mkdir $date_today" /home/oracle/.netrc

30:

31: echo "cd $date_today" /home/oracle/.netrc

32:

33: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_today" /home/oracle/.netrc

34:

35: echo "mput * "/home/oracle/.netrc

36:

37: echo "cd .." /home/oracle/.netrc

38:

39: echo "cd ../backupset" /home/oracle/.netrc

40:

41: echo "mkdir $date_today" /home/oracle/.netrc

42:

43: echo "cd $date_today" /home/oracle/.netrc

44:

45: echo "lcd /u04/flash_recovery_area/gps/backupset/$date_today" /home/oracle/.netrc

46:

47: echo "mput *" /home/oracle/.netrc

48:

49: echo "cd .." /home/oracle/.netrc

50:

51: echo "cd ../autobackup" /home/oracle/.netrc

52:

53: echo "mkdir $date_today" /home/oracle/.netrc

54:

55: echo "cd $date_today" /home/oracle/.netrc

56:

57: echo "lcd /u04/flash_recovery_area/gps/autobackup/$date_today" /home/oracle/.netrc

58:

59: echo "mput *" /home/oracle/.netrc

60:

61: echo "quit" /home/oracle/.netrc

62:

63: echo "" /home/oracle/.netrc

64:

65: chmod 600 /home/oracle/.netrc

66:

67: ftp -i -v xxx.xxx.xxx.xxx 8021 /home/oracle/backup/logs/ftp$date_today.log 21

68:

另外,關(guān)于歸檔日志也需要每隔2小時(shí)上傳一次到FTP服務(wù)器,2小時(shí)上傳一次歸檔日志的shell腳本如下所示:

1: [oracle@DB-Server bin]$ more ftp2hours.sh

2:

3: #!/bin/sh

4:

5: rm -f /home/oracle/.netrc

6:

7: date_yesterday=`date -d'yesterday' +%Y_%m_%d`

8:

9: date_today=`date +%Y_%m_%d`

10:

11: echo "default login xxxx password xxxx" /home/oracle/.netrc

12:

13: echo "macdef init" /home/oracle/.netrc

14:

15: echo "binary" /home/oracle/.netrc

16:

17: echo "cd archivelog" /home/oracle/.netrc

18:

19: echo "mkdir $date_today" /home/oracle/.netrc

20:

21: echo "cd $date_today" /home/oracle/.netrc

22:

23: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_today" /home/oracle/.netrc

24:

25: echo "mput * "/home/oracle/.netrc

26:

27: echo "quit" /home/oracle/.netrc

28:

29: echo "" /home/oracle/.netrc

30:

31: chmod 600 /home/oracle/.netrc

32:

33: ftp -i -v xxx.xxx.xxx.xxx 8021 /home/oracle/backup/logs/ftp2hours.$date_today.log 21

34:

最后需要將RMAN備份生成的日志文件,以及FTP上傳備份文件以及歸檔日志的記錄通過(guò)郵件形式發(fā)送給DBA或系統(tǒng)管理員,

1: [oracle@DB-Server bin]$ more chkbackandmail.sh

2: #!/bin/bash

3: rm -f /home/oracle/backup/bin/sendmail.pl

4: date_today=`date +%Y_%m_%d`

5: subject="Oracle Backup Alert Service on $date_today"

6: content="Dear colleagues,

7:

8: Attached please find the logs of xxx(xxx.xxx.xxx.xxx) oracle database backup and transfer to FTP Server(xxx.xxx.xxx.xxx), please

9: review the file and check whether the backup succeeded or not,and double check all backups have been dumped to tape, many tha

10: nks

11:

12:

13:

14:

15: Best regards

16: Oracle Alert Services

17:

18: "

19: file="/home/oracle/backup/logs/fullbackup_$date_today.log,/home/oracle/backup/logs/ftp$date_today.log"

20: echo "#!/usr/bin/perl" /home/oracle/backup/bin/sendmail.pl

21: echo "use Mail::Sender;" /home/oracle/backup/bin/sendmail.pl

22: echo "\$sender = new Mail::Sender {smtp = 'xxx.xxx.xxx.xxx', from = 'xxxx@xxx.com'}; " /home/oracle/backup/bin/sendmai

23: l.pl

24: echo "\$sender-MailFile({to = 'xxx@esquel.com'," /home/oracle/backup/bin/sendmail.pl

25: echo "cc='xxx@xxx.com,xxx@xxx.com,xxx@xxx.com'," /home/oracle/backup/b

26: in/sendmail.pl

27: echo "subject = '$subject'," /home/oracle/backup/bin/sendmail.pl

28: echo "msg = '$content'," /home/oracle/backup/bin/sendmail.pl

29: echo "file = '$file'});" /home/oracle/backup/bin/sendmail.pl

30: perl /home/oracle/backup/bin/sendmail.pl

最后在Crontab 作業(yè)里面配置調(diào)用這些shell腳本。例如如下所示,在1:01分執(zhí)行fullback.sh ,每隔兩個(gè)小時(shí)(例如0:50、2:50...)執(zhí)行一次ftp2hours.sh, 在每天早上8:40執(zhí)行chkbackandmail.sh 發(fā)送fullback.sh 以及ftp2hour.sh的執(zhí)行日志記錄。

oracle數(shù)據(jù)庫(kù)這樣的(照片所示)rman備份腳本怎么寫(xiě)

只考慮備份,不考慮其他情況下:

root下的3個(gè)rman備份級(jí)別的腳本:

#cat

rman_0.sql

backup

incremental

level

database;

#cat

rman_1.sql

backup

incremental

level

1

database;

#cat

rman_1c.sql

backup

incremental

level

1

cumulative

database;

root下的調(diào)用rman腳本

#cat

rman_0.sh

#!/bin/bash

su

-

oracle

-c

"rman

target

sys/SHUIMITAO@rabbit

@/root/rman_0.sql"

#cat

rman_1.sh

#!/bin/bash

su

-

oracle

-c

"rman

target

sys/SHUIMITAO@rabbit

@/root/rman_1.sql"

#cat

rman_1c.sh

#!/bin/bash

su

-

oracle

-c

"rman

target

sys/SHUIMITAO@rabbit

@/root/rman_1c.sql"

root的計(jì)劃任務(wù):

#crontab

-e

1

*

*

/root/rman_0.sh

2

*

*

1

/root/rman_1.sh

2

*

*

2

/root/rman_1.sh

3

*

*

3

/root/rman_1c.sh

2

*

*

4

/root/rman_1.sh

3

*

*

5

/root/rman_1c.sh

2

*

*

6

/root/rman_1.sh

11g里只有0和1兩個(gè)備份級(jí)別,請(qǐng)自行對(duì)應(yīng)oracle低版本

level

0是full

level

1是差異增量備份

--和前一次備份比較,將這個(gè)期間改變的數(shù)據(jù)備份下來(lái)

level

1c是累計(jì)增量備份

--和比他小得級(jí)別相比(即全備份),改變的數(shù)據(jù)備份

然后根據(jù)實(shí)際情況還要將備份的策略往腳本添加

文章名稱(chēng):Oracle中如何寫(xiě)腳本 oracle數(shù)據(jù)庫(kù)腳本
鏈接分享:http://chinadenli.net/article18/hgcegp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名域名注冊(cè)、網(wǎng)站維護(hù)、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化