六.dbms_session(提供了使用PL/SQL實現ALTER SESSION命令)

1、概述

作用:提供了使用PL/SQL實現ALTER SESSION命令,SET ROLE命令和其他會話信息的方法

.2、包的組成

1)、set_identifier
說明:用于設置會話的客戶ID號。
語法:dbms_session.set_identifier(client_id varchar2);
其中client_id指定當前會話的應用標識符。

2)、set_context
說明:用于設置應用上下文屬性
語法:
dbms_session.set_context(namespace varchar2,attribute varchar2,value varchar2);
dbms_session.set_context(namespace varchar2,attribute varchar2,value varchar2,username varchar2,client_id varchar2);
其中namespace指定應用上下文的命名空間,attribute指定應用上下文的屬性,value指定屬性值,username指定應用上下文的用戶名屬性。

3)、clear_context
說明:用于清除應用上下文的屬性設置
語法:dbms_session.clear_context(namespace varchar2,client_identifier varchar2,attribute varchar2);
其中client_identifier只適用于全局上下文。

4)、clear_identifier
說明:用于刪除會話的set_client_id.
語法:dbms_session.clear_identifier();

5)、set_role
說明:用于激活或禁止會話角色,與sql語句set role作用完全相同。
語法:dbms_seesion.set_role(role_cmd varchar2);
例子:在sql*plus使用該過程激活或禁止角色如下
dbms_session.set_role('DBA')
dbms_session.set_role('none')

6)、set_sql_trace
說明:用于激活或禁止當前會話的SQL跟蹤,其作用與SQL語句alter session set sql_trace= 完全相同。
語法如下:dbms_session.set_sql_trace(sql_strace boolean);
其中sql_strace用于指定布爾值,true表示激活sql跟蹤,false表示禁止。
例子:在sql*plus使用該過程
exec dbms_session.set_sql_trace(true);
exec dbms_session.set_sql_trace(false);

7)、set_nls
說明:用于設置NLS特征,其作用與sql語句alter session set <nls_param>=<value>完全相同。
語法:dbms_session.set_nls(param varchar2,value varchar2);
其中param指定nls參數,value指定nls參數
例子:在sql*plus使用該過程
exec dbms_seesion.set_nls('nls_date_format','''YYYY-MM-DD''');
select sysdate from dual;

8)、close_database_link
說明:用于關閉已經打開的數據庫鏈,其作用與SQL語句alter session close datebase link<name>完全相同。
語法:dbms_session.close_database_link(dbline varchar2);
其中用于指定要關閉的數據庫連接名。

9)、reset_package
說明:用于復位當前會話的所有包,并且會釋放包狀態。
語法:dbms_session.reset_package;

10)、modify_package_state
說明:用于修改當前會話的PL/SQL程序單元的狀態
語法:dbms_session.modify_package_state(action_flags in pls_integer);
其中,action_flags指定pl/sql程序單元標記,當設置為1是,會釋放plsql程序單元所占用的內存;2則會重新初始化pl/sql包。

11)、unique_session_id
說明:用于返回當前會話的惟一ID標識符
例子:select dbms_session.unique_session_id from dual;

12)、is_role_enabled
說明:用于確定當前會話是否激活了特定角色.
語法:dbms_session.is_role_enabled(rolename varchar2) return boolean;
其中rolename指定角色名。返回true表示已激活,false表示未激活。
例子:set serveroutput on
begin
if dbms_session.is_role_enabled('DBA') then
dbms_output.put_line('激活了');
else dbms_output.put_line('沒激活');
end if;
end;

13)、is_session_alive
說明:用于確定特定會話是否處于活動狀態.
語法:dbms_session.is_session_alive(uniqueid varchar2) return boolean;
其中uniqueid指定會話ID號,處于活動返回true,否則false。

