使用DBMS_SHARED_POOL包將物件固定到共享池
--******************************************
-- 使用DBMS_SHARED_POOL包將對象固定到共享池
--******************************************
DBMS_SHARED_POOL包提供存儲過程來將PL/SQL對象或SQL遊標固定到Oracle 共享池。一旦這些對象固定之後,將不再參與aged out,而
是常駐內存,即便是使用alter systemflush shared_pool也不會將對象清除出共享池。
對於一些大值對象裝載進共享池時容易引發兩種類型的問題:
ORA-04031
為大值對像尋找可用的空間而引發系統效能下降
將大值對象在實例啟動時裝載進共享池可以避免上述問題。
對於已經固定在內存中的包,在關閉數據庫之前,該對象會被一直保留,不會清除或失效。
需要訪問DBMS_SHARED_POOL這個包的任何用戶都必須由SYS授予執行權限。
如果在SYS模式中創建的包並在不同的模式中運行示例代碼,則首先必須給運行示例(即TEST)的用戶授予EXECUTE_CATALOG_ROLE
角色且在DBMS_SHARED_POOL上給TEST以EXECUTE權限,然後需要在SYS.DBMS_SHARED_POOL.KEEP
指令碼並不為這個包創建公有同義詞。
一、安裝(DBMS_SHARED_POOL預設並沒有隨系統安裝)
要使用這個過程,首先必須運行DBMSPOOL.SQL指令碼。在啟動DBMSPOOL.SQL指令碼後,PRVTPOOL.PLB指令碼將自動執行。這些指令碼不能
使用CATPROC.SQL來運行。
1.查看版本資訊
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE10.2.0.4.0Production
TNS for Linux: Version10.2.0.4.0 - Production
NLSRTL Version10.2.0.4.0 - Production
2.以sys帳戶安裝DBMS_SHARED_POOL包
SQL> showuser;
USERis "SYS"
SQL> @?/rdbms/admin/dbmspool.sql
Package created.
Grant succeeded.
View created.
Packagebody created.
3.查看包包含的存儲過程
SQL> desc dbms_shared_pool
PROCEDURE ABORTED_REQUEST_THRESHOLD
Argument NameTypeIn/OutDefault?
------------------------------ ----------------------- ------ --------
THRESHOLD_SIZENUMBERIN
PROCEDUREKEEP
Argument NameTypeIn/OutDefault?
------------------------------ ----------------------- ------ --------
NAMEVARCHAR2IN
FLAGCHARINDEFAULT
PROCEDUREPURGE
Argument NameTypeIn/OutDefault?
------------------------------ ----------------------- ------ --------
NAMEVARCHAR2IN
FLAGCHARINDEFAULT
HEAPSNUMBERINDEFAULT
PROCEDURE SIZES
Argument NameTypeIn/OutDefault?
------------------------------ ----------------------- ------ --------
--******************************************
-- 使用DBMS_SHARED_POOL包將對象固定到共享池
--********************
golang的特點就是語言層面支援併發,並且實現併發非常簡單,只需在需要併發的函式前面新增關鍵字go。 但是如何處理go併發機制中不同goroutine之間的同步與通訊,golang 中提供了sync包來解決相關的問題,當然還有其他的方式比如channel,原子操作atomic等等,這裡先
場景1:執行計劃走錯了,你重新分析了表,發現ORACLE依然在用之前錯誤的執行計劃,新的統計資訊沒有起作用。
場景2:有一條SQL佔用的共享池記憶體過大,你想把這個遊標清理出去
通常有以下幾種辦法:
1)對錶做一個grant ,revoke操作,這樣的話,表上的所有遊標都會 資源管理 temp 喜歡 忽略 技術 共享 一個 操作 圖片 環境:
win10 64位
Virtualbox 5.1.30
ubuntu-16.04.3-server-amd64.iso
1. 安裝好ubuntu後,打開virtualbox安裝路徑文件夾,找到VBoxGu 一、步驟
1. 建立專案根目錄
mkdir 資料夾名
2. 初始化資料夾
git init
3. 配置使用者名稱和郵箱(第一次配置後,不需要再登入)
git config user.name 名字
git config user.email 郵箱
1. div固定在頁面最下面
<div style=" position:fixed;bottom:0;left:0;width: 100%;">
2. 將百度搜索框嵌入頁面
<style type="text/c
WPF自定義控制元件拖拽到介面報錯-未將物件設定到引用的例項
若給自定義控制元件註冊了許多屬性,那麼在拖拽使用這個控制元件時可能會引起這個錯誤。原因是控制元件初始化時,各個屬性未被顯式賦值。
解決辦法,給控制元件向外暴漏一初始化的方法,類似於這樣
public void XX
工作中經常需要在windows和linux兩系統中相互傳送檔案,我個人通常使用winscp軟體和本地磁碟共享兩種方式。
winscp:
登入介面
左側是本地windows磁碟內容,右側是遠端linux主機目錄,雙方可直接拖動相關檔案到對面進行傳輸。 需要注意一點的就是設定傳輸
1,java配置redis客戶端
public class RedisClient implements Serializable{
private Jedis jedis;
private JedisPool jedisPool;
ShardedJedis shar
<style type="text/css">
.plugin_download{ position:absolute; &nbs
SQL Sever無法開啟連結對話方塊,未將物件引用設定到物件的例項。(AppIDPackage) 一般會出現這問題的原因是:安裝了VS。 一:C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\找到machine.config,把它刪除 新建silverlight專案失敗,提示 未將物件設定到例項 的解決辦法:
1.開啟 visual studio 命令提示 輸入一下命令:2.devenv /resetskippkgs ,這條命令會啟動visual stuio ;關閉visual studio,然後輸入下面的命令:3.devenv /set
const foo = {a: {b: 2, c: {d: 4}}};
let freezeObj = (obj) => {
Object.freeze(obj);
Object.keys(obj).forEach((key, i) => {
if(typeof obj
最近做一個將物件轉換成tcp資料的功能,將物件按一定規律轉換為byte陣列,可以分類去解析,但是太麻煩了,程式碼冗長.決定採取使用一個通用的方法去實現物件轉陣列的功能
TcpTransfer
transfer object (with annotation
這個錯經常在伺服器上出現。後來慢慢發現,重啟伺服器之後一段時間不會報錯。但是還是找不到解決辦法。最終百度終於找到了問題所在,因為快取過期了,導致出錯。
下載原始碼,找到報錯的地方:
F12進去GetConfig這個方法裡面。
public static Rewri
@@ 關鍵字 synchronized 可以用於實現原子性或確定 “ 臨界區(Critical Section ) ” ,
同時同步還有另一個重要的方面:記憶體可見性(Memory Visibility)。
package vc.helloworld.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframew
要求: (1)定義一個Circle類,包含一個double型的radius屬性代表圓的半徑,一個findArea()方法返回圓的面積。 (2)定義一個類PassObject,在類中定義一個方法printAreas(),該方法的定義如下: public void printAreas(Cirl vpd 數據包 分享圖片 alt term mark wire nag 技術分享 wireshark抓包時,自動將網卡設置為混雜模式,如果網卡沒有置為混雜模式,即使接收到數據包,也會丟棄一定要勾選將網卡置為混雜模式wireshark抓包將網卡設置為混雜模式
一.什麼是反射。
Java反射就是在執行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意方法和屬性;並且能改變它的屬性。
二.實現
我們就建立一個User類
public class User{
private 相關推薦
使用DBMS_SHARED_POOL包將物件固定到共享池
Go語言學習之sync包(臨時物件池Pool、互斥鎖Mutex、等待Cond)(the way to go)
DBMS_SHARED_POOL.PURGE 如何讓遊標cursor失效,如何清除佔用共享池過大的遊標
VirtualBox安裝增強包實現文件共享
利用github和git命令,將本地專案共享到伺服器上
將div固定在頁面最下面、將百度搜索框嵌入頁面
WPF自定義控制元件拖拽到介面報錯-未將物件設定到引用的例項
如何將windows硬碟共享給linux使用?
將物件快取到redis中
如何將div固定到外層大div的右下角
SQL Sever無法開啟連結對話方塊,未將物件引用設定到物件的例項。(AppIDPackage)
VS2008打上SP1的補丁後安裝了silverlight後出現未將物件引用設定到物件例項的解決辦法
徹底凍結物件(將物件本身凍結,物件的屬性也被凍結)
TcpTransfer 將物件轉化為tcp協議傳輸的byte陣列(根據位元組序和位元組數)
微軟 URLRewriter重寫地址報錯:未將物件引用設定到物件的例項。 URLRewriter\RewriterFactoryHandler.cs:行號 38 解決方案
第 3 章 物件的共享
03.Spring-將物件存放在容器裡面
將物件作為引數傳遞給方法
wireshark抓包將網卡設置為混雜模式
初級--反射(通過反射將物件包裝成類似JSON格式)