By Sriram Sanka

  • $riram $anka


    The experiences, Test cases, views, and opinions etc expressed in this website are my own and does not reflect the views or opinions of my employer. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content.Product and company names mentioned in this website may be the trademarks of their respective owners.

  • Likes So far

    • 93,945 hits
  • Enter your email address to follow this blog and receive notifications of new posts by email.

Install Python Modules using PIP & Upgrading Pip Version

Posted by Sriram Sanka on June 19, 2022


You can Install Python Modules by running Pip command as follows

python -m pip install matplotlib

python.exe -m pip install --upgrade pip This will upgrade the Pip Version to the Latest.

Posted in Python | Tagged: , , | Leave a Comment »

[FATAL] [DBT-06103] The port (5,500) is already in use.

Posted by Sriram Sanka on May 12, 2022


If you get this Port already in use Error While Installing Oracle in Linux., Make sure to have Proper Host Name Configured and Entry in /etc/hosts file.

Posted in Uncategorized | Leave a Comment »

Few More Additions to the List

Posted by Sriram Sanka on December 27, 2021


Posted in Uncategorized | Leave a Comment »

Log4j Zero-Day RCE (CVE-2021-44228) Vulnerability

Posted by Sriram Sanka on December 11, 2021


I came to know about this Critical Vulnerability last night, and below is actual info same as the original content/Post by REDHAT https://access.redhat.com/security/cve/cve-2021-44228, Posting this as it is as I thought Its more clear in their Page on their words.

Description

A flaw was found in the Java logging library Apache Log4j 2 in versions from 2.0-beta9 and before and including 2.14.1. This could allow a remote attacker to execute code on the server if the system logs an attacker-controlled string value with the attacker’s JNDI LDAP server lookup.

Statement

This issue only affects log4j versions between 2.0 and 2.14.1. In order to exploit this flaw you need:

  • A remotely accessible endpoint with any protocol (HTTP, TCP, etc) that allows an attacker to send arbitrary data,
  • A log statement in the endpoint that logs the attacker controlled data.

Due to the existence of JMS Appender which can use JNDI in the log4j 1.x, it is possible that log4j version 1.x is also affected by this vulnerability. The impact is still under investigation.

Mitigation