14)、set_close_cached_open_cursors
說明:用于打開或關閉close_cached_open_cursors,其作用與alter session set close_cached_open_cursors完全相同。
語法:dbms_session.set_close_cached_open_cursors(close_cursors boolean);
其中close_cursors指定布爾值,設置為true打開,false關閉。

15)、free_unused_user_meory
說明:用于在執行了大內存操作(超過100K)之后回收未用內存
語法:dbms_session.pree_unused_user_memory;

16)、set_context
說明:設置應用上下文屬性的值.
語法:dbms_session.set_context(namespare varchar2,attribute varchar2,value varchar2,username varchar2,client_id varchar2);

17)、list_context
說明:用于返回當前會話原命名空間和上下文列表
語法:
type appctxrectyp is record(namespace varchar2(30),attribute varchar2(30),value varchar2(256));
type appctxtabtyp is table of appctxrectyp index by binary_integer;
dbms_session.list_context(list out appctxtabtyp,size out number);
其中list用于取得當前會話的列表集,size用于返回列表個數。

18)、swith_current_consumer_group
說明:用于改變當前會話的資源使用組
語法:dbms_session.switch_current_consumer_group(
new_group in varchar2,old_group out varchar2,initial_group in boolean);
其中new_group指定新資源使用組;old_group指定原有資源實用組;initial_group指定布爾值,true表示出錯后使用原有資源使用組。

轉載于:https://www.cnblogs.com/champaign/p/9468501.html

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

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

相關文章

多線程官方教程

多線程編程指南Sun Microsystems, Inc.4150 Network CircleSanta Clara, CA95054U.S.A.文件號碼819–7051–102006 年10 月版權所有2005 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA95054 U.S.A. 保留所有權利。本文檔及其相關產品的使用、復制、分發和反編譯…

iOS面試題(三)

1、Objective-C 中創建線程的方法是什么&#xff1f;如果在主線程中執行代碼&#xff0c;方法是什么&#xff1f;如果想延時執行代碼、方法又是什么&#xff1f; 線程創建有三種方法&#xff1a;使用NSThread創建、使用GCD的dispatch、使用子類化的NSOperation,然后將其加入NSO…

Oracle中修改遇到“ORA-00054: 資源正忙, 但指定以 NOWAIT 方式獲取資源, 或者超時失效”

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Oracle 11g中想修改表名&#xff1a; rename ASSETPORJECT to ASSETPROJECT; 結果提示&#xff1a;ORA-00054: 資源正忙, 但指定以 NOWA…

NWCD

1.java jdk和jre 求和算法 時間復雜度和空間復雜度 restful風格 微服務 maven中央倉庫 項目依賴jar包&#xff0c;換平臺運行 同步和異步 設計模式–代理模式 2.linux 僵尸進程和孤兒進程 如何消除僵尸進程 僵尸進程能被kill調嗎 磁盤性能分析iostat top free fdisk swap中a…

解決設置了background-size: cover; 但是圖片在ios下顯示不完整的問題

設置 background-size: 100% 99.9%&#xff1b; 轉載于:https://www.cnblogs.com/kugeliu/p/9469207.html

Python學習之路20-數據模型

《流暢的Python》筆記。本篇是Python進階篇的開始。本篇主要是對Python特殊方法的概述。1. 前言 數據模型其實是對Python框架的描述&#xff0c;它規范了這門語言自身構件模塊的接口&#xff0c;這些模塊包括但不限于序列、迭代器、函數、類和上下文管理器。不管在哪種框架下寫…

String s1==s2面試題

這個程序運行的結果是什么&#xff1f;class StringTest1{public static void main(String[] args) {String s1"equal";String s2 "equal";if(s1s2){System.out.println("s1s2");}else{ System.out.println("s1!s2");} }} 輸出 s1…

Vector:動態數組的使用和說明

摘自百度百科&#xff1a; 1. Vector 類在 java 中可以實現自動增長的對象數組; 創建了一個向量類的對象后&#xff0c;可以往其中隨意地插入不同的類的對象&#xff0c;既不需顧及類型也不需預先選定向量的容量&#xff0c;并可方便地進行查找。對于預先不知或不愿預先定義數組…

