在oracle 11g下安裝配置scheduler agent
oracle Scheduler是功能強大的定時排程程式,不但能排程job在本地資料庫上執行,還能在遠端主機上發起這些job,遠端主機上不一定要安裝oracle資料庫,但必須安裝有Scheduler agent,下面是完整的安裝過程
安裝過程中涉及到以下兩部分操作:
1、對於存放remote job資訊、負責發起排程的主資料庫進行配置
2、在執行remote job的遠端主機上安裝scheduler agent,如果這臺遠端主機上不安裝oracle database,那麼僅可以執行remote external job,如果安裝了oracle database那麼還可以執行remote database job
完整的安裝過程如下,在11.2.0.3版本下測試透過
============1、對存放remote job資訊的主資料庫進行配置============
///////////////////////////////////
/// 步驟1:安裝XDB元件
///////////////////////////////////
###安裝前檢測庫裡是否已經安裝過XDB,如果安裝過XDB,需要確認XDB的元件是否均處於有效狀態;
---以下方法檢查XDB元件,如果是VALID那麼XDB元件處於正常狀態
col comp_name format a30
set linesize 130
select comp_name,status from dba_registry where comp_name='Oracle XML Database';
COMP_NAME STATUS
------------------------------ ----------------------
Oracle XML Database VALID
---如果狀態不是VALID,那麼需要執行以下指令碼,根據指令碼的輸出來決定是否要重新安裝
set serveroutput on
DECLARE
v_xdb_installation_trigger number;
v_dropped_xdb_instll_trigger number;
v_dropped_xdb_instll_tab number;
BEGIN
select count(*) into v_xdb_installation_trigger
from dba_triggers
where trigger_name = 'XDB_INSTALLATION_TRIGGER' and owner = 'SYS';
select count(*) into v_dropped_xdb_instll_trigger
from dba_triggers
where trigger_name = 'DROPPED_XDB_TRIGGER' and owner = 'SYS';
select count(*) into V_dropped_xdb_instll_tab
from dba_tables
where table_name = 'DROPPED_XDB_INSTLL_TAB' and owner = 'SYS';
IF v_xdb_installation_trigger > 0 OR v_dropped_xdb_instll_trigger > 0 OR v_dropped_xdb_instll_tab > 0 then
IF v_xdb_installation_trigger > 0 THEN
dbms_output.put_line('Please proceed to run the command SQL> drop trigger sys.xdb_installation_trigger');
-- drop trigger sys.xdb_installation_trigger;
END IF;
IF v_dropped_xdb_instll_trigger > 0 THEN
dbms_output.put_line('Please proceed to run the command SQL> drop trigger sys.dropped_xdb_instll_trigger');
-- drop trigger sys.dropped_xdb_instll_trigger;
END IF;
IF v_dropped_xdb_instll_tab > 0 THEN
dbms_output.put_line('Please proceed to run the command SQL> drop table sys.dropped_xdb_instll_tab');
-- drop table sys.dropped_xdb_instll_tab;
END IF;
ELSE
dbms_output.put_line('Please proceed to run the XDB install or upgrade');
END IF;
END;
/
###安裝XDB的方法歸納如下
---建立XDB專用的表空間,如果要使用SecureFile Lobs必須使用segment space management auto
create tablespace xdbts datafile '/oradata06/testaaaaa/xdbts1.dbf' size 500m extent management local segment space management auto;
---執行@?/rdbms/admin/catqm.sql
引數值含義如下:
---執行catqm.sql指令碼
spool xdb_install.log
set echo on;
@?/rdbms/admin/catqm.sql asdf3_14 xdbts temp YES
@?/rdbms/admin/utlrp.sql
set echo off;
spool off;
---安裝完成後再確認一下XDB元件的狀態
col comp_name format a30
set linesize 130
select comp_name,status from dba_registry where comp_name='Oracle XML Database';
COMP_NAME STATUS
------------------------------ ----------------------
Oracle XML Database VALID
///////////////////////////////////
/// 步驟2:安裝Oracle Text組
///////////////////////////////////
Oracle Text元件通常在使用dbca建庫的時候會自動安裝上,但如果是Manual方式建的庫,那麼需要手動安裝。
---使用如下方法確定Oracle Text是否已經安裝,如果安裝了Oracle Text,那麼
col comp_name format a20
set linesize
select comp_name, status, substr(version,1,10) as version from dba_registry where comp_id = 'CONTEXT';
COMP_NAME STATUS VERSION
-------------------- ---------------------- --------------------
Oracle Text VALID 11.2.0.3.0
###如果沒有安裝Oracle Text,按照以下步驟進行安裝
---在database側安裝Oracle Text元件,配置預設語言
sqlplus '/as sysdba'
SQL> @?/ctx/admin/catctx.sql asdf3_14 SYSAUX TEMP NOLOCK ---四個引數依次表示:ctxsys使用者的口令、ctxsys使用者的預設表空間,ctxsys使用者的臨時表空間,ctxsys建立完後是否鎖定(LOCK:鎖定; NOLOCK:不鎖定)
---以ctxsys使用者登陸配置預設語言為英語
sqlplus ctxsys/asdf3_14
SQL> @?/ctx/admin/defaults/dr0defin.sql "AMERICAN";
---最後為安全起見鎖定ctxsys
sqlplus '/as sysdba'
alter user ctxsys account lock password expire;
---在database的OS環境變數中加入$ORACLE_HOME/ctx/lib路徑
export LD_LIBRARY_PATH=$ORACLE_HOME/ctx/lib:$LD_LIBRARY_PATH
---驗證oracle text元件是否成功安裝
SQL> select comp_name, status, substr(version,1,10) as version from dba_registry where comp_id = 'CONTEXT';
COMP_NAME STATUS VERSION
------------------- -------- ----------
Oracle Text VALID 11.2.0.3.0
SQL> select * from ctxsys.ctx_version;
VER_DICT VER_CODE
----------- -----------
11.2.0.3.0 11.2.0.3.0
SQL> select object_name, object_type, status from dba_objects where owner='CTXSYS' and status != 'VALID' order by object_name;
no rows selected
///////////////////////////////////
/// 步驟3:配置remote jobs執行所需的資料庫環境
///////////////////////////////////
###配置一個HTTP服務埠,這個埠用於job主資料庫伺服器和安裝有schedule agent的遠端伺服器間進行通訊,定義的埠不要和其它應用重複即可
sqlplus / as sysdba
exec dbms_xdb.sethttpport(30405);
commit;
###db和OS層面檢查配置是否生效
select dbms_xdb.GETHTTPPORT() from dual;
DBMS_XDB.GETHTTPPORT()
----------------------
30405
!netstat -an |grep 30405
tcp 0 0 *.30405 *.* LISTEN
###執行prvtrsch.plb指令碼,會新建一個名為REMOTE_SCHEDULER_AGENT使用者
@?/rdbms/admin/prvtrsch.plb
SQL> select username,account_status from dba_users where username='REMOTE_SCHEDULER_AGENT';
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
REMOTE_SCHEDULER_AGENT EXPIRED & LOCKED
###設定scheduler agent連線到主資料庫的口令
exec dbms_scheduler.set_agent_registration_pass(registration_password=>'asdf3_14');
###設定shared_servers為非零,這一步很重要,否則會出現scheduler agent無法註冊成功的問題
alter system set shared_servers=1 scope=both;
###job主伺服器上的lnsrctl status輸出裡能看出PORT=30405的正在被偵聽
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
Start Date 06-FEB-2015 07:49:08
Uptime 9 days 3 hr. 8 min. 14 sec
Trace Level off
Security ON: Local OS Authentication
SNMP ON
Listener Parameter File /oracle/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /oracle/app/oracle/diag/tnslsnr/jq570322b/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.141.209)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jq570322b)(PORT=30405))(Presentation=HTTP)(Session=RAW))
###/etc/hosts里加入即將安裝scheduler agent的remote主機IP地址和主機名對映,這一步能避免後面註冊時產生ORA-29257
10.10.141.206 jq570321a
至此job主資料庫伺服器側的配置工作完畢
============2、對即將執行remote jobs的遠端主機安裝scheduler agent並進行配置============
###scheduler agent安裝介質可以從已經安裝有oracle database的主機上提取,提取過程如下
cd $ORACLE_HOME\bin
extjobo -createagentzip /tmp/agent_install.zip
###將execution_agent.zip檔案複製到準備安裝scheduler agent的主機
scp /tmp/agent_install.zip
###scheduler agent主機側環境變數配置及目錄建立
export ORACLE_HOME=/home/sagent
cd /home/sagent
mkdir scheduler
###scheduler agent主機解壓
cd /home/sagent/scheduler/
unzip ../agent_install.zip
###進入scheduler agent所在目錄修改schagent.conf檔案裡的埠號,這個是agent主機上的埠號,透過該埠和job主伺服器進行通訊
在$ORACLE_HOME/scheduler/execution_agent/schagent.conf檔案里加入
PORT=30406
###以root使用者執行root.sh
cd $ORACLE_HOME/scheduler/execution_agent/
./root.sh
###將scheduler agent註冊到database
cd $ORACLE_HOME/scheduler/execution_agent/bin
./schagent -registerdatabase 10.10.141.209 30405
EXECUTION_AGENT_HOME is /oracle/app/oracle/product/11.2/scheduler/execution_agent
Agent Registration Password ? *********
Oracle Scheduler Agent Registration for 11.2 Agent
Agent Registration Successful!
注:scheduler agent也可以在安裝oracle client的過程中選擇"Custom"->"Oracle Scheduler Agent"來完成安裝,截圖如下
============3、在job主伺服器上驗證scheduler agent安裝結果============
###透過dba_scheduler_external_dests檢視檢視已經註冊上來的remote agent資訊
col destination_name format a30
col hostname format a30
col ip_address format a20
col enabled format a10
col comments format a50
set linesize 180
select * from dba_scheduler_external_dests;
DESTINATION_NAME HOSTNAME PORT IP_ADDRESS ENABLED COMMENTS
------------------------------ ------------------------------ ---------- -------------------- ---------- --------------------------------------------------
JQ570321A jq570321a 30406 10.10.141.206 TRUE Registered on 15-FEB-15 12.02.50.245870 PM +08:00
###透過GET_AGENT_VERSION探測scheduler agent的版本
set serveroutput on
DECLARE
versionnum VARCHAR2(30);
BEGIN
versionnum := DBMS_SCHEDULER.GET_AGENT_VERSION('10.10.141.206');
DBMS_OUTPUT.PUT_LINE(versionnum);
END;
/
11.2.0.3.1
PL/SQL procedure successfully completed.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1702470/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- windows下安裝配置 Navisphere Host AgentWindows
- 在Oracle Linux 6.6下安裝Oracle 11gOracleLinux
- WIN下安裝agent
- linux下安裝oracle 11gLinuxOracle
- CentOS 7下安裝Oracle 11gCentOSOracle
- windows下安裝Jenkins以及配置分散式agent節點WindowsJenkins分散式
- 在Windows 10系統下安裝Oracle 11g資料庫WindowsOracle資料庫
- Oracle 11g在RHEL 6.4下的詳細安裝過程Oracle
- Oracle 11g 安裝環境配置指令碼Oracle指令碼
- Oracle 11g RAC One node 安裝與配置Oracle
- 在RAC下安裝配置OGG
- Mongodb在Windows下安裝及配置MongoDBWindows
- CUnit在Linux下安裝配置Linux
- oracle linux 下安裝oracle 11g問題OracleLinux
- oracle10g GC agent安裝與解除安裝OracleGC
- 【Oracle】Linux7安裝11g Error in invoking target 'agent nmhs' of makefileOracleLinuxError
- OEL6下靜默安裝Oracle 11g,靜默配置監聽Oracle
- 在oracle linux 5.6上安裝oracle 11g RACOracleLinux
- Linux下Oracle 11g靜默安裝LinuxOracle
- oracle linux 下安裝OGG 11gOracleLinux
- Linux 安裝 Oracle資料庫11G 配置LinuxOracle資料庫
- Kubernetes安裝之八:配置master之schedulerAST
- solr在windows下的安裝及配置SolrWindows
- Winrar 在Linux下的安裝配置Linux
- 在centos5下安裝配置VNCCentOSVNC
- 在linux下安裝oracle bbedLinuxOracle
- linux下安裝oracle需要的配置LinuxOracle
- zabbix安裝agent
- Zabbix Agent安裝
- oracle安裝配置Oracle
- 在Linux下安裝配置Cntlm代理教程Linux
- nodejs在linux下的安裝配置NodeJSLinux
- Tomcat在Windows下的免安裝配置TomcatWindows
- Oracle BIEE在linux下的安裝OracleLinux
- Oracle 11G 安裝文件Oracle
- Oracle 11g解除安裝Oracle
- 安裝Oracle RAC 11gOracle
- ORACLE 11G 安裝注意Oracle