達夢授權某個模式給其它用戶只讀權限

為了在生產環境中將SZSJTJFX模式下的所有對象的只讀權限授予XXXX的賬號SZJG_CPZLJD,可以通過以下分批處理的腳本來完成。此腳本會遍歷SZSJTJFX模式下的所有表和視圖,并生成相應的GRANT語句,以避免“過多的對象名前綴”錯誤。

分批處理的動態SQL腳本

DECLARECURSOR CUR IS SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OWNER = 'SZSJTJFX' AND OBJECT_TYPE IN ('TABLE', 'VIEW');SQLSTMT VARCHAR2(1000);BATCH_SIZE CONSTANT PLS_INTEGER := 10; -- 設置為更小的批次OBJECT_COUNT PLS_INTEGER := 0;
BEGINFOR REC IN CUR LOOPBEGINSQLSTMT := 'GRANT SELECT ON SZSJTJFX.' || REC.OBJECT_NAME || ' TO SZJG_CPZLJD;';EXECUTE IMMEDIATE SQLSTMT;EXCEPTIONWHEN OTHERS THENDBMS_OUTPUT.PUT_LINE('Error granting SELECT on ' || REC.OBJECT_NAME || ': ' || SQLERRM);END;OBJECT_COUNT := OBJECT_COUNT + 1;IF OBJECT_COUNT >= BATCH_SIZE THENCOMMIT;OBJECT_COUNT := 0;END IF;END LOOP;COMMIT;
END;

解釋

  1. DECLARE: 聲明所需變量和常量。
    • CUR: 游標查詢獲取SZSJTJFX模式下所有表和視圖的名稱。
    • SQLSTMT: 存儲動態生成的GRANT語句。
    • BATCH_SIZE: 設置為更小的批次大小(如10)。
    • OBJECT_COUNT: 記錄當前批次中已處理的對象數量。
  2. FOR REC IN CUR LOOP: 循環遍歷游標中的每一行。
  3. BEGIN … END: 包裝GRANT語句的執行,以便捕捉異常。
    • SQLSTMT := ‘GRANT SELECT ON SZSJTJFX.’ || REC.OBJECT_NAME || ’ TO SZJG_CPZLJD;';: 拼接生成GRANT語句。
    • EXECUTE IMMEDIATE SQLSTMT;: 執行生成的GRANT語句。
    • EXCEPTION: 捕捉異常并輸出錯誤信息。
  4. OBJECT_COUNT := OBJECT_COUNT + 1;: 增加當前批次的對象計數。
  5. IF OBJECT_COUNT >= BATCH_SIZE THEN: 檢查是否達到批次大小。
    • COMMIT;: 提交當前批次的事務。
    • OBJECT_COUNT := 0;: 重置對象計數。
  6. END LOOP: 循環結束。
  7. COMMIT;: 提交最后一批未滿批次大小的事務。
  8. END: 匿名PL/SQL塊結束。

執行步驟

  1. 使用數據庫管理工具(如達夢數據庫管理工具)登錄到生產環境數據庫。
  2. 確保啟用了DBMS_OUTPUT,以便可以看到調試信息。
  3. 打開SQL窗口并粘貼上述腳本。
  4. 執行腳本,完成權限授予。

驗證權限

可以使用以下查詢驗證是否正確授予了只讀權限:

SELECT * FROM SZSJTJFX.某個表名 WHERE ROWNUM = 1;

使用SZJG_CPZLJD賬號執行該查詢,確保能成功返回結果,以驗證權限是否正確授予。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/17228.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/17228.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/17228.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python基礎內容---上萬字總結(回顧自己一年來所有關于python的學習)

Python語言元素之變量 作為一個程序員,可能經常會被外行問到兩個問題,其一是“什么是(計算機)程序”,其二是“寫(計算機)程序能做什么”,這里我先對這兩個問題做一個回答。程序是指令的集合,寫程序就是用指令控制計算機做我們想讓它做的事情。那么,為什么要用Python…

