国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

記一次19c安裝jvm組件過程

IT那活兒 / 1837人閱讀
記一次19c安裝jvm組件過程

點擊上方“IT那活兒”,關注后了解更多內容,不管IT什么活兒,干就完了!!!




問題現象



開發反饋在一套19.5的庫上新上的存儲過程報錯,如下圖:




分析過程


這個ORA-29538提示java未安裝,查看視圖發現jvm組件未安裝。

SQL> col COMP_NAME for a30

SQL>
 select COMP_NAME,status from dba_registry;

COMP_NAME STATUS

------------------------------ --------------------------------------------

Oracle Database Catalog Views VALID

Oracle Database Packages and T VALID

ypes


Oracle Real Application Cluste OPTION OFF

rs


Oracle XML Database VALID

Oracle Workspace Manager VALID

Oracle Text VALID

Spatial VALID

大概率可以猜測在建庫時把相關組件給篩選掉了。

如下圖,選擇Custom Database選項:

在文中截圖的第八步database components選項中,可以選擇是否安裝Oracle JVM組件:




解決方案


可以通過跑相關的jvm安裝腳本,來解決此問題。具體步驟如下:

1. 查看當前組件狀態,失效狀態對象。

su - oracle

spo /home/oracle/obj_stat.log

col COMP_NAME for a50

select COMP_NAME,status from dba_registry;


col object_name for a50

col object_type for a20

col owner for a15

select owner,object_name,object_type from dba_objects where status=INVALIED;

spo off

exit

2. 停庫。

3. 調整initjvm.sql:

cd $ORACLE_HOME/javavm/install

cp initjvm.sql reinitjvm.sql

vi reinitjvm.sql

--原代碼:

-- Now check whether create java system worked correctly, and if not, back

-- out of everything done in this script

variable jvmrmaction varchar2(30)


declare

ok int;

bad int;

begin

:jvmrmaction := NONE;

select count(*) into ok from obj$ where status=1 and type#=29;

select count(*) into bad from obj$ where status!=1 and type#=29 and owner#=0;

if bad > 0 or ok < 100 then

initjvmaux.abort_message(

CREATE JAVA SYSTEM did not complete successfully:,

number of java classes with status 1: || ok ||, with status != 1: || bad);

initjvmaux.abort_message(Backing out of java installation...);

:jvmrmaction := FULL_REMOVAL;

initjvmaux.endaction;

end if;

end;

/

--替換成如下代碼:

-- Now check whether create java system worked correctly, and if not, log

-- it for future reference in case there are invalid java objects in SYS.

variable jvmrmaction varchar2(30)



declare

ok int;

bad int;

begin

:jvmrmaction := NONE;

select count(*) into ok from obj$ where status=1 and type#=29;

select count(*) into bad from obj$ where status!=1 and type#=29 and owner#=0;

if bad > 0 or ok < 100 then

initjvmaux.abort_message(

CREATE JAVA SYSTEM may not have completed successfully:,

number of VALID java classes: || ok ||, and INVALID java classes: || bad);

-- initjvmaux.abort_message(Backing out of java installation...);

-- :jvmrmaction := FULL_REMOVAL;

initjvmaux.endaction;

end if;

end;

/

4. 運行創建jvm腳本,啟動一個節點執行:

startup

alter system enable restricted session;

alter system set "_system_trig_enabled" = false scope=memory;

alter system set "java_jit_enabled" = false scope=memory;


-- start a log file

spool full_jvminst.log;

set echo on  


create or replace java system

/

--上述命令執行報如下錯誤,可忽略繼續執行:

--create or replace java system

--*

--ERROR at line 1:

--ORA-00604: error occurred at recursive SQL level 1

--ORA-00942: table or view does not exist


@?/javavm/install/reinitjvm.sql

@?/xdk/admin/initxml.sql

@?/rdbms/admin/catjava.sql

shutdown immediate

set echo off

spool off

exit

==>檢查log,查看輸出日志是否有報錯。

5. 啟庫。

6. 驗證命令:

su - oracle

