oracle作业展示

本文介绍了Oracle数据库连接配置的基本步骤,包括使用Oracle网络配置助手设置本地服务名,添加远程服务器服务并完成连接测试。此外,还展示了如何利用SQL*Plus进行简单的查询操作。

实验目的: 掌握oracle数据库连接的基本原理和具体操作过程
实验内容:学习Oracle连接配置的内容纲要,并且安装oracle,利用sql plus 实现简单语句查询。
实验准备: 从数据库管理员处获得关于数据库的关键参数(服务器地址、数据库服务名、数据库服务端口)
从数据库管理员处获得用户的账号和密码

具体操作:
1、启动oracle网络配置助手
开始–> 程序–> oracle–>application develop–> net configration assistant
这里写图片描述
2、选择本地服务名配置这里写图片描述
这里写图片描述

3、将远程服务器的服务添加为本地服务名
依次填写管理员提供的数据库关键参数
address: 10.1.5.5
sid: orcl
port: 1521
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-37QGE1IE-1593400764217)(https://img-blog.youkuaiyun.com/20170225105022297?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzc2NTUwNjI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
这里写图片描述
这里写图片描述
这里写图片描述

4、连接测试通过后填写自定义本地服务名
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

5、利用sqlplus连接上服务器进行简单查询操作
select table_name from user_tables;
desc emp;
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

### Oracle 数据库作业设计方案示例 在 Oracle 数据库中,`DBMS_JOB` 和 `DBMS_SCHEDULER` 是两种常用的机制来管理定时任务或批处理操作。以下是基于这两种工具的一个典型作业设计方案。 #### 使用 DBMS_JOB 的简单方案 `DBMS_JOB` 提供了一种较为传统的方式来调度任务。它允许用户定义何时以及如何运行特定的任务。下面是一个简单的例子: ```sql -- 创建一个存储过程作为任务的核心逻辑 CREATE OR REPLACE PROCEDURE update_stock AS BEGIN UPDATE inventory SET stock_level = stock_level - 1 WHERE product_id = 'P001'; END; / -- 提交一个新的 JOB 来定期调用该存储过程 DECLARE job_number BINARY_INTEGER; BEGIN DBMS_JOB.SUBMIT( job => job_number, what => 'update_stock;', next_date => SYSDATE + INTERVAL '5' MINUTE, -- 下次执行时间为当前时间加5分钟 interval => 'SYSDATE + INTERVAL ''5'' MINUTE'); -- 每隔5分钟重复一次 COMMIT; -- 记得提交事务以激活JOB END; / ``` 此脚本中的核心部分是通过 `DBMS_JOB.SUBMIT` 方法设置了一个每五分钟减少指定产品库存数量的操作[^3]。 然而需要注意的是,尽管 `DBMS_JOB` 功能强大且易于配置,但在较新的版本中推荐使用更先进的替代品——即 `DBMS_SCHEDULER`。 #### 使用 DBMS_SCHEDULER 的增强型方案 相比起旧式的 `DBMS_JOB` 接口,`DBMS_SCHEDULER` 提供了更加丰富的特性和灵活性。这里展示如何利用这个特性更强的新接口创建类似的周期性更新任务。 ```sql -- 首先创建用于执行业务逻辑的PL/SQL块或者已存在的存储过程 CREATE OR REPLACE PROCEDURE adjust_inventory IS BEGIN FOR rec IN (SELECT * FROM orders WHERE status='NEW') LOOP UPDATE products p SET p.stock = NVL(p.stock,0)-rec.quantity WHERE p.productid=rec.productid; DELETE FROM orders o WHERE o.orderid=rec.orderid AND o.status='NEW'; END LOOP; EXCEPTION WHEN OTHERS THEN NULL; END; / -- 然后定义并启用scheduler job BEGIN SYS.DBMS_SCHEDULER.CREATE_JOB ( job_name => 'inventory_adjustment_job', job_type => 'STORED_PROCEDURE', job_action => 'adjust_inventory', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=DAILY;', -- 设置每天运行一次 enabled => TRUE); END; / ``` 上述代码片段展示了怎样借助 `DBMS_SCHEDULER.CREATE_JOB` 函数安排每日自动调整商品库存水平的工作流[^2]。 以上两个案例分别代表了不同层次上的自动化解决方案;前者适合小型应用环境下的快速部署需求,而后者则适用于大型企业级系统的复杂场景规划之中。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值