编译用户Orcle的package中访问其它Schema的表

在本文中,我们主要介绍编译用户的内容,自我感觉有个不错的建议和大家分享下

    package要拜访其它Schema的表,但编译报错ORA-00942,

    上网查了一下,再次对用户授权(以下是OB中设定截图),问题解决。

    每日一道理
成功的花朵开放在啊勤劳的枝头,失败的苦果孕育在懒惰的温床之中。

    授权和null

文章结束给大家分享下程序员的一些笑话语录: 大家喝的是啤酒,这时你入座了。
你给自己倒了杯可乐,这叫低配置。
你给自已倒了杯啤酒,这叫标准配置。
你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。
你给自己倒了杯可乐,还滴了几滴醋,不仅颜色跟啤酒一样,而且不冒热气还有泡泡,这叫超级木马。
你的同事给你倒了杯白酒,这叫推荐配置。
菜过三巡,你就不跟他们客气了。
你向对面的人敬酒,这叫p2p。
你向对面的人敬酒,他回敬你,你又再敬他……,这叫tcp。
你向一桌人挨个敬酒,这叫令牌环。
你说只要是兄弟就干了这杯,这叫广播。
有一个人过来向这桌敬酒,你说不行你先过了我这关,这叫防火墙。
你的小弟们过来敬你酒,这叫一对多。
你是boss,所有人过来敬你酒,这叫服务器。
酒是一样的,可是喝酒的人是不同的。
你越喝脸越红,这叫频繁分配释放资源。
你越喝脸越白,这叫资源不释放。
你已经醉了,却说我还能喝,叫做资源额度不足。
你明明能喝,却说我已经醉了,叫做资源保留。
喝酒喝到最后的结果都一样
你突然跑向厕所,这叫捕获异常。
你在厕所吐了,反而觉得状态不错,这叫清空内存。
你在台面上吐了,觉得很惭愧,这叫程序异常。
你在boss面前吐了,觉得很害怕,这叫系统崩溃。
你吐到了boss身上,只能索性晕倒了,这叫硬件休克。

<think>好的,我现在需要回答用户关于如何查看Oracle数据库中某个的最新访问时间的问题。首先,我需要回忆一下Oracle的相关监控机制。Oracle默认情况下并不会记录访问时间,所以用户可能需要启用某种审计功能或者使用动态性能视图来追踪这些信息。 首先,考虑审计功能。Oracle的审计可以配置来跟踪对特定访问,包括SELECT、INSERT、UPDATE、DELETE等操作。用户需要先启用审计,然后设置审计策略来监控目标。审计记录会存储在DBA_AUDIT_TRAIL视图中,之后可以通过查询这个视图来找到最新的访问时间。不过,这需要相应的权限,并且可能会对性能有一定影响,尤其是当被频繁访问时。 另外,如果审计没有启用,可能需要考虑其他方法。例如,使用Flashback Query或者日志挖掘,但这些方法可能比较复杂,且不一定能直接得到最后访问时间。动态性能视图如V$SQL或者DBA_HIST_SQLSTAT可能记录执行过的SQL语句,通过分析这些语句中的访问情况,结合时间信息,可以间接推断出的最后访问时间。不过这种方法需要处理大量的SQL数据,并且准确性可能不高,因为并不是所有的SQL都会被长期保留。 还有一种可能性是使用Oracle的细粒度审计(FGA),通过创建策略来监控对的查询操作,这样可以在DBA_FGA_AUDIT_TRAIL中查看到相关的访问记录。这种方法更加灵活,可以针对特定的SQL操作进行审计,但同样需要配置相应的策略。 需要注意的是,所有这些方法都需要有足够的权限,比如SELECT_CATALOG_ROLE或者直接授予的审计查看权限。此外,如果数据库的审计参数未正确配置,可能无法获取所需的信息。因此,用户可能需要先检查审计相关的参数是否已经设置,如AUDIT_TRAIL是否启用,并且确认审计日志的存储位置和保留策略。 总结起来,最直接的方法是通过启用审计并查询审计日志,或者使用细粒度审计来跟踪访问时间。如果审计未启用,可能需要考虑其他间接方法,但这些方法的可行性和准确性可能有限。还需要提醒用户注意性能影响和权限要求,确保在合规的前提下进行操作。</think>在Oracle数据库中,要查看某个的最新访问时间,需要通过以下步骤实现: --- ### 1. **启用审计功能(若未启用)** Oracle默认不跟踪访问时间,需先启用审计: ```sql -- 查看审计状态 SHOW PARAMETER AUDIT_TRAIL; -- 启用审计(需DBA权限) ALTER SYSTEM SET AUDIT_TRAIL=DB,EXTENDED SCOPE=SPFILE; ``` --- ### 2. **对目标设置审计策略** ```sql -- 审计对指定的所有访问(如SELECT, UPDATE等) AUDIT SELECT, INSERT, UPDATE, DELETE ON 名 BY ACCESS; ``` --- ### 3. **查询审计日志** 通过以下视图查询最新访问时间: ```sql SELECT TIMESTAMP, -- 操作时间 OS_USERNAME, -- 操作系统用户 USERNAME, -- 数据库用户 ACTION_NAME, -- 操作类型(如SELECT) SQL_TEXT -- 执行的SQL FROM DBA_AUDIT_TRAIL WHERE OBJ_NAME = '名' ORDER BY TIMESTAMP DESC FETCH FIRST 1 ROWS ONLY; ``` --- ### 4. **替代方法:使用动态性能视图** 如果未启用审计,可尝试通过SQL执行记录推断: ```sql SELECT LAST_ACTIVE_TIME, -- SQL最后执行时间 SQL_FULLTEXT -- 完整SQL文本 FROM V$SQL WHERE SQL_TEXT LIKE '%名%' ORDER BY LAST_ACTIVE_TIME DESC FETCH FIRST 10 ROWS ONLY; ``` **注意**:此方法依赖SQL缓存,可能不完整。 --- ### 关键注意事项 - **权限要求**:需`DBA`权限或`SELECT_CATALOG_ROLE`角色。 - **性能影响**:高频审计可能影响性能。 - **日志保留**:定期清理审计日志避免空间问题。 建议优先通过审计功能实现精准记录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值