There are two possible mitigations for this flaw in versions from 2.10 to 2.14.1:
– Set the system property log4j2.formatMsgNoLookups to true, or
– Remove the JndiLookup class from the classpath. For example: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class`

Possible Workaround :

In order to mitigate vulnerabilities, users should switch log4j2.formatMsgNoLookups to true by adding:”‐Dlog4j2.formatMsgNoLookups=True” to the JVM command for starting the application.

Latest log4j API can be downloadable from https://logging.apache.org/log4j/2.x/download.html

Source :

https://access.redhat.com/security/cve/cve-2021-44228

https://www.zdnet.com/article/security-warning-new-zero-day-in-the-log4j-java-library-is-already-being-exploited/

https://www.lunasec.io/docs/blog/log4j-zero-day/

https://www.veracode.com/blog/security-news/urgent-analysis-and-remediation-guidance-log4j-zero-day-rce-cve-2021-44228

Posted in Security | Leave a Comment »

MySQL Load Data Statement – Performance

Posted by Sriram Sanka on December 10, 2021


As mentioned in the MySQL Documentation here https://dev.mysql.com/doc/refman/8.0/en/load-data.html ,

The LOAD DATA statement reads rows from a text file into a table at a very high speed. The file can be read from the server host or the client host, depending on whether the LOCAL modifier is given. LOCAL also affects data interpretation and error handling.

Lets Run a Quick Test !

Loading Data Into a Table in the local Database using MySQL workbench Executed around 35Min (2098.781 Sec) for 35K records.

Now Lets Truncate the Table and re-load the data using LOAD DATA Statement

BOOM ! Job Done within 2 Sec.

Posted in LoadTest, MySql, Performance | Leave a Comment »

Error using MySQL Workbench – unhandled exception list index out of range.

Posted by Sriram Sanka on December 10, 2021


While Loading the data using MySQL Workbench, you may hit the error unhandled exception list index out of range

There are no clues in the workbench log files, in such cases you can load the Data Using MySQL LOAD DATA Statement . Which will load the data very fast and without errors.

mysql> LOAD DATA LOCAL INFILE "C:/\Patient.csv"
-> INTO TABLE xxhc_patient
-> FIELDS TERMINATED BY ','
-> ENCLOSED BY '"'
-> LINES TERMINATED BY '\n'
-> IGNORE 1 ROWS;
Query OK, 58 rows affected, 232 warnings (0.04 sec)
Records: 58 Deleted: 0 Skipped: 0 Warnings: 232

In case if you get the following errors , run the below commands and re-execute load data statements.

ERROR: Loading local data is disabled - this must be enabled on both the client and server sides

ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

mysql> SET GLOBAL local_infile=1;

mysql --local_infile=1 -u<username> -p<Password> DB_NAME

Posted in MySql | Leave a Comment »

AWS- EC2 : Error while changing the IP Address in EC2 Security Groups

Posted by Sriram Sanka on June 12, 2021


Error while changing the IP Address in EC2 Security Groups. This happened ,as the user does not have access to change the IP in SG Group 2,after adding the below rule (Underlined Part) resolved this error.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:RevokeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:RevokeSecurityGroupEgress",
"ec2:DeleteSecurityGroup"
],
"Resource": [
"arn:aws:ec2:::security-group/sg-Group1",
"arn:aws:ec2:::security-group/sg-Group2"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"ec2:DescribeSecurityGroupReferences",
"ec2:DescribeVpcs",
"ec2:DescribeSecurityGroups",
"ec2:DescribeStaleSecurityGroups"
],
"Resource": "*"
}
]
}

Posted in Uncategorized | Tagged: , , | Leave a Comment »

Install MySQL 8 Community Server (mysql-community-server) on Azure VM(IAAS) Linux 8 CentOS

Posted by Sriram Sanka on June 11, 2021


Download and Add MySQL Yum Repository.

wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

Install the downloaded release package.

yum localinstall mysql80-community-release-el8-1.noarch.rpm

You can check that the MySQL Yum repository has been successfully added by the following command (If Yum Is not available, you can use dnf , instead.)

yum repolist enabled | grep "mysql.-community."

Installing MySQL

Linux 8 includes a MySQL module that is enabled by default., Disable the Default Module to avoid following Error.

yum -y install mysql-community-server

yum module disable mysql

yum install mysql-community-server

Start and Enable the Server

Get the temp Password before Secure Configurations.

Continue with the Options and change the Password.

Posted in Installation, Linux, MySql | Tagged: , , | Leave a Comment »

Script To Generate Alter Statements to Kill Locked Sessions in RDS

Posted by Sriram Sanka on May 28, 2021


Script to generate Kill Locked Sessions in Oracle :

In case of RDS ,

SELECT 'exec rdsadmin.rdsadmin_util.kill('||s.sid ||','|| s.serial# ||' );'
FROM v$session s ,
v$process p ,
v$lock l ,
dba_objects o
WHERE
s.paddr = p.addr
AND l.sid = s.sid
AND l.id1 = o.object_id
AND s.username = 'XXAPPS' --- Change as needed.
AND object_name like ('XXSC%'); --- Change as needed.

Posted in Uncategorized | Leave a Comment »

FRM-10102: Cannot attach PL/SQL library

Posted by Sriram Sanka on May 27, 2021


When you try to Open R12 Form template fmb files in Oracle forms, you may receive FRM-10102: Cannot attach PL/SQL library APPCORE .

Unable to open Template.fmb. Getting following error

FRM-10102: Cannot attach PL/SQL library APPCORE. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library APPDAYPK. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library GLOBE. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library FNDSQF. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library JA. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library JE. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library JL. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library VERT. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library GHR. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library PQH_GEN. This library attachment will be lost if the module is saved.
FRM-10102: Cannot attach PL/SQL library PSAC. This library attachment will be lost if the module is saved.

Solution : Set the Path for FORMS_PATH with the location of all core libraries(pll files).

Posted in Uncategorized | Leave a Comment »

How to Install Python with Anaconda

Posted by Sriram Sanka on April 12, 2020


Refer to the document for help with installing Anaconda successfully Installing+Python.1

You can Download the individual version from https://www.anaconda.com/products/individual

I prefer Spider for the Sample Code snippets.

Sample Code for Sudoku Submitted at https://www.geeksforgeeks.org/sudoku-backtracking-7/

Input :

Output:

# N is the size of the 2D matrix   N*N
N = 9
 
# A utility function to print grid
def printing(arr):
    for i in range(N):
        for j in range(N):
            print(arr[i][j], end = " ")
        print()
 
# Checks whether it will be
# legal to assign num to the
# given row, col
def isSafe(grid, row, col, num):
   
    # Check if we find the same num
    # in the similar row , we
    # return false
    for x in range(9):
        if grid[row][x] == num:
            return False
 
    # Check if we find the same num in
    # the similar column , we
    # return false
    for x in range(9):
        if grid[x][col] == num:
            return False
 
    # Check if we find the same num in
    # the particular 3*3 matrix,
    # we return false
    startRow = row - row % 3
    startCol = col - col % 3
    for i in range(3):
        for j in range(3):
            if grid[i + startRow][j + startCol] == num:
                return False
    return True
 
# Takes a partially filled-in grid and attempts
# to assign values to all unassigned locations in
# such a way to meet the requirements for
# Sudoku solution (non-duplication across rows,
# columns, and boxes) */
def solveSuduko(grid, row, col):
   
    # Check if we have reached the 8th
    # row and 9th column (0
    # indexed matrix) , we are
    # returning true to avoid
    # further backtracking
    if (row == N - 1 and col == N):
        return True
       
    # Check if column value  becomes 9 ,
    # we move to next row and
    # column start from 0
    if col == N:
        row += 1
        col = 0
 
    # Check if the current position of
    # the grid already contains
    # value >0, we iterate for next column
    if grid[row][col] > 0:
        return solveSuduko(grid, row, col + 1)
    for num in range(1, N + 1, 1):
       
        # Check if it is safe to place
        # the num (1-9)  in the
        # given row ,col  ->we
        # move to next column
        if isSafe(grid, row, col, num):
           
            # Assigning the num in
            # the current (row,col)
            # position of the grid
            # and assuming our assined
            # num in the position
            # is correct
            grid[row][col] = num
 
            # Checking for next possibility with next
            # column
            if solveSuduko(grid, row, col + 1):
                return True
 
        # Removing the assigned num ,
        # since our assumption
        # was wrong , and we go for
        # next assumption with
        # diff num value
        grid[row][col] = 0
    return False
 
# Driver Code
 
# 0 means unassigned cells
grid = [[3, 0, 6, 5, 0, 8, 4, 0, 0],
        [5, 2, 0, 0, 0, 0, 0, 0, 0],
        [0, 8, 7, 0, 0, 0, 0, 3, 1],
        [0, 0, 3, 0, 1, 0, 0, 8, 0],
        [9, 0, 0, 8, 6, 3, 0, 0, 5],
        [0, 5, 0, 0, 9, 0, 6, 0, 0],
        [1, 3, 0, 0, 0, 0, 2, 5, 0],
        [0, 0, 0, 0, 0, 0, 0, 7, 4],
        [0, 0, 5, 2, 0, 6, 3, 0, 0]]
 
if (solveSuduko(grid, 0, 0)):
    printing(grid)
else:
    print("no solution  exists ")
 
    # This code is contributed by sudhanshgupta2019a

Posted in Anaconda, Books, Installation, Python | Tagged: , | Leave a Comment »

Quick Steps to Install Oracle 19c in Windows

Posted by Sriram Sanka on June 14, 2019


 

Step 1 : Download Oracle 19c DB software for Windows using https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

Step 2 : Unzip using 7-Zip to your Destination folder.

Step 3 : Navigate to the Extracted Home Folder and Click on Setup.Exe.   

 

These 3 Simple Steps will launch “OUI” for Installing 19c , go-ahead and  proceed with the Interactive ” Next ” Options.

Happy Reading !

Posted in Installation, Oracle Administration, Oracle Server Administration, Windows | Leave a Comment »

How to Add Swap Memory using a file

Posted by Sriram Sanka on December 22, 2018


 

Swap space in Linux is used when the amount of physical memory (RAM) is full. If the system needs more memory resources and the RAM is full, inactive pages in memory are moved to the swap space.

Swap space can be a dedicated swap partition (recommended), a swap file, or a combination of swap partitions and swap files.

We can Create Swap file and make use of it as described below .

Step 1: Create a file with required size

To create the file we need to use dd command as root user .

 

I am adding 64G of Swap to my server so the count is 67108864 (1024 * 1024 * 64) 

dd if=/dev/zero of=/u03/extra_swap bs=1024 count=67108864

 

Step 2: Change the file Permission using

chmod 0600 /u03/extra_swap

Step 3 : Set Up linux Swap Area.

[root@idc ~]# mkswap /u03/extra_swap


Step 4 :Execute the Following To enable the swap file immediately, You can Check the Added swap using free -g Command .

swapon /u03/extra_swap


Step 5: Add an Entry in /etc/fstab to Make this Swap file Enabled at boot Time

/u03/extra_swap swap swap defaults 0 0

We can use swapon or /proc/swap to Get the Swap info.




 

 

 

Posted in Linux | Tagged: , , , | Leave a Comment »

HOW-TOHow to Fix VirtualBox “UUID already exists” Errors

Posted by Sriram Sanka on December 15, 2018


There are several ways to fix UUID Issues, One of the methods is to Clone the hard Disk Attached using the clonevdi

When you are trying to Add a VM to your VBox, If it’s failed with Below Error, you can use clonevdi to clone the Hard disk using

VBoxManage clonevdi <Source> <Target> and reattach the Disk to the machine.

 

 

Posted in Oracle VM | Leave a Comment »

Oracle VM Virtual Appliance for Oracle E-Business Suite 12.2.6 – Download and Create Staging Appliance

Posted by Sriram Sanka on December 15, 2018


This Post is about How to Create Stage Area To Deploy Oracle VM Virtual Appliance for Oracle E-Business Suite 12.2.6

Step 1:

Download the Oracle E-Business Suite Appliance from Oracle Software Delivery Cloud, Which Contains Below ZIP Files.

V861124-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (1 of 10) (Part 1 of 2)     Linux x86-64
V861124-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (1 of 10) (Part 2 of 2)     Linux x86-64
V861125-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (2 of 10) (Part 1 of 2)     Linux x86-64
V861125-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (2 of 10) (Part 2 of 2)     Linux x86-64
V861126-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (3 of 10) (Part 1 of 2)     Linux x86-64
V861126-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (3 of 10) (Part 2 of 2)     Linux x86-64
V861127-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (4 of 10) (Part 1 of 2)     Linux x86-64
V861127-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (4 of 10) (Part 2 of 2)     Linux x86-64
V861128-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (5 of 10) (Part 1 of 2)     Linux x86-64
V861128-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (5 of 10) (Part 2 of 2)     Linux x86-64
V861129-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (6 of 10) (Part 1 of 2)     Linux x86-64
V861129-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (6 of 10) (Part 2 of 2)     Linux x86-64
V861130-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (7 of 10) (Part 1 of 2)     Linux x86-64
V861130-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (7 of 10) (Part 2 of 2)     Linux x86-64
V861131-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (8 of 10) (Part 1 of 2)     Linux x86-64
V861131-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (8 of 10) (Part 2 of 2)     Linux x86-64
V861132-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (9 of 10) (Part 1 of 2)     Linux x86-64
V861132-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (9 of 10) (Part 2 of 2)     Linux x86-64
V861133-01      Oracle E-Business Suite Release 12.2.6 Single Node Vision Install X86 (64 bit) - (10 of 10) (Part 1 of 1)     Linux x86-64

Step 2:

Download assembly.sh (UNIX) or assemble_OSX.sh(for Mac) from Oracle Support Doc ID 2254565.1  Or  You can Use UNZIP Tools like 7ZIP.exe.  Generate Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.00 to Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.18 

Step 3:

UnZip All the OVA part Files to Make it as a Single OVA file.  i.e. Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova

 

Unix/Linux :

cat Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.00 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.01 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.02 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.03 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.04 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.05 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.06 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.07 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.08 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.09 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.10 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.11 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.12 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.13 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.14 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.15 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.16 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.17 \

Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova.18 >  Oracle-E-Business-Suite-12.2.6_VISION_INSTALL.ova

For Windows, we can use Type Instead of “cat”

Step 4:

Import Appliance as below.

 

 

Posted in Oracle VM | 1 Comment »

Apache – No space left on device / Failed to create proxy Mutex

Posted by Sriram Sanka on August 10, 2018


A Big Thanks to “https://help.directadmin.com/item.php?id=110

Restarting  Apache in one of the Servers failed with “No Space left on the Device ” Error and we have enough space in all available partitions.

This is something to deal with Server Kernel semaphores.

“On Linux, A semaphore is a System V IPC object that is used to control utilization of a particular process. Refer https://www.tldp.org/LDP/tlk/ipc/ipc.html

Semaphores are a shareable resource that take on a non-negative integer value. They are manipulated by the P (wait) and V (signal) functions, which decrement and increment the semaphore, respectively. When a process needs a resource, a “wait” is issued and the semaphore is decremented. When the semaphore contains a value of zero, the resources are not available and the calling process spins or blocks (as appropriate) until resources are available. When a process releases a resource controlled by a semaphore, it increments the semaphore and the waiting processes are notified.”

The system does n`t have actual resource available to serve the request, so either we need to configure the Kernel Semaphores or clear the Old entries to get it back.

kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI

SEMMSL      maximum number of semaphores per array
SEMMNS     maximum semaphores system-wide
SEMOPM     maximum operations per semop call
SEMMNI      maximum arrays

[root@r12 ~]# cat /etc/sysctl.conf |grep kernel.sem
kernel.sem = 256 32000 100 142
[root@r12 ~]#

[root@r12 ~]# cat /proc/sys/kernel/sem
256 32000 100 142
[root@r12 ~]#

[root@r12 ~]# ipcs -l | awk ‘FNR>=7 && FNR<=15’

—— Semaphore Limits ——–
max number of arrays = 142
max semaphores per array = 256
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767

—— Messages: Limits ——–
[root@r12 ~]#

[root@r12 ~]# ipcs -ls

—— Semaphore Limits ——–
max number of arrays = 142
max semaphores per array = 256
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767

To Clear ,  we can execute the following

ipcs | grep apache | awk ‘{print $2}’ > sem.txt
for i in `cat sem.txt`; do { ipcrm -s $i; }; done;

For Automating the removal of apache semaphores with ipcs/ipcrm, Please refer https://help.directadmin.com/item.php?id=572

Posted in Uncategorized | Tagged: , , | Leave a Comment »

Applying WLS patch using BSU -java.lang.OutOfMemoryError: GC overhead limit exceeded

