SQL> grant select any table on schema test to norton;
复制
#!/bin/bash
# 抓取Oracl环境变量
source home/oracle/.bash_profile
# 日志文件路径
LOG_FILE="/tmp/oracle_grant.log"
# 清空日志文件并记录开始时间
echo "==== 权限刷新开始 $(date) ====" > $LOG_FILE
# 赋予READRPT用户对ODS/CACHE用户下所有table view SELECT权限
sqlplus -s as sysdba <<EOF >> $LOG_FILE
SET SERVEROUTPUT ON
DECLARE
v_sql VARCHAR2(1000);
BEGIN
-- 处理ODS用户的表和视图
FOR tbl IN (
SELECT table_name FROM all_tables WHERE owner = 'ODS'
UNION
SELECT view_name AS table_name FROM all_views WHERE owner = 'ODS'
) LOOP
BEGIN
v_sql := 'GRANT SELECT ON ODS."' || tbl.table_name || '" TO READRPT';
EXECUTE IMMEDIATE v_sql;
DBMS_OUTPUT.PUT_LINE('Granted SELECT on ODS.' || tbl.table_name);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Failed for table/view: ODS.' || tbl.table_name || ' - ' || SQLERRM);
END;
END LOOP;
-- 处理CACHE用户的表和视图
FOR tbl IN (
SELECT table_name FROM all_tables WHERE owner = 'CACHE'
UNION
SELECT view_name AS table_name FROM all_views WHERE owner = 'CACHE'
) LOOP
BEGIN
v_sql := 'GRANT SELECT ON CACHE."' || tbl.table_name || '" TO READRPT';
EXECUTE IMMEDIATE v_sql;
DBMS_OUTPUT.PUT_LINE('Granted SELECT on CACHE.' || tbl.table_name);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Failed for table/view: CACHE.' || tbl.table_name || ' - ' || SQLERRM);
END;
END LOOP;
END;
/
EXIT;
EOF
# 记录完成时间
echo "==== 权限刷新完成 $(date) ====" >> $LOG_FILE
复制

最近联合几个 ACE 开通了一个付费微信群,加群后会有一些会员福利(分享各类技术文档,干货资源,问题解答等等),更有特邀嘉宾会定期在群内直播,解读AWR,快问快答等!有兴趣联系微:xiaowai23z


文章转载自青年数据库学习互助会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
546次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
464次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
443次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
441次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
440次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
437次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
412次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
407次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
392次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
353次阅读
2025-04-17 17:02:24