Archive for the ‘TEChNoLoGY’ Category

Solaris Fault Manager

July 1st, 2019, posted in Solaris
Fault Manager is part of self-healing functionality that provides fault isolation and component restart, in this case hardware component 
(SMF will take care of software components).

Make sure that you run the service and have required packages.
# pkginfo |grep fmd
system      SUNWfmd         Fault Management Daemon and Utilities
system      SUNWfmdr        Fault Management Daemon and Utilities (Root) 
# svcs fmd
STATE          STIME    FMRI
online         Jun_29   svc:/system/fmd:default

Display Fault Manager Configuration:
# fmadm config
cpumem-diagnosis         1.6     active  CPU/Memory Diagnosis
cpumem-retire            1.1     active  CPU/Memory Retire Agent
eft                      1.16    active  eft diagnosis engine
fmd-self-diagnosis       1.0     active  Fault Manager Self-Diagnosis
io-retire                1.0     active  I/O Retire Agent
sysevent-transport       1.0     active  SysEvent Transport Agent
syslog-msgs              1.0     active  Syslog Messaging Agent
zfs-diagnosis            1.0     active  ZFS Diagnosis Engine
zfs-retire               1.0     active  ZFS Retire Agent

For example, kernel sends error to FMD and FMD forwards error to module. There are two types of module: 1. Diagnosis engine : provides diagnosis based on symptoms 2. Agents : respond to given diagnosis and takes action, say offline faulty CPU. The fault manager maintains two log files: 1. error log - list of errors sent to the fault manager daemon 2. fault log - list of diagnosed and repaired problems See fault log with: # fmdump See error log with: # fmdump -e Tips: -u - limits the output to a specific UUID -T - displays events that occurred BEFORE specific time yyyy-mm-dd -t - displays events that occurred AFTER specific time yyyy-mm-dd -V - verbose output Run command below to see if Faulty Manager shows some failed resources. In this example we see that memory module DIMM 3 failed.

# fmadm faulty
--------------- ------------------------------------  -------------- ---------
TIME            EVENT-ID                              MSG-ID         SEVERITY
--------------- ------------------------------------  -------------- ---------
Jun 23 02:30:30 2578e639-38cd-4cd8-9c16-87e96116f41e  AMD-8000-2F    Major

Fault class : fault.memory.dimm_sb
Affects     : mem:///motherboard=0/chip=1/memory-controller=0/dimm=3/rank=0
                  degraded but still in service