spool jvm_info.log

--查看最新組件信息:

SELECT SUBSTR(comp_name, 1, 30) comp_name, SUBSTR(version, 1, 20) version, status FROM dba_registry  ORDER BY comp_name;


COMP_NAME                      VERSION              STATUS

------------------------------ -------------------- ---------------

JServer JAVA Virtual Machine   19.0.0.0.0           VALID

Oracle Database Catalog Views  19.0.0.0.0           VALID

Oracle Database Java Packages  19.0.0.0.0           VALID

Oracle Database Packages and T 19.0.0.0.0           VALID

Oracle Real Application Cluste 19.0.0.0.0           OPTION OFF

Oracle Text                    19.0.0.0.0           VALID

Oracle Workspace Manager       19.0.0.0.0           VALID

Oracle XDK                     19.0.0.0.0           VALID

Oracle XML Database            19.0.0.0.0           VALID

Spatial                        19.0.0.0.0           VALID

--其它的一些細節可以參考:

MOS




本文作者:金震宇

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129534.html

相關文章

  • 一次jvm 內存溢出

    摘要:什么是內存溢出內存溢出是指,程序創建對象需要內存,但是卻沒有內存可用了,內存就溢出了。使用命令查看個數輸入后,按診斷是文件在服務端沒讀取到,還是內存溢出。無耐,阿里云學生機配置不好,只能稍微修改一點,再將文件切割為小文件上傳了參數請參考 1、什么是內存泄漏內存泄漏是指,有未被釋放的java對象,一直停留在內存中。GCRoot 無法追蹤到此對象,導致此對象無法被回收。 2、什么是內存溢出...

    tainzhi 評論0 收藏0
  • 一次JVM調優

    摘要:現象登入生產環境,使用命令因為這時候并沒有打的,所以只能觀察現象。其他的可以根據這個類推,是內純的占用量。 前言 我們的游戲上線之初,經常有玩家反饋卡,或者有網絡延遲等現象,造成用戶流失等現象,這時候我就想到是不是可能是之前的jvm配置有問題,或者存在內存泄露等問題。 現象 登入生產環境,使用命令,因為這時候并沒有打gc的log,所以只能觀察現象。 jstat -gcutil 270...

    sugarmo 評論0 收藏0
  • 一次OkHttpClient導致線程過多的排查

    摘要:首先先解讀下這個報警內容,原因活躍線程數過多,是監聽的端口號用來獲取虛擬機各項信息,代表著此時的線程數,是設置的報警閾值。 前言 前天,一位21世紀的好好青年正在工位上默念社會主義大法好的時候,釘釘上又報警了(公司項目接入了open-faclon監控,指標不正常會報警給釘釘的機器人),無奈默默流淚揮手告別社會主義大法開始定位線上問題。 報警內容 首先我們先來看下報警信息,為防止泄露公...

    tianyu 評論0 收藏0
  • 一次vue-webpack項目優化實踐【更新】

    摘要:優化空間不大主要關注另外兩個上面。目前為止,項目打包后的大部頭就是,這個目前的優化空間較小。當然,從整體優化的大維度上來說優化的點還有很多,這個文章繼續更新下去。 項目現狀 項目是一個數據監測平臺,引入了ehcart和three.js 負責項目的數據可視化;打包后,體積高達2.1M,這個體積相比于我的項目規模來說就顯得稍有笨重了 使用webpack-bundle-analyzer分析了...

    ernest.wang 評論0 收藏0
  • 一次狂懟多線程的面經

    摘要:最近面試一家有直播業務的公司,明顯感覺到對多線程的理解有一些要求。第一輪面試大概就面了分鐘左右,一輪下來口干舌燥。下面對面試題做了下簡單分類,分享給大家。 最近面試一家有直播業務的公司,明顯感覺到對多線程的理解有一些要求。第一輪面試大概就面了 70 分鐘左右,一輪下來口干舌燥。 下面對面試題做了下簡單分類,分享給大家。 多線程 有什么方法可以監控線程的狀態 synchronized ...

    Scott 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<