Posted by Sriram Sanka on July 8, 2018


If you are trying to Apply any Big Patch, while Checking for conflicts…., “BSU”  might end-up with Java Heap  Errors.

 

 

To Avoid,  Try to Increase the size in $FMW_Home/utils/bsu . Edit bsu.sh using any editor as below. 

Change the Value MEM_ARGS=”-Xms256m -Xmx512m” to MEM_ARGS=”-Xms1024m -Xmx1024m” or even bigger  and save. 

This will resolve the above issue and re-try applying the patch .

 

For more Details Ref Oracle MOS Doc:  Weblogic 10.3.6 Patching Error Using BSU – “java.lang.OutOfMemoryError: GC overhead limit exceeded” (Doc ID 2007492.1) and 

Enhancement for WLS BSU (Smart Update): Resolves Very Long Time to Apply Patches – Especially When Checking for Patch Conflicts (Doc ID 2271366.1)

 

 

 

Posted in Web Logic Server | Leave a Comment »

Missing braces on \o{} at clonedb.pl line 245, near “$lne’ , ‘$clonedbdir”

Posted by Sriram Sanka on February 23, 2018


There is a known issue with clonedb.pl script,  you might end-up with “Missing braces on \o{} at clonedb.pl line 245, near “$lne’ , ‘$clonedbdir”  Especially if you are using perl Vv5.10.1.

 Actual Line: print OUTFILE1 “dbms_dnfs.clonedb_renamefile(‘$lne’,’$clonedbdir/\ora_data_$cldbname$i.dbf’); \n”; 

