zabbix3.2和oracle數據庫安裝記錄

1. 安裝oracle client 客戶端

官網下載zip編譯版本或rpm安裝包downloadhtml

1.1 編譯版安裝 (192.168.8.141)

mkdir -p /home/zabbix/oracle/bin
mkdir -p /home/zabbix/oracle/lib
mkdir -p /home/zabbix/oracle/sdk
mkdir -p /home/zabbix/oracle/network/admin

cd /home/zabbix/soft
unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
cd /home/zabbix/soft/instantclient_12_2
mv adrci uidrvci genezi BASIC_README  /home/zabbix/oracle/bin
mv * /home/zabbix/oracle/lib

cd /home/zabbix/soft
unzip instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
cd /home/zabbix/soft/instantclient_12_2
mv *.so /home/zabbix/oracle/lib
mv * /home/zabbix/oracle/bin

cd /home/zabbix/soft
unzip instantclient-sdk-linux.x64-12.2.0.1.0.zip
cd /home/zabbix/soft/instantclient_12_2/sdk
mv * /home/zabbix/oracle/sdk

cd /home/zabbix/soft
unzip instantclient-tools-linux.x64-12.2.0.1.0.zip
cd /home/zabbix/soft/instantclient_12_2
mv *.so /home/zabbix/oracle/lib/
mv * /home/zabbix/oracle/bin

cd /home/zabbix/soft
unzip instantclient-jdbc-linux.x64-12.2.0.1.0.zip
cd /home/zabbix/soft/instantclient_12_2

1.2 建立別名

vim /home/zabbix/oracle/network/admin/tnsnames.ora

ZBXPRD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.63)(PORT = 1525))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = zbxprd)
    )
  )

1.3 環境變量設置

vim ~/.bash_profile

export ORACLE_HOME=/home/zabbix/oracle
export LD_LIBRARY_PATH=/home/zabbix/oracle/lib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_LANG="AMERICAN_AMERICA.UTF8"
export PATH=$PATH:$ORACLE_HOME/bin

1.4 測試聯通性

sqlplus /nolog
SQL> conn zabbix/abc123456@zbxprd

Oracle學習系列之Client安裝java

2. zabbix

cd /home/zabbix/soft
tar -xvzf zabbix-3.2.4.tar.gz
cd /home/zabbix/soft/zabbix-3.2.4

#./configure --enable-server --enable-agent --with-oracle=$ORACLE_HOME --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --prefix=/home/zabbix/zabbix-3.2.4

cd /home/zabbix/oracle/lib
ln -s libocci.so.12.1 libocci.so
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libclntshcore.so.12.1 libclntshcore.so

su root
echo "/home/zabbix/oracle/lib" > /etc/ld.so.conf.d/oracle-client-12.1.conf
ldconfig
yum install libxml2 libxml2-devel net-snmp-devel net-snmp libcurl libcurl-devel
exit

cd /home/zabbix/soft/zabbix-3.2.4
./configure --enable-server --enable-agent --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --prefix=/home/zabbix/zabbix-3.2.4 --with-oracle-include=/home/zabbix/oracle/sdk/include  --with-oracle-lib=/home/zabbix/oracle/lib
make 
make install

3. JavaGate安裝 (192.168.8.141/192.168.8.142)

#### JavaGate
export JAVA_HOME="/home/zabbix/jdk"
export PATH="$PATH:${JAVA_HOME}/bin/"

./configure --enable-java --prefix=/home/zabbix/zabbix-3.2.4

4.導入腳本時注意點

cd /home/zabbix/soft/zabbix-3.2.4/database/oracle
cp schema.sql schema.raw.sql

sqlplus /nolog
conn zbxapp/abc12345@zbxprd
select * from USER_TABLES;
@schema.sql;
@images.sql;
@data.sql;
select * from USER_TABLES;

4.1 schema.sql須要修改,將其中nvarchar2(2048)都改爲nvarchar2(2000),這是12c的限制,最大隻能2000

sed -i 's#2048#2000#g' schema.sql

4.2 images.sql須要目錄讀寫權限

SQL> @images.sql;
CREATE OR REPLACE DIRECTORY image_dir AS '/home/zabbix/zabbix/create/output_png'
*
ERROR at line 1:
ORA-01031: insufficient privileges


CREATE OR REPLACE PROCEDURE LOAD_IMAGE (IMG_ID IN NUMBER, IMG_TYPE IN NUMBER, IMG_NAME IN VARCHAR2, FILE_NAME IN VARCHAR2)
*
ERROR at line 1:
ORA-01031: insufficient privileges

趕忙聯繫DBA給目錄受權,但仍是不行,原理須要將output_png目錄拷貝到數據庫服務器上面才行,oracle真實權限限制太複雜.linux

SQL> @images.sql;

Directory created.

CREATE OR REPLACE PROCEDURE LOAD_IMAGE (IMG_ID IN NUMBER, IMG_TYPE IN NUMBER, IMG_NAME IN VARCHAR2, FILE_NAME IN VARCHAR2)
*
ERROR at line 1:
ORA-01031: insufficient privileges


        LOAD_IMAGE(1,1,'Cloud_(128)','png_modern/Cloud_(128).png');
        *
ERROR at line 1:
ORA-22288: file or LOB operation FILEOPEN failed
No such file or directory
ORA-06512: at "SYS.DBMS_LOB", line 805
ORA-06512: at "ZBXAPPDATA.LOAD_IMAGE", line 8
ORA-06512: at line 2



Procedure dropped.

DROP DIRECTORY image_dir
相關文章
相關標籤/搜索