FRU         : "CPU 1 DIMM 3" (hc://:product-id=Sun-Fire-X4200-Server:chassis-id=0000000000:server-id=oryx/motherboard=0 

Description : The number of errors associated with this memory module has
              exceeded acceptable levels.  Refer to
     for more information.

Response    : Pages of memory associated with this memory module are being
              removed from service as errors are reported.

Impact      : Total system memory capacity will be reduced as pages are

Action      : Schedule a repair procedure to replace the affected memory
              module.  Use fmdump -v -u <EVENT_ID> to identify the module.

Note that there is the link with more info (like knowledge base), go there and it tells you about resolution. Okay, so say you are replacing DIMM now. Once DIMM is replaced, you need to update resource cache to indicate there is no issue any more.
# fmadm repair 2578e639-38cd-4cd8-9c16-87e96116f41e
fmadm: recorded repair to 2578e639-38cd-4cd8-9c16-87e96116f41e

Reset the Fault Manager module. Don't know which one, previously mentioned web link will tell you.
# fmadm reset eft
fmadm: eft module has been reset

Verify that there is no more faulty resources. # fmadm faulty No output, super! Means there is no h/w issue!

Without Editing tnsnames.ora file Creating a Database Link in Oracle

June 19th, 2019, posted in Oracle Queries

Developers needed access to some objects from one schema to another using database link. To enable database link he tried to create entry in tnsnames.ora file but had a problem with insufficient permissions. As a developer he has limited privileges on Unix machines so he can’t edit and save tnsnames.ora file.

But there is solution for this little problem.
You can create functional database link without editing tnsnames.ora file.


Little Demo Case:

system@TEST11> select * from v$version;

Oracle Database 11g Enterprise Edition Release - Production
PL/SQL Release - Production
CORE Production
TNS for Linux: Version - Production
NLSRTL Version - Production

5 rows selected.

system@TEST11> select * from dba_db_links;

1. no rows selected

Create database link testlink_db2 using full tns entry:

system@TEST11> create database link testlink_db2
connect to system identified by oracle

Database link created.

Now little check and cleanout:

system@TEST11> select * from v$version@testlink_db2;

Oracle Database 10g Enterprise Edition Release - Prod
PL/SQL Release - Production
CORE Production
TNS for Linux: Version - Production
NLSRTL Version - Production

5 rows selected.

-- cleanout
system@TEST11> drop database link testlink_db2;

Database link dropped.


From documentation:


server_name = (DESCRIPTION=


server_name is the name of an Oracle server that matches an entry in the RDB directory. An entry in the RDB directory can be added using the ADDRDBDIRE command.

TCP is the TCP protocol used for TCP/IP connections.

port_number is the port number of the Oracle Net listener. This is usually port number 1521.

host_name is the name that defines the system where the target Oracle server resides. This name must be in the local host definition on the AS/400 or in a name server on your network. The host name can also be entered as an IP address, for example,

service_name is the service name of the Oracle server.


Firefox Upgrade In Ubuntu

May 28th, 2019, posted in Linux OS

We cannot upgrade Firefox to a recent version in Ubuntu just by navigating to Help and by clicking the Check for Updates option!- the way usually followed by everyone to upgrade Firefox browser on their Windows machine. We can upgrade it, by two ways. Either by adding a PPA and upgrade or by downloading the binaries and installing it manually.firefox_ubuntu_icon,linux administration,ubuntu administration,firefox ubuntu icon,firefox icon,ubuntu icon,firefox update,firefox update on ubuntu

Via Terminal:

Step1: Adding Firefox PPA key

→ Take your terminal

Copy paste this code in your terminal

sudo add-apt-repository ppa:mozillateam/firefox-next

Step 2: Update

→ To finish indexing the repository

→ Please don’t close the terminal window before completing the update process.

sudo apt-get update

Step 3: Installing Firefox

->To upgrade copy paste the command after following the above steps

sudo apt-get install firefox

→ When it prompts for Y or N, type Y

→ Wait for the process to complete

→ Restart your browser, if it is opened.



May 22nd, 2019, posted in Oracle Queries

Adjusting the memory_max_target based on available memory. 
This example is Linux x86-64.

If you can afford to set the memory_max_target higher then the memory_target this will give you room to grow the memory_target without restarting the database. 

SQL> show parameters memory_target
------------------------------------ ----------- ------------------------------
memory_target big integer 17920M

SQL> show parameters memory_max_target
------------------------------------ ----------- ------------------------------
memory_max_target big integer 17920M

System has 36GB physical RAM available.

SQL> !grep MemTotal /proc/meminfo
MemTotal: 36912956 kB

Server has now set aside 24GB for use with Oracle. Kernel shared memory parameter.

SQL>!df -h /dev/shm/

Filesystem Size Used Avail Use% Mounted on
tmpfs 24G 11G 14G 44% /dev/shm

Increase memory_max_target to 24GB.

SQL> ALTER SYSTEM SET memory_max_target = 24G SCOPE=SPFILE;
System altered.

Shutdown Oracle.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

Startup Oracle.
SQL> startup
ORACLE instance started.

Total System Global Area 2.5655E+10 bytes
Fixed Size 2213776 bytes
Variable Size 2.0133E+10 bytes
Database Buffers 5368709120 bytes
Redo Buffers 151166976 bytes
Database mounted.
Database opened.

Update your pfile.

SQL> create pfile from spfile;
File created.

Verify the new settings. Max now 24GB and memory target is 17.9GB. We can now increase the memory_target if the need arises without shutting the database down.

SQL> sho parameters memory_max_target
------------------------------------ ----------- ------------------------------
memory_max_target big integer 24G

SQL> sho parameters memory_target
------------------------------------ ----------- ------------------------------
memory_target big integer 17920M

Function To Convert Number To Arabic Number

April 28th, 2019, posted in Oracle Queries
Function To Convert Number To Arabic Number,Arabic Number,English Arabic Number,Oracle Numbers,Oracle DBA,Oracle Apps DBA,Oracle Coding,Oracle Arabic Number Query
FUNCTION convert_to_arabic (p_input IN VARCHAR2, p_msg OUT VARCHAR2)

    l_output VARCHAR2(20) DEFAULT NULL;
    CURSOR csr_convert (cp_value VARCHAR2)


    SELECT TRANSLATE (cp_value,'0123456789',

                         UNISTR ('\0660')
                      || UNISTR ('\0661')
                      || UNISTR ('\0662')
                      || UNISTR ('\0663')
                      || UNISTR ('\0664')
                      || UNISTR ('\0665')
                      || UNISTR ('\0666')
                      || UNISTR ('\0667')
                      || UNISTR ('\0668')
                      || UNISTR ('\0669')
                    ) arabic_numerals
       FROM DUAL;


    IF p_input IS NOT NULL THEN

        OPEN csr_convert(p_input);
        FETCH csr_convert INTO l_output;
        CLOSE csr_convert;

    END IF;

    RETURN l_output;
        IF csr_convert%ISOPEN THEN
            CLOSE csr_convert;

        END IF;
       p_msg := SUBSTR(SQLERRM,1,200);
       RETURN l_output;
    END convert_to_arabic;