Posts

Showing posts from December, 2018

Creating SNMP Plug-In for Enterprise Manager Cloud Control

Image
Putting it In my previous blog ( Enterprise Manager Cloud Control, SNMP, and Plug-Ins – The Background ), I shared my frustration in trying to create a plug-in in OEM. Here are the technical steps for a very simple plug-in. Preparing Plug-in To build your own plug-in, you need to download a development kit: To download EDK using UI, from the Setup menu, select Extensibility, and then select Development Kit. OR To download EDK using EMCLI, run the following steps: Log in to OEM: $ /oracle/em/middleware/bin/emcli login -username=sysman Enter password : Login successful Download the EDK zip archive: $ emcli get_ext_dev_kit Downloading edk.zip File saved as edk.zip File(s) downloaded successfully Unpack the downloaded EDK ZIP archive to a directory on your local system. For example: $ unzip 13.3.0.0.0_edk_partner.zip There are several restrictions and guidelines you should know before you create your plug-in. Most of them can be found at t

Enterprise Manager Cloud Control, SNMP, and Plug-Ins – The Background

Image
Hi, I have been using Oracle Enterprise Manager (OEM or Cloud Control) since it was a client application. (I’m not sure whether it was in the era of Oracle 7 or Oracle 8). In the early stages, OEM was compared to other central monitoring systems (at the time, it was HP OpenView, CA Unicenter, and the like). As a DBA who was responsible for dozens of Oracle databases, I needed a main system like this. Since we had the OEM for "free" as part of a site license, we used it heavily. The problem was that the main IT monitoring tool in our company was another system that already monitored appliances, networks, and applications. So, we decided to keep the OEM to the DBAs and send notifications to this system. (It was monitored 24/7 by a control center.) Like today, we could send alerts by email, run an external script, or send an SNMP trap. We chose the SNMP trap since it is in the core of most monitoring systems and simple to define. OEM needed a lot of attention and maintenan

Setup additional local DNS - to add scan addresses

Image
In this document I demonstrate how to add local DNS server to be added additionally to an existing DNS, I had this need for creating some additional IP addresses in the DNS for Real Application Cluster (VIP and SCAN) My Testing Environment My Private DNS Server IP Address: 10.20.2.100 Host Name: localdns OS: Oracle Linux Server release 7.5 Client Machine to use DNS IP Address: 10.33.1.120 Host Name: dbhost OS: Oracle Linux Server release 7.4 Current Domain DNS Primary: 192.168.1.10 Secondary: 192.168.1.1 1 DNS entry to add IP Address: 10.33.1.123 Host Name: dbhost-scan Verify that the above IP  address is not being used via ping command $ ping 10.33.1.123 -c1 -w 1 >/dev/null 2>&1 ; if [ $? -eq 1 ]; then echo "This IP is Not used"; else echo "This IP is used"; fi This IP is Not used Install required packages $ sudo yum install bind* -y Define zone files in master configuration ‘named.conf‘ file $ sudo vim /etc/named.conf Change 127.0.01 to a

Oracle open world 2017 short summary

Image
Hi, The main subject in this conference was Autonomous Database, it's engine is used by another buzzword called: Machine Learning.  Oracle  claim  they are investing in autonomous to prevent data theft, but it seems as convenience for handling only one version in the cloud. They will use the same "Machine Learning" engine that they used for the optimizer and memory management decisions (This engine is well known for bad decisions). 18c is an alias for 12.2.0 .2  and planned to be available: Autonomous Database for  Data Warehouses -  by December 2017 Autonomous Database for  OLTP  – by June 2018 A companion solution for the "Machine Learning" will be used via the OEM (Cloud Control) to gather: Infrastructure logs: Network, Server, Storage, VM, OS Platform logs: Database, Java, Analytics, etc. Application logs: ERP, CX, HCM, Custom, etc. The logs will be gathered to detect and connect anomalous  events. SLA Guara

Oracle Linux ASM docker recipe

Image
General information In this setup we are: Installing docker Creating Non-root user (ynixon) with sudo and docker privileges ASM device: /dev/sdb1 Enabling sqlnet + ssh to the container Default ASM port is 1521 ssh port 2222 Passwords for root + grid os users in the container are “ynixon” Password for sys ASM user is “ynixon” Grid software is 12.2 without any patches Container Operating system is Oracle Linux 7.5 Within the container, there is no use of UDEV / ASMLIB or ASMFD – the asm_diskstring='/dev/asm*' ,'/dev/*' All test done on regular Ubuntu 14.04 There is a crontab job to keep 15 days of trace files + remove audit files. Prepare host for ASM device Make sure the device has permissions of the same container ids by applying UDEV rules $ vi /etc/udev/rules.d/100-asm.rules KERNEL=="sdb1", NAME="ASM_DISK", OWNER="54421", GROUP="54421", MODE="0660" udevadm trigger --sysname-match=sdb1 --ver

Bypassing the Listener and Connecting the Instance without a Password from Java Code

Image
In the past I wrote a post about  Bypassing the listener and connecting to ASM without a password from Python code Now, I've been asked to prove that it can be done in Java. The solution is almost the same. Java sample code using OCI: $ vi OracleCon.java import java.sql.*; class OracleCon {     public static void main(String args[]) {         try {             Class.forName("oracle.jdbc.driver.OracleDriver");             Connection con = DriverManager.getConnection(                 "jdbc:oracle:oci:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL=BEQ) (PROGRAM=oracle) (ARGV0=oracle+ASM) (ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))') (ENVS = 'ORACLE_HOME=/oracle/product/12.1.0.2/grid,ORACLE_SID=+ASM'))) (CONNECT_DATA= (SID=+ASM)))", "sys as sysdba", "change on install");             Statement stmt = con.createStatement();             ResultSet rs = stmt.executeQuery("select * from v$insta