亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

12c后的sqlprompt顯示設置的研究

發布時間:2020-08-04 21:19:57 來源:ITPUB博客 閱讀:230 作者:Thinkbase 欄目:關系型數據庫
如大家所了解的,oracle 12c的CDB,PDB新特性中可以通過alter session set container=XXX的方式來變更當前容器,我就在想,那么有沒有直觀的辦法在sqlprompt中直觀的顯示出這種容器的變化呢,以此為由有了下面的一系列實驗。

首先,我們需要了解怎么判斷當前容器

第一種:show con_name

SQL> alter session set container=pdb1;

Session altered.

SQL> show con_name

CON_NAME
------------------------------
PDB1

第二種:SELECT SYS_CONTEXT ('USERENV', 'CON_NAME') FROM DUAL;

SQL> alter session set container=pdb2;

Session altered.

SQL> SELECT SYS_CONTEXT ('USERENV', 'CON_NAME') FROM DUAL;

SYS_CONTEXT('USERENV','CON_NAME')
--------------------------------------------------------------------------------
PDB2

于是我就在考慮怎么在sqlprompt中直觀的顯示這種容器上的變化

首先是修改glogin.sql文件
[oracle@home01 admin]$ vi glogin.sql
Define _editor = 'vi'
set time on
set termout off
column propmt_c new_value propmt_c
SELECT SYS_CONTEXT ('USERENV', 'CON_NAME') as propmt_c FROM DUAL;
set sqlprompt "_user'@'_connect_identifier(&propmt_c)> "

然后登入sqlplus測試
[oracle@home01 admin]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Oct 15 15:34:40 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Advanced Analytics
and Real Application Testing options

15:34:40 SYS@PRODCDB(CDB$ROOT)> alter session set container=pdb1;

Session altered.

15:35:12 SYS@PRODCDB(CDB$ROOT)> show con_name

CON_NAME
------------------------------
pdb1
結果是雖然容器被改變了,但是sqlprompt仍然顯示的是舊的CDB$ROOT

用connect的方式登陸不同的容器
15:37:16 SYS@PRODCDB(CDB$ROOT)> conn sys/oracle@pdb2 as sysdba
Connected.
15:37:42 SYS@pdb2(PDB2)> show con_name


CON_NAME
------------------------------
PDB2
15:37:49 SYS@pdb2(PDB2)> 
這次成功了,通過connect的方式登陸的情況下,sqlprompt的顯示發生了變化,但是connect_identifier也對應的變成了容器庫。。。

實驗總結:
可以看出來這個sqlprompt,只在剛進sqlplus的時候作校驗,之后不會再發生變動,如果使用alter session set container的方式來修改當前容器的話,結果就是sqlprompt不會跟著意識到容器的變化,而是維持剛登入時獲得的con_name,但是如果用conn sys/oracle@pdbprod1 as sysdba的方式重新登入,sqlprompt就會發生改變




大家加油!
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍梧县| 龙山县| 封丘县| 莱西市| 栖霞市| 普兰县| 巫山县| 文成县| 亚东县| 霍林郭勒市| 休宁县| 廉江市| 新闻| 云和县| 肇源县| 华容县| 栾城县| 洪泽县| 孝昌县| 登封市| 封开县| 枣庄市| 滁州市| 巍山| 卢龙县| 麦盖提县| 黔西县| 榆林市| 桓台县| 博野县| 札达县| 遂川县| 工布江达县| 德令哈市| 始兴县| 赤峰市| 马尔康县| 上饶市| 宁明县| 本溪市| 随州市|