oracle脚本怎么做 oracle脚本文件

oracle rman备份脚本怎么写在ORACLE数据库中 , RMAN备份的脚本非常多 , 下面介绍一例shell脚本如何通过RMAN备份,以及FTP上传RMAN备份文件以及归档日志文件的脚本 。
fullback.sh 里面调用RMAN命令做数据库备份,它使用的cmdfile为/home/oracle/backup/bin/fullback.rcv,同时在/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文件非常简单,如下所示:
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生成的备份文件,需要通过FTP上传到FTP服务器,一则数据库服务器没有这么多空间存储多天的备份,二则是出于容灾、数据安全需要 。
下面脚本中FTP服务器 , 用户名密码均使用xxx替代 , 在实际环境中,使用具体的信息替代即可 。
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:
另外,关于归档日志也需要每隔2小时上传一次到FTP服务器 , 2小时上传一次归档日志的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上传备份文件以及归档日志的记录通过邮件形式发送给DBA或系统管理员,
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 作业里面配置调用这些shell脚本 。例如如下所示,在1:01分执行fullback.sh,每隔两个小时(例如0:50、2:50...)执行一次ftp2hours.sh, 在每天早上8:40执行chkbackandmail.sh 发送fullback.sh 以及ftp2hour.sh的执行日志记录 。
win10系统下怎样用oracle生成新建数据库脚本1/s/1gfa3e63oracle脚本怎么做;这里是oracle脚本怎么做我在Oracle官网下载好oracle脚本怎么做了Windows系统64位的安装包 , 有2个zip文件 。不想去官网找下载地址的童鞋可以直接用这个百度云盘的下载链接 。1.去下载最新的oracle11g安装包的压缩文件,有2个压缩文件,都需要下载,下载完成以后需要解压缩在同一个目录下 。在开始oracle数据安装之前建议:1.关闭本机的病毒防火墙 。2.断开互联网 。这样可以避免解压缩丢失文件和安装失败 。2.oracle脚本怎么做我在下载好2个zip文件后 , 都解压在了database目录中 。如下图:3.进入database双击 setup.exe 开始安装,在如下图:4.出现如下选项,选择是,继续安装 。当然这是我机器出现了这个情况,可能你的满足要求了 。。。5.取消勾,点击下一步:6.Oracle在进行安装的时候都会询问是否同时创建一个数据库出来,此处选择“创建和配置数据库” 。7.每一个数据库可以想象为一个实例 , 所以此处表示只存在一个数据库的含义8.此处选择“高级安装” 。9.语言现在选择支持“简体中文”和“英文” 。10.选择“企业版” 。11.此处设置Oracle的安装目录,将其安装到app目录下 。12.选择一般事物 13.此处输入数据库的名称,同时SID与数据库的名称相同 。14.使用默认配置,如下图:15.Oracle本身提供了多个操作用户 , 为了简单管理,所有的密码都统一设置为“oracleadmin” 。随后将进行安装环境的检验,如果检验之中出现了错误,则会提示用户,或者由用户选择“忽略” 。16.选择完成开始安装17.而后进入到了oracle的安装界面 。此界面会运行一段时间,在此界面完成之后出现的任何界面都不要点任何的确定按钮,因为还需要进行后续的配置 。18.安装完成之后会进入到配置用户口令界面,点击 用户口令 设置密码 。此界面之中需要进行用户名及密码的配置,在使用Oracle数据库过程之中,主要使用三个用户(有三个用户的密码是public password,在实际中不可以使用):超级管理员:sys / change_on_install;普通管理员:system / manager;普通用户:scott / tiger , 此用户需要配置解锁;19.完成之后选择“确定”那么再之后就可以进入到安装完成的界面,选择“关闭”即可 。20.在Oracle安装完成之后,可以通过windows的服务找到所有与Oracle有关的服务选项 。21.所有的服务建议将其全部修改为手工启动,这样电脑的启动速度可以快一些 。但是有两个服务是必须启动的:OracleOraDb11g_home1TNSListener:数据库的监听服务,当使用任何的编程语言或者是前台工具连接数据库的时候,此服务必须启动,否则无法连接;OracleServiceSYNC:指的是数据库的实例服务,实例服务的命名规范“OracleServiceSID”,一般SID的名称都和数据库的名称保持一致,每一个数据库的服务都会创建一个sid 。这里我的数据库的SID是sync 。2. 使用sqlplus命令设置数据库1.当oracle安装完成之后,下面就需要对其进行使用,Oracle本身提供了一个“sqlplus.exe”的操作命令,直接运行此命令即可 。2.此处输入用户名为scott,密码为tiger 。3.在数据库之中会存在多张数据表,那么下面发出一个查询emp表的操作命令,输入命令如下,默认的显示方式并不是特别的好,此处可以使用以下的命令更改显示方式 4.在Oracle之中会存在多种用户,如果要想切换不同的用户,可以使用如下的命令完成,如果现在使用的是sys用户登录,那么就必须加上“AS SYSDBA”表示由管理员登录,其oracle脚本怎么做他用户不需要 。CONN 用户名/密码 [AS SYSDBA] ;范例:使用sys登录conn sys/change_on_install AS sysdba如果要想查看当前用户输入“show user”命令即可查看 。show user5.如果说现在使用sys用户登录,并且发出同样的查询命令,会发现找不到emp表的错误提示:6.因为这张表属于scott用户,所以当使用scott用户登录的时候可以直接使用此表,但是如果换了一个用户 , 那么就必须使用这个表的完整名称“用户名.表名称”,emp属于scott的,所以全名是“scott.emp” 。以上所述是小编给大家带来的Oracle11g数据库win8.1系统安装配置图文教程 , 希望对大家有所帮助,如果大家有任何疑问欢迎给我留言 , 小编会及时回复大家的!
oracle数据库 , 批量插入数据脚本批量插入数据脚本
1、第一种批量插入数据脚本,可以基本满足要求 。理解上较为简单,所以这个最常用 。
NEXTVAL和CURRVAL的区别:
1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出现在一个 SQL 语句中,则序列只增加一次 。在这种情况下,每个 sequence.CURRVAL 和 sequence.NEXTVAL 表达式都返回相同的值 , 不管在语句中sequence.CURRVAL 和 sequence.NEXTVAL 的顺序 。
执行脚本结果如下:
3、两个表,同时批量插入数据的脚本
3、
4、 涉及子表时,批量插入数据脚本,
5、 批量修改数据 :
时间取数方式:
一、SYSTIMESTAMP(取当前系统值)
二、SYSDATE(取当前系统值,但只精确到时,分和秒都为0)
三、固定值为:TO_TIMESTAMP ('2019-2-12 15:24:45.703000','yyyy-mm-dd hh24:mi:ss.ff6')
把固定的字段改为变量:
方式一:’||i||’ 例:’{“no”:“111’||i||’”}’(此方式)
方式二:concat 例:concat(concat(’{“blNo”:111"’,i),’"}’)
【oracle脚本怎么做 oracle脚本文件】oracle脚本怎么做的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle脚本文件、oracle脚本怎么做的信息别忘了在本站进行查找喔 。

    推荐阅读