You will get the Error when this Line of code  executed and “\o” is the root cause in Perl Execution. 

 

to avoid this, just define a new Variable $var, for Ex,  in my case,  $var = “ora_data”; and place it in the Script to get the Job Done. 

‘$clonedbdir/\ora_data_$cldbname$i.dbf’); to ‘$clonedbdir/$var\_$cldbname$i.dbf’);

Make changes in the Script as needed.

 

 

Thank you for giving your valuable time to read the above information. Happy Coding !. 😉

 

Posted in Oracle Administration | Leave a Comment »

Oracle Internals – Memory structures (arrays) – Part 1

Posted by Sriram Sanka on January 19, 2018


 

Dynamic Performance Views

Oracle contains a set of underlying views that are maintained by the database server and accessible to the database administrator user SYS. These views are called dynamic performance views because they are continuously updated while a database is open and in use, and their contents relate primarily to performance.

Although these views appear to be regular database tables, they are not. These views provide data on internal disk structures and memory structures. You can select from these views, but you can never update or alter them.

Screen Shot 2018-01-19 at 10.50.09 AM

https://docs.oracle.com/cd/B28359_01/server.111/b28320/dynviews_1001.htm#i1398692

There are two types of views,  

  • V$ Views
  • GV$ Views

Almost For Every V$ View there is a GV$View which will hold the instance specific Information in a Multi Instance Environment like RAC.