Java后端面經

1.可重復讀,已提交讀,這兩個隔離級別表現的現象是什么,區別是什么樣的? 可重復讀:表示整個事務看到的事務和開啟后的事務能看到的數據是一致的,既然數據是一致的,所以不存在不可重復讀。而且不…

kafka調優參考建議 —— 筑夢之路

這里主要是從不同使用場景來調優,僅供參考。 吞吐量優先 吞吐量優先使用場景如采集日志。 1. broker配置調優 num.partitions:分區個數,設置為與消費者的線程數基本相等 2. producer配置調優 batch.size 批量提交消息的字節數,…

力扣算法之1045. 買下所有產品的客戶

力扣傳送門 題解注釋 Customer表中對應的customer_id對應的product_key去重后要全部存在于Product表中的product_key 我的解 SELECT customer_id FROM Customer GROUP BY customer_id HAVING COUNT(DISTINCT product_key)(SELECT COUNT(DISTINCT product_key) FROM Product…

《java數據結構》--順序表詳解

一.順序表的概念🙉 🐱順序表是一段物理地址連續的儲存單元,一次儲存數據元素的線性結構。一般情況下采用數組儲存,和數組的增刪查改類似。 但是順序表和數組還是有區別的比如,數組按照是否可以擴容可以分為&#xff…

duckdb 插件機制研究

本文研究 duckdb 內置的 extensions 工作機制。 插件架構 在 duckdb 源碼內,內置了一組原生插件,位于頂層 extension 目錄下: 除此之外,還支持 Out-of-Tree Extension,簡單說就是獨立的插件,不是集成在源…

Star CCM+繪圖顯示設置

前言 如前文介紹,根據報告創建監視器與繪圖后,在繪圖中會出現報告繪圖。此處可以自定義繪圖的格式,如網格顯示、字體大小、曲線的粗細等。同時也可以根據需要創建右坐標,分別監測不同類型的函數數值。為此方便后期輸出仿真報告。…

哆啦AAA萌也能用HTML畫出來?看這里!【完整代碼可運行】

關注微信公眾號「ClassmateJie」有完整代碼以及更多驚喜等待你的發現。 簡介/效果展示 你是否曾經想過&#xff0c;那些可愛的哆啦A夢角色是如何被創造出來的呢&#xff1f;今天&#xff0c;我要帶你一起探索一個神奇的秘密——用HTML畫出哆啦A夢&#xff01; 代碼 <!DOCT…

【quarkus系列】創建quarkus第一個應用程序

文章目錄 序言環境準備創建項目項目分析程序代碼構建訪問項目 序言 Quarkus 是一個設計用于 Kubernetes 和云原生環境的 Java 框架&#xff0c;具有快速啟動時間、低內存消耗和強大的開發者體驗。溪源將帶您一步步創建一個簡單的 Quarkus 應用程序。 環境準備 在開始之前&am…

Neo4j安裝部署及python連接neo4j操作

Neo4j安裝部署及python連接neo4j操作 Neo4j安裝和環境配置 安裝依賴庫&#xff1a; sudo apt-get install wget curl nano software-properties-common dirmngr apt-transport-https gnupg gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y 增加Neo4 GPG key&…

為什么并行化將會是下一代的區塊鏈解決方案?

原文標題&#xff1a;《Parallel Execution: The Next Generation of Blockchains》撰文&#xff1a;Paul Timofeev 、Mike Jin、Gabe Tramble 編譯&#xff1a;Chris&#xff0c;Techub News 區塊鏈是虛擬機&#xff0c;一種軟件基礎的計算模型&#xff0c;它運行在任何人都可…

DDOS攻擊和DOS攻擊有什么區別?

DDOS攻擊的全稱為分布式拒絕服務攻擊&#xff0c;能夠使很多個計算機在同一時間內遭受到攻擊&#xff1b;DOS攻擊的全稱則是拒絕服務攻擊&#xff0c;是攻擊者想辦法讓目標機器停止提供服務&#xff0c;對于DDOS攻擊和DOS攻擊我們經常會混淆&#xff0c;但是兩者之間在性質上還…

Pytorch深度學習實踐筆記10(b站劉二大人)

&#x1f3ac;個人簡介&#xff1a;一個全棧工程師的升級之路&#xff01; &#x1f4cb;個人專欄&#xff1a;pytorch深度學習 &#x1f380;CSDN主頁 發狂的小花 &#x1f304;人生秘訣&#xff1a;學習的本質就是極致重復! 《PyTorch深度學習實踐》完結合集_嗶哩嗶哩_bilibi…

C++的第一道門坎:類與對象(一)

1.面向過程與面向對象 1.1面向過程 我們之前學習的C語言就是一種面向過程的語言&#xff0c;面向過程的語言強調的是具體實現的過程&#xff0c;一般用函數來具體實現。我們用面向過程的思想&#xff0c;就可以把炒菜分為以下幾個步驟: 1.2面向對象 而對于面向對象的語言而言…

【簡單介紹下容器是什么?】

&#x1f3a5;博主&#xff1a;程序員不想YY啊 &#x1f4ab;CSDN優質創作者&#xff0c;CSDN實力新星&#xff0c;CSDN博客專家 &#x1f917;點贊&#x1f388;收藏?再看&#x1f4ab;養成習慣 ?希望本文對您有所裨益&#xff0c;如有不足之處&#xff0c;歡迎在評論區提出…

【Spring】Spring AOP底層原理:JDK動態代理和CGLIB動態代理

目錄 1、代理模式 1.1、靜態代理 1.2、動態代理 2、JDK 動態代理 2.1、jdk動態代理簡介 2.2、使用JDK動態代理機制步驟 3、CGLIB 動態代理 3.1、CGLIB 動態代理的特性 3.2、CGLIB的核心類 3.3、CGLIB 動態代理步驟 4、JDK 和 CGLIB 創建代理對象的區別 ?編輯 1、…

通關!游戲設計之道Day16

皆大歡喜計費點 游戲行業中有一項設計顯得越來越重要&#xff0c;那就是計費點設計 是開發者琢磨出來的一系列手段&#xff0c;讓玩家買了游戲之后&#xff0c;還能繼續付費 對于把玩家跟他們的錢拆散&#xff0c;游戲開發者們總是樂此不疲 來看幾個能讓開發者額外多賺些錢…

(四)手把手教你內網穿透,實現外網主機訪問內網服務器

背景&#xff1a;書接上回&#xff0c; 服務器的使用-CSDN博客 課題組成員都有自己的賬號&#xff0c;且能通過內網訪問服務器&#xff0c;進行遠程連接了。我們知道內網中的主機可以訪問公網的主機&#xff0c;反之不可以訪問。那么如果課題組成員在家不在內網區域內&#x…

源碼編譯安裝LAMP與部署

目錄 一、LAMP架構的簡述 1.LAMP搭建時各組件安裝順序 二、編譯安裝Apache httpd服務 1.關閉防火墻&#xff0c;將安裝Apache所需軟件包傳到/opt目錄下 2.安裝環境依賴包?編輯 3.配置軟件模塊 4.編譯及安裝 5.優化配置文件路徑&#xff0c;并把httpd服務的可執行程序文…

基于51單片機的智能燈光控制系統

一.硬件方案 智能燈光控制系統由單片機最小系統、人體感應模塊、關照強度模塊、燈光控制模塊、電源模塊和燈泡組成。本文以STC89C52單片機為核心&#xff0c;通過利用光照度和紅外人體感應相結合主動與被動的探測方法&#xff0c;現了室內無人或者關照充足時燈光自動光燈&…