在SQL Server和Oracle中创建job

yizhihongxing

创建Job是数据库管理员和开发人员必须掌握的技能之一,下面我将详细讲解如何在SQL Server和Oracle中创建Job。

在SQL Server中创建Job

步骤1:打开SQL Server Management Studio

首先,打开SQL Server Management Studio并连接到需要创建Job的数据库实例。

步骤2:新建Job

在SQL Server Management Studio的对象资源管理器中,右键单击SQL Server代理,选择新建Job。

步骤3:配置Job属性

在新建的Job属性对话框中,输入Job名称、描述、类别和拥有者等信息。

步骤4:添加步骤

在新建Job属性对话框中,点击步骤页签,添加需要执行的步骤。

步骤5:设置调度计划

在新建Job属性对话框中,点击调度页签,设置Job的调度计划。

示例1:在SQL Server中创建备份Job

下面是一个示例演示如何创建SQL Server的备份Job:

USE [master]
GO

EXEC msdb.dbo.sp_add_job @job_name = N'BackupJob', @enabled = 1,
    @description = N'This job will backup all databases',
    @owner_login_name = N'sa', @category_name = N'database_maintenance'
GO

EXEC msdb.dbo.sp_add_jobstep @job_name='BackupJob', @step_name = N'BackupStep1', @subsystem = N'SQLSERVER',
    @command = N'BACKUP DATABASE [AdventureWorks] TO DISK=''C:\Backup\AdventureWorks.bak'';',
    @retry_attempts = 5, @retry_interval = 5
GO

EXEC msdb.dbo.sp_add_schedule @schedule_name=N'BackupSchedule', @freq_type=4, @freq_interval=1,
    @freq_subday_type=4, @freq_subday_interval=1, @active_start_time=113000, @active_end_time=235959
GO

EXEC msdb.dbo.sp_attach_schedule @job_name=N'BackupJob', @schedule_name=N'BackupSchedule'
GO

EXEC msdb.dbo.sp_add_jobserver @job_name=N'BackupJob', @server_name = N'(local)'
GO

这个示例将创建一个名为“BackupJob”的Job,它会执行对“AdventureWorks”数据库的完全备份。它还添加了一个名为“BackupSchedule”的调度计划,该计划将Job每天早上11:30执行。

示例2:在SQL Server中创建邮件通知Job

下面是一个示例演示如何创建SQL Server的邮件通知Job:

USE [msdb]
GO

EXEC msdb.dbo.sp_add_job @job_name='EmailJob', @enabled=1,
    @description='This job will send email notification upon job completion',
    @owner_login_name = N'sa', @category_name = N'database_maintenance'
GO

EXEC msdb.dbo.sp_add_jobstep @job_name='EmailJob', @step_name=N'EmailStep1', @command=N'select * from [AdventureWorks].[Sales].[vSalesPerson];',
    @subsystem=N'SQL',@output_file_name=N'C:\Output\Result.txt',@database_name=N'AdventureWorks',@retry_attempts=5,@retry_interval=5
GO

EXEC msdb.dbo.sp_add_jobstep @job_name='EmailJob', @step_name=N'EmailStep2', @command=N'EXEC msdb.dbo.sp_send_dbmail  
    @profile_name=''AdventureWorksDBMail'',  
    @recipients=''user@domain.com'',  
    @subject=''Job Execution Completed'',  
    @query_result_separator = ''|'',  
    @query_result_width = 1000,  
    @query = ''select * from [AdventureWorks].[Sales].[vSalesPerson] where SalesPersonID = 1'';',
    @retry_attempts=5, @retry_interval=5
GO

EXEC msdb.dbo.sp_add_jobserver @job_name='EmailJob', @server_name=N'(local)'
GO

这个示例将创建一个名为“EmailJob”的Job它执行查询语句并将结果输出到文件中,然后通过电子邮件向特定用户发送结果文件。在这个示例中,调用的是sp_send_dbmail存储过程。

在Oracle中创建Job

步骤1:打开Oracle SQL Developer

首先,打开Oracle SQL Developer,并连接到需要创建Job的数据库实例。

步骤2:新建Job

在Oracle SQL Developer的对象导航器中,找到DBMS_SCHEDULER,并在其下面的Jobs文件夹中右键单击,选择新建Job。

步骤3:配置Job属性

在新建的Job属性对话框中,输入Job名称、描述、拥有者和可见度等信息。

步骤4:添加步骤

在新建Job属性对话框中,点击步骤页签,添加需要执行的步骤。

步骤5:设置调度计划

在新建Job属性对话框中,点击调度页签,设置Job的调度计划。

示例1:在Oracle中创建备份Job

下面是一个示例演示如何创建Oracle的备份Job:

BEGIN
   dbms_scheduler.create_job (
      job_name        => 'BackupJob',
      job_type        => 'STORED_PROCEDURE',
      job_action      => 'BEGIN 
                             rman_backup.backup_database; 
                          END;',
      start_date      => sysdate,
      repeat_interval => 'FREQ=DAILY; BYHOUR=3; BYMINUTE=0;',
      enabled         => TRUE,
      comments        => 'This job will backup all databases');