Spring AOP 代理模式

記錄幾篇關于AOP & 代理模式 的博客&#xff0c;寫的非常好&#xff0c;感謝作者分享&#xff01; Java中的代理模式——靜態代理以及分析靜態代理的缺點 Java中動態代理的兩種方式JDK動態代理和cglib動態代理以及區別 Spring中的AOP以及切入點表達式和各種通知 Spring…

mongodb 多表查詢

今天有一個業務涉及到mongodb的多表查詢&#xff0c;大體記錄下語句結構 db.table_a.aggregate([ {$lookup:{from:"table_b",localField:"userid",foreignField:"userid",as:"organization_doc"}}, //聯表B{ $project:{ _id:1, card…

跨平臺多線程編程

多線程介紹POSIX 1003.1-2001 定義了多線程編程的標準API。這個API就是廣為人知的pthreads。它的目的在于為跨平臺編寫多線程程序提供便利。多線程程序的編寫本文介紹了Linux 和 WIN32 平臺下的多線程程序的編寫方法Linux 系統對 pthreads 提供了良好的支持。一般地安裝完Linux…

方法重載和方法重寫

方法重載 &#xff08;1&#xff09; 方法重載是讓類以統一的方式處理不同類型數據的一種手段。多個同名函數同時存在&#xff0c;具有不同的參數個數/類型。 重載Overloading是一個類中多態性的一種表現。 &#xff08;2&#xff09; Java的方法重載&#xff0c;就是在類中可以…

shell獲取/etc/passwd中的用戶名和id

核心思想&#xff1a;cut 關鍵詞&#xff1a;head tail cut #!/bin/bash # get the information about /etc/passwd PATH/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATHfile"/etc/passwd" linewc -l $file | cut -d" "…

進度條控制(Windows 公共進度欄控件的功能)

MSDN&#xff1a;https://msdn.microsoft.com/zh-cn/library/sys15k39.aspx 構造 CProgressCtrl 對象&#xff1a;  CProgressCtrl(); 創建進度欄控件&#xff1a;  virtual BOOL Create( DWORD dwStyle(風格), const RECT& rect(位置大小), CWnd* pParentWnd(父窗體),…

本地瀏覽器緩存sessionStorage(臨時存儲) localStorage(長期存儲)的使用

對瀏覽器來說&#xff0c;使用 Web Storage 存儲鍵值對比存儲 Cookie 方式更直觀&#xff0c;而且容量更大&#xff0c;它包含兩種&#xff1a;localStorage 和 sessionStorage sessionStorage&#xff08;臨時存儲&#xff09; &#xff1a;為每一個數據源維持一個存儲區域&am…

HTML5的歷史

HTML5和WHATWG[1] 2004年Opera的IanHickson&#xff08;現在Google工作&#xff09;發起的HTML新標簽擴展以適應新的web應用&#xff0c;該發起遭到W3C的拒絕&#xff0c;而W3C憑空杜撰的作風引起了部分人的不滿&#xff0c;來自Opera,Apple&#xff0c;以及Mozilla的代表開始…

B-TREE、B+TREE、數據庫索引

推薦文章&#xff1a; B-Tree詳解 SQL夯實基礎&#xff08;五&#xff09;&#xff1a;索引的數據結構 MySQL B樹索引和哈希索引的區別 感謝作者分享&#xff01;

《重構-改善既有代碼的設計》-第1例:租賃影片(1)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 買了《重構 - 改善既有代碼的設計 》一書&#xff0c;一直沒有好好看&#xff0c;大致過了下也覺得只是有點點印象而已&#xff0c;最后…

java類加public和不加public

加public表示全局類&#xff0c;該類可以import到任何類內。不加public默認為保留類&#xff0c;只能被同一個包內的其他類引用。