在SQL Server和Oracle中创建job

创建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日

相关文章

  • python 连接数据库mysql解压版安装配置及遇到问题

    Python 连接 MySQL 解压版安装配置及遇到问题 安装MySQL 首先需要先下载 MySQL,网址为 https://www.mysql.com/downloads/ 。 在页面中选择“MySQL Community Server”,下载并解压到本地。 安装Python 如果还未安装 Python,可以前往 https://www.python.or…

    database 2023年5月21日
    00
  • mysql聚集索引、辅助索引、覆盖索引、联合索引的使用

    MySQL中索引是数据库优化的重要手段,常见的索引类型有聚集索引、辅助索引、覆盖索引和联合索引。 聚集索引 聚集索引也叫主键索引,是表中物理存储的排序方式,每个表只有一个聚集索引。聚集索引的叶子节点存储的是数据行本身而非指向数据的指针,因此可以减少一次IO开销。同时使用聚集索引的查询效率也会相应地提高。主键(primary key)约束自动创建聚集索引。 示…

    database 2023年5月22日
    00
  • mysql下载与安装过程详解

    接下来我将为你提供完整的MySQL下载和安装攻略,并且给出两条示例说明。 下载MySQL 首先,进入MySQL官方网站:https://dev.mysql.com/downloads/mysql/ 在网页中找到“MySQL Community(GPL) Downloads”,点击进入 在“MySQL Community Server”下找到合适的版本进行下载…

    database 2023年5月18日
    00
  • Oracle创建自增字段–ORACLE SEQUENCE的简单使用介绍

    Oracle创建自增字段–ORACLE SEQUENCE的简单使用介绍 在Oracle数据库中,需要创建一个自动生成的自增字段,可以使用Oracle Sequence。本文将介绍在Oracle数据库中如何创建、使用Oracle Sequence。 创建Oracle Sequence 可以使用CREATE SEQUENCE语句创建Oracle Sequenc…

    database 2023年5月21日
    00
  • pymysql实现增删改查的操作指南(python)

    pymysql实现增删改查的操作指南 什么是pymysql PyMySQL 是在 Python 3.x 版本中用于连接 MySQL 服务器的一个库,语言上几乎与 Python 自带的 mysql 连接库 MySQLdb 基本一致。PyMySQL 使用纯 Python 实现,它不需要编译就能够安装到 Python 解释器中。 安装PyMySQL 使用 pip …

    database 2023年5月22日
    00
  • Linux查看和关闭后台运行程序的方法

    Linux查看和关闭后台运行程序的方法 在Linux中,有时我们需要在后台运行一些程序,这样不仅可以节省资源,还可以让我们继续进行其他操作。然而,当我们要查看某个后台运行的程序的状态或者关闭它时,我们就需要掌握一些技巧了。下面是关于如何查看和关闭后台运行程序的方法。 查看后台运行程序的方法 使用ps命令可以查看当前系统中运行的进程信息。常用的一些选项如下: …

    database 2023年5月22日
    00
  • SQL Server中函数、存储过程与触发器的用法

    SQL Server是一种关系型数据库管理系统,提供了许多常用的功能,如函数、存储过程和触发器等。这些功能可以提高数据库应用程序的可靠性和性能。下面我们逐个介绍这些功能及其用法。 一、函数 1.1 概述 函数是一种带有输入参数和返回值的可重复使用代码块。SQL Server提供了多种内置函数以及自定义函数。使用函数可以简化SQL语句,提高效率。 1.2 内置…

    database 2023年5月21日
    00
  • MSSQL 事务说明

    MSSQL事务是指包含多个操作的一组任务或操作,这些操作要么全部完成,要么全部不完成,称之为一个原子性操作。为了保证数据的完整性和一致性,MSSQL数据库提供了事务的功能。以下是MSSQL事务的详细说明: MSSQL事务说明 MSSQL事务的概念:一组原子性、一致性和持久性的操作。事务必须满足ACID(原子性、一致性、隔离性和持久性)特性,只有在满足ACID…

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