Screen Shot 2018-01-19 at 10.33.49 AM

These Dynamic Views are owned by Sys User and These views are constructed based on the Oracle Internal Memory Structures (X$ Tables/Views). We cannot alter or Update on these views. These X$ structure Get Created when the Instance started and Will get destroyed when you shutdown the DB.  

V$FIXED_VIEW

V$FIXED_TABLE displays all dynamic performance tables, views, and derived tables in the database.

V$FIXED_VIEW_DEFINITION

This  View contains the definitions of all the fixed views (views beginning with V$). Use this table with caution. Oracle tries to keep the behavior of fixed views the same from release to release, but the definitions of the fixed views can change without notice.

As described in the Above Example, Dynamic Performance views are based on Internal Memory Structures X$.

The X$ tables/views  are platform-specific & the No of tables are keep on increasing By Oracle Version.The Oracle kernel consists of layers. The X$ table names contain an abbreviation for the particular kernel layer.

The No#  Of Views are dependent on Oracle version and the OS Specific.

Screen Shot 2018-01-19 at 11.18.14 AM

Screen Shot 2018-01-19 at 10.24.17 AM

These Views Get populated only when the Instance Started. These Views Contains information about all the parameters,performance etc info. As We all know Oracle has documented some of Dynamic Views (V$_ objects) which are in handy to get the info from your instance these Dynamic Views are Based on GV$_ VIEWS which includes the data for Multiple Instances.  GV$ are Designed from these Fixed Views. View Columns might be similar from version to version where as Underlying Fixed X$ objects might different.

Screen Shot 2018-01-19 at 10.56.14 AM

Why do we call them “Fixed”?

As mentioned, All these Objects are owned by SYS and DDL or DML Operations are not permitted/supported on these. Even if we try to perform, Operation will end up with error ORA-02030: can only select from fixed tables/views.

Screen Shot 2018-01-19 at 10.50.09 AM

These objects contain information about the current configuration of the instance, information about the sessions connected to the instance, and a goldmine of performance information.  

Using Views like (g) v$fixed_view_definition  one can get the Actual Creation script of these Fixed views which are harmful in case of replacing the Existing or Create New views, which will end up with Errors or incorrect data as These Views are for Oracle not for Others. DBA/Developers should not create Objects using actual “V$_ “, they need to use v$ Objects instead of v$_ or X$, as The Definition of the base view may change in OS/DB software versions.   

The X$ views are completely undocumented, and Oracle does not provide any assistance for deriving the meaning of the contents of the X$ structures. since V$ views are dynamic and consistency is not guaranteed, Oracle does not support joins or sorts of dynamic views.  

The X$ views are an Oracle internal interface not exposed for customer use; customers should not be using it unless directed to do so by the support.Customer use without support guidance is unsupported.

Posted in Uncategorized | Leave a Comment »

oracle-e-business-suite-1227-now-available

Posted by Sriram Sanka on September 12, 2017


https://blogs.oracle.com/stevenchan/oracle-e-business-suite-1227-now-available

Posted in Uncategorized | Leave a Comment »

 
Tales From A Lazy Fat DBA

Its all about Databases & their performance, troubleshooting & much more .... ¯\_(ツ)_/¯

Thinking Out Loud

Michael T. Dinh, Oracle DBA

Notes On Oracle

by Mehmet Eser

Oracle Diagnostician

Performance troubleshooting as exact science

deveshdba

get sum oracle stuffs

Know-Oracle

Oracle Cloud ERP Blog by Team CLT

Data Warehousing with Oracle

Dani Schnider's Blog

ORASteps

Oracle DBA's Daily Work

DBAspaceblog.com

Welcome everyone!! The idea of this blog is to help the DBA in their daily tasks. Enjoy.

Anand's Data Stories

Learn. Share. Repeat.

Tanel Poder's blog: Core IT for geeks and pros

Oracle Performance Tuning, Troubleshooting, Internals

Yet Another OCM

Journey as an Oracle Certified Master

%d bloggers like this: