1.先手动创建表

create table user01_backup_20210204 select * from user01

commit;

2.清空表

truncate table user01_backup_20210204

delete from user01_backup_20210204

也可以将此语句写到下面存储过程中,配合备份策略实现备份

3.创建存储过程

create or replace procedure p_backupuser01 is

begin

execute immediate 'insert into user01_backup_20210204 select * from user01';

commit;

end;

4.创建计划任务

VARIABLE backupuser01 number;

  begin

  sys.dbms_job.submit(:backupuser01,’p_backupuser01;’, trunc(sysdate+1)+1/24,’ trunc(sysdate+1)+1/24’);

  commit;

  end;

  /

这里需要注意的是,在submit方法的前面一定要先定义job这个变量,另外,submit方法的第二个参数是一个存储过程的名,记得在后面添加“:”号,在next_date是一个时间类型变量而不是一个字符串,所以需要注意不要把它当成字符串,不需要对该参数加引号。最后一个参数interval是一个字符串类型,记得添加引号。最常见的错误如下图所示:

  ORA-01008: not all
variables bound就是没有定义变量的意思。一定记的在使用submit方法时定义jobid变量。

下面是常有的设置Interval的方法:

  2 每天固定时间运行,比如早上8:10分钟:Trunc(Sysdate+1) + 8/24

  ² 每天:trunc(sysdate+1)

  ² 每周:trunc(sysdate+7)

  ² 每月:trunc(sysdate+30)

  ² 每个星期日:next_day(trunc(sysdate),’SUNDAY’)

  ² 每天6点:trunc(sysdate+1)+6/24

  ² 半个小时:sysdate+30/1440

TRUNC()函数分两种   

trunc实际上是truncate函数,字面意思是截断,截尾。 

1.TRUNC(for
dates) 

TRUNC函数为指定元素而截去的日期值。截尾后返回最近日期 

其具体的语法格式如下: 

TRUNC(date[,fmt]) 

date 一个日期值 

fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 

下面是该函数的使用情况: 

select   trunc(sysdate,'mm')  
from   dual=2009-1-1 

   

2.TRUNC(for
number) 

TRUNC函数的功能是将数字进行截断,对所截取的结果并不四舍五入。   

其具体的语法格式如下 

TRUNC(number[,decimals]) 

number 待做截取处理的数值 

decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分 

下面是该函数的使用情况: 

TRUNC(89.985,2)=89.98 

TRUNC(89.985)=89 

TRUNC(89.985,-1)=80 

  注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。

5.可以通过
select * from all_jobs 查看作业状态

oracle通过计划任务备份表的更多相关文章

  1. Oracle备份表结构和数据

    --创建一份表结构 create table BASE_GOODSPAYMENT_SETTING_BAK as select * from BASE_GOODSPAYMENT_SETTING ; -- ...

  2. oracle备份表

    oracle与sql单表备份的区别 (     oracle中备份表: create table 备份表名 as select * from 原表 sql server中备份表: select * i ...

  3. 看懂Oracle执行计划、表连接方式

    看懂Oracle执行计划  原文:https://www.cnblogs.com/Dreamer-1/p/6076440.html 最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也 ...

  4. oracle 快速备份表数据

      oracle 快速备份表数据 CreateTime--2018年2月28日17:04:50 Author:Marydon UpdateTime--2017年1月20日11:45:07 1.1.9. ...

  5. 【Oracle】Windows定时计划每天备份数据库

    脚本 OracleBakEveryDay.bat @echo off echo ================================================ echo Window ...

  6. oracle备份表和数据

    oracle 备份数据 如果备份表存在 原表t_base_employee,备份表t_base_employee20180718 insert into t_base_employee0718 sel ...

  7. Oracle 备份表数据

    --备份表数据 select * from t_owners; --创建备份表 create table t_owners_copy ( id number, name ), addressid nu ...

  8. 在Oracle中实现每日表备份并删除7天前的备份表

    不用闪回技术,因为业务想眼睁睁的看到备份表,而不是让DBA搞一通之后,才能看到备份数据表 OK,那好办了,写个存储过程解决你的需求,每天建个新表,把数据备份进去,业务人员可以看到这些每天的备份表 然后 ...

  9. mysql和Oracle 备份表

    1.SQL Server中,如果目标表存在: insert into 目标表 select * from 原表; 2.SQL Server中,,如果目标表不存在: select * into 目标表  ...

  10. oracle/ms sql 系统表

    sql server系统表详细说明 sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 syscurco ...

随机推荐

  1. win32com操作word 第三集:Range精讲(一)

    本课程<win32com操作word API精讲&项目实战>,本公众号以文字分享为主,B站与视频号则发布视频分享,ID均为:一灯编程 本集开始,将会深入Document接口.打开或 ...

  2. 对于Java平台的理解

    谈谈你对 Java 平台的理解?"Java 是解释执行",这句话正确吗?   Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的"一处编译,处处运行& ...

  3. 请求的URI过长:414 Request-URI Too Large

    问题:在项目中遇到使用get 请求,发现前端传递的参数超过nginx 服务器的限制.三种解决方法(任选一种): 1.在nginx配置文件里面把这两个缓存加大 文件位置:conf/nginx.conf ...

  4. ubuntu下yaml-cpp安装与使用

    安装 从GitHub上下载源码编译安装:git clone https://github.com/jbeder/yaml-cpp.git: 进入源码目录并创建一个 build 目录:cd yaml-c ...

  5. 异常机制(Exception)

    异常机制(Exception) 什么是异常 实际工作中,遇到的情况不肯恩格式非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者格式不对,你要读 ...

  6. 11月29日内容总结——SQL注入问题、视图、触发器、事务、存储过程、函数、流程控制、索引、慢查询、数据库三大范式

    目录 一.SQL注入问题 SQL注入问题引入 SQL注入概念和解决方案 二.视图 三.触发器 定义 代码 1.触发器命名有一定的规律 2.临时修改SQL语句的结束符 四.事务 事务的四大特性(ACID ...

  7. 浅谈Python中的in,可能有你不知道的

    Python中的in,没那么简单,虽然也不难 https://docs.python.org/zh-cn/3.9/reference/expressions.html#membership-test- ...

  8. CentOS7 RPM方式安装JDK

    1.下载jdk rpm Java Downloads | Oracle 中国 https://www.oracle.com/cn/java/technologies/downloads/#jdk19- ...

  9. JAVA8 常见用法

    1 . 集合List<T> 去单个元素,返回集合 List<Tbhr01> tbhr01List = new ArrayList<Tbhr01>(); List&l ...

  10. lua 控制语句

    for循环 模式1 for k,v in f, data, init_k do end 进行的操作是 f(data, old_k), 例如f(data, init_k) 渴望返回的是 new_k, v ...