END;
/

这个示例将创建一个名为“BackupJob”的Job,它将执行存储过程“rman_backup.backup_database”,该过程将备份所有数据库。它还指定了一个每天凌晨3点启动的调度计划。

示例2:在Oracle中创建邮件通知Job

下面是一个示例演示如何创建Oracle的邮件通知Job:

BEGIN
   dbms_scheduler.create_job (
      job_name        => 'EmailJob',
      job_type        => 'PLSQL_BLOCK',
      job_action      => 'BEGIN 
                             SELECT * FROM employees WHERE employee_id = 100;
                             utl_mail.send(sender => ''sender@domain.com'', 
                                           recipients => ''user@domain.com'', 
                                           subject => ''Job Execution Completed'', 
                                           message => ''The job has executed successfully.''); 
                          END;',
      start_date      => sysdate,
      repeat_interval => 'FREQ=DAILY; BYHOUR=12; BYMINUTE=0;',
      enabled         => TRUE,
      comments        => 'This job will send email notification upon job completion');
END;
/

这个示例将创建一个名为“EmailJob”的Job,它执行一个PL/SQL块并选择employees表中employee_id为100的行。然后,它将发送一封电子邮件,通知指定的用户执行完成。它还指定了一个每天中午12点启动的调度计划。

以上就是在SQL Server和Oracle中创建Job的完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在SQL Server和Oracle中创建job - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • 中国省市区数据mysql脚本

    2.查市 3.查区 4.Mysql脚本 /* Navicat MySQL Data Transfer Source Server : MySQL Source Server Version : 50022 Source Host : 127.0.0.1:3306 Source Database : xlj Target Server Type : MYSQL…

    MySQL 2023年4月13日
    00
  • redis配置文件redis.conf中文版(基于2.4)

    下面就为您详细讲解 redis 配置文件 redis.conf 中文版的完整攻略。 1. redis.conf 是什么? redis.conf 是 Redis 配置文件的默认命名,详细路径通常在 /etc/redis/redis.conf。 Redis 在启动时会读取该配置文件,并根据其中的参数进行设置。 2. redis.conf 中的常用参数 redis…

    database 2023年5月22日
    00
  • redis中使用redis-dump导出、导入、还原数据实例

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/109.html?1455861283 redis的备份和还原,借助了第三方的工具,redis-dump 1、安装redis-dump​   代码如下: [root@localhost tank]# yum install ruby r…

    Redis 2023年4月13日
    00
  • MySql存储过程与函数详解

    《MySql存储过程与函数详解》是一篇涉及MySql数据库存储操作的文章,本文将详细讲解MySql存储过程与函数的概念、语法及使用方法,并提供两个示例来帮助读者更好地理解。 MySql存储过程 概念 MySql存储过程是一种预先编写好的用于执行特定任务的程序单元,存储在数据库中,其类似于程序代码的概念,可以通过调用存储过程来完成数据库操作。 语法 创建存储过…

    database 2023年5月22日
    00
  • Oracle中PL/SQL复合数据类型

    很好,下面是Oracle中PL/SQL复合数据类型的详细攻略: 什么是PL/SQL复合数据类型 PL/SQL (Procedural Language/Structured Query Language)是Oracle数据库的过程式语言,它支持复合数据类型。复合数据类型是将不同类型的数据组合成一个整体来处理。PL/SQL中的复合数据类型主要包括数组类型、记录…

    database 2023年5月21日
    00
  • Windows下mysql-5.7.28下载、安装、配置教程图文详解

    Windows下mysql-5.7.28下载、安装、配置教程图文详解 1. 下载mysql-5.7.28安装包 首先,从官网https://dev.mysql.com/downloads/mysql/下载mysql-5.7.28安装包。在下载页面中,可以选择适合自己系统的版本,如Windows(x86,32位系统)或Windows(x86, 64位系统)。 …

    database 2023年5月22日
    00
  • Mysql常用函数大全(分类汇总讲解)

    Mysql中常用函数有很多,按照不同的功能可以分为不同的类别。以下是一份常用函数的分类汇总及讲解,旨在帮助读者熟练掌握Mysql函数的使用。 文本处理函数 这类函数用于处理文本字符串,包括字符串长度、查找、替换、连接等操作。常用函数包括: LENGTH(str): 获取字符串str的长度,字符长度为1,中文长度为3。 CONCAT(str1,str2,……

    database 2023年5月22日
    00
  • docker Compose部署springboot+vue前端端分离

    下面是完整攻略: 1. 前置条件 在进行 Docker Compose 部署 Spring Boot + Vue 前端后端分离前,需要确保已经具备一下前置条件: 熟悉 Docker 和 Docker Compose 的基本使用方法 已经安装好 Docker 和 Docker Compose 环境 已经有 Spring Boot 和 Vue 的项目代码,并能正…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部