Tuesday, March 6, 2018

Resize /DEV/SHM Filesystem In Linux


Step 1: Open /etc/fstab with vi or any text editor of your choice

Step 2:  Locate the line of /dev/shm and use the tmpfs size option to specify your expected size

e.g.
tmpfs /dev/shm tmpfs defaults,size=1500m 0 0
or
tmpfs /dev/shm tmpfs defaults,size=2g 0 0

Step 3: To make change effective immediately, run this mount command to remount the /dev/shm filesystem:

mount -o remount /dev/shm

Step 4: Verify

# df -h

Filesystem            Size  Used Avail Use% Mounted on   

tmpfs                  2G  232M   16G   2% /dev/shm

Saturday, March 3, 2018

RMAN 11G : Data Recovery Advisor - RMAN command line example 


What Is the Data Recovery Advisor?

The Data Recovery Advisor is a tool that helps you to diagnose and repair data failures and corruptions. The Data Recovery Advisor analyzes failures based on symptoms and intelligently determines optimal repair strategies. The tool can also automatically repair diagnosed failures.

The Data Recovery Advisor is available from Enterprise Manager (EM) Database Control and Grid Control. You can also use it via the RMAN command-line.

This DRA commands are available within RMAN:

List Failure     # lists the results of previously executed failure assessments. Revalidates existing failures and closes them, if possible.
Advise Failure   # presents manual and automatic repair options
Repair Failure   # automatically fix failures by running optimal repair option, suggested by ADVISE FAILURE. Revalidates existing failures when completed.
Change Failure # enables you to change the status of failures.

Restrctions:

Data Recovery Advisor supports single-instance databases. Oracle Real Application Clusters databases are not supported in 11.1.0.6 -> 11.1.0.8. Data Recovery Advisor cannot use blocks or files transferred from a standby database to repair failures on a primary database. Also, you cannot use Data Recovery Advisor to diagnose and repair failures on a standby database. However, the Data Recovery Advisor does support failover to a standby database as a repair option (as mentioned above).

Examples:

RMAN> list failure;
RMAN> advise failure;
RMAN> repair failure;
RMAN> change failure 522 closed;

Others Command:

RMAN> list failure low;
RMAN> list failure high;
RMAN> list failure critical;
RMAN> repair failure preview;
RMAN> change failure 522 priority low;

Password Not Supplied Error Occurs When Trying to Start WebLogic Using nohup ./startWeblogic.sh 


Applies To:

Oracle WebLogic Server - Version 8.1 and later
Information in this document applies to any platform.
***Checked for relevance on 19-Nov-2015***

Symptoms:

When attempting to start WebLogic Server using the command nohup ./startWeblogic.sh, the following error occurs:

weblogic.security.SecurityInitializationException: Authentication for user denied
  at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.doBootAuthorization(CommonSecurityServiceManagerDelegateImpl.java:966)
  at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initialize(CommonSecurityServiceManagerDelegateImpl.java:1054)
  at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:873)
  at weblogic.security.SecurityService.start(SecurityService.java:141)
  at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
  Truncated. see log file for complete stacktrace
Caused By: javax.security.auth.login.FailedLoginException: [Security:090304]Authentication Failed: User javax.security.auth.login.LoginException: [Security:090301]Password Not Supplied
  at weblogic.security.providers.authentication.LDAPAtnLoginModuleImpl.login(LDAPAtnLoginModuleImpl.java:261)
  at com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)
  at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  Truncated. see log file for complete stacktrace

Cause:

When using nohup there is not a chance to enter the username and password at the server startup command prompt. For that reason, if the boot.properties file does not exist in the security folder of the AdminServer, this error is shown in the nohup.out file and the server fails to start.

Solution:

To resolve the issue, follow these steps:

Go to the WL_HOME/user_projects/domains//servers/AdminServer folder.
Create a folder called "security" if it does not already exist.
Create a new file called boot.properties and put the following information inside it:
username=WLS_username
password=WLS_password
Save the changes and restart the servers using nohup startWeblogic.sh again.
Note that the values of boot.properties are automatically encrypted if you are running in development mode. If you are running in production mode, you will need to encrypt these values before starting the server. Use the weblogic.security.Encrypt utility to accomplish this.

Reference metalink Doc ID 1504258.1

Oracle RAC Administration Commands


Shutdown and Start sequence of Oracle RAC

STOP ORACLE RAC (11g)
1. emctl stop dbconsole
2. srvctl stop listener -n racnode1
3. srvctl stop database -d RACDB
4. srvctl stop asm -n racnode1 -f
5. srvctl stop asm -n racnode2 -f
6. srvctl stop nodeapps -n racnode1 -f
7. crsctl stop crs

START ORACLE RAC (11g)
1. crsctl start crs
2. crsctl start res ora.crsd -init
3. srvctl start nodeapps -n racnode1
4. srvctl start nodeapps -n racnode2
5. srvctl start asm -n racnode1
6. srvctl start asm -n racnode2
7. srvctl start database -d RACDB
8. srvctl start listener -n racnode1
9. emctl start dbconsole

-To start and stop oracle clusterware (run as the superuser) :

[root@node1 ~]# crsctl stop crs
[root@node1 ~]# crsctl start crs

-To start and stop oracle cluster resources running on all nodes :

[root@node1 ~]#  crsctl stop cluster -all
[root@node1 ~]#  crsctl start cluster -all

-To check the current status of a cluster :

[oracle@node1~]$ crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

-To check the current status of CRS :

[oracle@node1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

-To display the status cluster resources :

[oracle@node1 ~]$ crsctl stat res -t

-To check version of  Oracle Clusterware :

[oracle@node1 ~]$ crsctl query crs softwareversion
Oracle Clusterware version on node [node1] is [11.2.0.4.0]
[oracle@node1 ~]$
[oracle@node1 ~]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
[oracle@node1 ~]$ crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [11.2.0.4.0]

-To check current status of OHASD (Oracle High Availability Services) daemon :

[oracle@node1 ~]$ crsctl check has
CRS-4638: Oracle High Availability Services is onli

-Forcefully deleting resource :

[oracle@node1 ~]$ crsctl delete resource testresource -f

-Enabling and disabling CRS daemons (run as the superuser) :

[root@node1 ~]# crsctl enable crs
CRS-4622: Oracle High Availability Services autostart is enabled.
[root@node1 ~]#
[root@node1 ~]# crsctl disable crs
CRS-4621: Oracle High Availability Services autostart is disabled.

-To check the status of Oracle CRS :

[oracle@node1 ~]$ olsnodes
node1
node2

-To print node name with node number :

[oracle@node1 ~]$ olsnodes -n
node1 1
node2 2

-To print private interconnect address for the local node :

[oracle@node1 ~]$ olsnodes -l -p
node1 192.168.1.101

-To print virtual IP address with node name :

[oracle@node1 ~]$ olsnodes -i
node1 node1-vip
node2 node2-vip
[oracle@node1 ~]$ olsnodes -i node1
node1 node1-vip

-To print information for the local node :

[oracle@node1 ~]$ olsnodes -l
node1
pl

-To print node status (active or inactive) :

[oracle@node1 ~]$ olsnodes -s
node1 Active
node2 Active
[oracle@node1 ~]$ olsnodes -l -s
node1 Active

-To print node type (pinned or unpinned) :

[oracle@node1 ~]$ olsnodes -t
node1 Unpinned
node2 Unpinned
[oracle@node1 ~]$ olsnodes -l -t
node1 Unpinned

-To print clusterware name :

[oracle@node1 ~]$ olsnodes -c
rac-scan

-To display global public and global cluster_interconnect :

[oracle@node1 ~]$ oifcfg getif
eth0  192.168.100.0  global  public
eth1  192.168.1.0  global  cluster_interconnect

-To display the database registered in the repository :

[oracle@gpp4 ~]$ srvctl config database
TESTRACDB

-To display the configuration details of the database :

[oracle@TEST4 ~]$ srvctl config database -d TESTRACDB
Database unique name: TESTRACDB
Database name: TESTRACDB
Oracle home: /home/oracle/product/11.2.0/db_home1
Oracle user: oracle
Spfile: +DATA/TESTRACDB/spfileTESTRACDB.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: TESTRACDB
Database instances: TESTRACDB1,TESTRACDB2
Disk Groups: DATA,ARCH
Mount point paths:
Services: SRV_TESTRACDB
Type: RAC
Database is administrator managed

-To change  policy of database from automatic to manual :

[oracle@TEST4 ~]$ srvctl modify database -d TESTRACDB -y MANUAL

-To change  the startup option of database from open to mount :

[oracle@TEST4 ~]$ srvctl modify database -d TESTDB -s mount

-To start RAC listener :

[oracle@TEST4 ~]$ srvctl start listener

-To display the status of the database :

[oracle@TEST4 ~]$ srvctl status database -d TESTRACDB
Instance TESTRACDB1 is running on node TEST4
Instance TESTRACDB2 is running on node TEST5

-To display the status services running in the database :

[oracle@TEST4 ~]$ srvctl status service -d TESTRACDB
Service SRV_TESTRACDB is running on instance(s) TESTRACDB1,TESTRACDB2

-To check nodeapps running on a node :

[oracle@TEST4 ~]$ srvctl status nodeapps
VIP TEST4-vip is enabled
VIP TEST4-vip is running on node: TEST4
VIP TEST5-vip is enabled
VIP TEST5-vip is running on node: TEST5
Network is enabled
Network is running on node: TEST4
Network is running on node: TEST5
GSD is enabled
GSD is not running on node: TEST4
GSD is not running on node: TEST5
ONS is enabled
ONS daemon is running on node: TEST4
ONS daemon is running on node: TEST5

[oracle@TEST4 ~]$  srvctl status nodeapps -n TEST4
VIP TEST4-vip is enabled
VIP TEST4-vip is running on node: TEST4
Network is enabled
Network is running on node: TEST4
GSD is enabled
GSD is not running on node: TEST4
ONS is enabled
ONS daemon is running on node: TEST4

-To start or stop all instances associated with a database. This command also starts services and listeners on each node :

[oracle@TEST4 ~]$ srvctl start database -d TESTRACDB

-To shut down instances and services (listeners not stopped):

[oracle@TEST4 ~]$ srvctl stop database -d TESTRACDB

You can use -o option to specify startup/shutdown options.
To shutdown immediate database – srvctl stop database -d TESTRACDB -o immediate
To startup force all instances – srvctl start database -d TESTRACDB -o force
To perform normal shutdown – srvctl stop database -d TESTRACDB -i instance racnode1

-To start or stop the ASM instance on racnode01 cluster node :

[oracle@TEST4 ~]$ srvctl start asm -n racnode1
[oracle@TEST4 ~]$ srvctl stop asm -n racnode1

-To display current configuration of the SCAN VIP’s :

[oracle@test4 ~]$ srvctl config scan
SCAN name: vmtestdb.exo.local, Network: 1/192.168.5.0/255.255.255.0/eth0
SCAN VIP name: scan1, IP: /vmtestdb.exo.local/192.168.5.100
SCAN VIP name: scan2, IP: /vmtestdb.exo.local/192.168.5.101
SCAN VIP name: scan3, IP: /vmtestdb.exo.local/192.168.5.102

Refreshing  SCAN VIP’s with new IP addresses from DNS :

[oracle@test4 ~]$ srvctl modify scan -n your-scan-name.example.com

-To stop or start SCAN listener and the  SCAN VIP resources :

[oracle@test4 ~]$ srvctl stop scan_listener
[oracle@test4 ~]$ srvctl start scan_listener
[oracle@test4 ~]$ srvctl stop scan
[oracle@test4 ~]$ srvctl start scan

-To display the status of SCAN VIP’s and SCAN listeners :

[oracle@test4 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node test4
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node test5
SCAN VIP scan3 is enabled
SCAN VIP scan3 is running on node test5

[oracle@test4 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node test4
SCAN Listener LISTENER_SCAN2 is enabled
SCAN listener LISTENER_SCAN2 is running on node test5
SCAN Listener LISTENER_SCAN3 is enabled
SCAN listener LISTENER_SCAN3 is running on node test5

-To add/remove/modify SCAN :

[oracle@test4 ~]$ srvctl add scan -n your-scan
[oracle@test4 ~]$ srvctl remove scan
[oracle@test4 ~]$ srvctl modify scan -n new-scan

-To add/remove SCAN listener :

[oracle@test4 ~]$ srvctl add scan_listener
[oracle@test4 ~]$ srvctl remove scan_listener

-To modify SCAN listener port :

srvctl modify scan_listener -p <port_number>
srvctl modify scan_listener -p <port_number>  (reflect changes to the current SCAN listener only)

-To start the ASM instnace in mount state :

ASMCMD> startup --mount

-To shut down ASM instance immediately(database instance must be shut down before the ASM instance is shut down) :

ASMCMD> shutdown --immediate

Use lsop command on ASMCMD to list ASM operations :

ASMCMD > lsop

-To perform quick health check of OCR :

[oracle@test4 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       3304
Available space (kbytes) :     258816
ID                       : 1555543155
Device/File Name         :      +DATA
                                    Device/File integrity check succeeded
Device/File Name         :       +OCR
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check bypassed due to non-privileged user

-To dump content of OCR file into an xml :

[oracle@test4 ~]$ ocrdump testdump.xml -xml

-To add or relocate the OCR mirror file to the specified location :

[oracle@test4 ~]$ ocrconfig -replace ocrmirror ‘+TESTDG’
[oracle@test4 ~]$ ocrconfig -replace +CURRENTOCRDG -replacement +NEWOCRDG

-To relocate existing OCR file :

[oracle@test4 ~]$ ocrconfig  -replce ocr ‘+TESTDG’

-To add mirrod disk group for OCR :

[oracle@test4 ~]$ ocrconfig -add +TESTDG

-To remove OCR mirror :

ocrconfig -delete +TESTDG

-To remove the OCR or the OCR mirror :

[oracle@test4 ~]$ ocrconfig -replace ocr

[oracle@test4 ~]$ ocrconfig replace ocrmirror

-To list ocrbackup list :

[oracle@test4 ~]$ ocrconfig -showbackup

test5     2016/04/16 17:30:29     /home/oracle/app/11.2.0/grid/cdata/vmtestdb/backup00.ocr
test5     2016/04/16 13:30:29     /home/oracle/app/11.2.0/grid/cdata/vmtestdb/backup01.ocr
test5     2016/04/16 09:30:28     /home/oracle/app/11.2.0/grid/cdata/vmtestdb/backup02.ocr
test5     2016/04/15 13:30:26     /home/oracle/app/11.2.0/grid/cdata/vmtestdb/day.ocr
test5     2016/04/08 09:30:03     /home/oracle/app/11.2.0/grid/cdata/vmtestdb/week.ocr

-Performs OCR backup manually :

[root@testdb1 ~]# ocrconfig -manualbackup

testdb1     2016/04/16 17:31:42     /votedisk/backup_20160416_173142.ocr     0 

-Changes OCR autobackup directory

[root@testdb1 ~]# ocrconfig -backuploc /backups/ocr

-To verify the integrity of all the cluster nodes:

[oracle@node1]$ cluvfy comp ocr -n all -verbose
Verifying OCR integrity
Checking OCR integrity...

Checking the absence of a non-clustered configuration...
All nodes free of non-clustered, local-only configurations

Checking daemon liveness...

Check: Liveness for "CRS daemon"
  Node Name                             Running?               
  ------------------------------------  ------------------------
  node2                                yes                   
  node1                                yes                   
Result: Liveness check passed for "CRS daemon"

Checking OCR config file "/etc/oracle/ocr.loc"...
OCR config file "/etc/oracle/ocr.loc" check successful

Disk group for ocr location "+DATA/testdb-scan/OCRFILE/registry.255.903592771" is available on all the nodes
Disk group for ocr location "+CRS/testdb-scan/OCRFILE/registry.255.903735431" is available on all the nodes
Disk group for ocr location "+MULTIPLEX/testdb-scan/OCRFILE/registry.255.903735561" is available on all the nodes

Checking OCR backup location "/bkpdisk"
OCR backup location "/bkpdisk" check passed
Checking OCR dump functionality
OCR dump check passed

NOTE:
This check does not verify the integrity of the OCR contents. Execute 'ocrcheck' as a privileged user to verify the contents of OCR.
OCR integrity check passed
Verification of OCR integrity was successful. 

Friday, March 2, 2018

Weblogic Patching Activity On Different Versions

Weblogic Patching Activity On Different Versions



Weblogic 10.3.6 Patching With BSU.SH Utililty
+++++++++++++++++++++++++++++++++++:

Step.1

Set the below homes:
export MW_HOME=/u01/app/oracle/product/fmw11g
export WLS_HOME=$MW_HOME/wlserver_10.3
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64
export PATH=$JAVA_HOME/bin:$PATH

Step.2

Copy the patches in $MW_HOME/utils/bsu/cache_dir and Unzip the patch and read the README.txt file

Step.3

Apply the patch

syntax:

./bsu.sh -install -patch_download_dir=$MW_HOME/utils/bsu/cache_dir -patchlist=FMJJ -prod_dir=$WLS_HOME -log=/tmp/weblogic_patching.log

Note:
If you get conflicts, you may have to remove previous patches, before attempting to apply the patch again.

Example:

[oracle@bsu]$ ./bsu.sh -install -patch_download_dir=$MW_HOME/utils/bsu/cache_dir -patchlist=FMJJ -prod_dir=$WLS_HOME -log=/tmp/weblogic_patching.log
Checking for conflicts........
Conflict(s) detected - resolve conflict condition and execute patch installation again
Conflict condition details follow:
Patch FMJJ is mutually exclusive and cannot coexist with patch(es): B25A

[oracle@FCISCOSTBAPP1 bsu]$

[oracle@bsu]# ./bsu.sh -remove -patchlist=B25A -prod_dir=$WLS_HOME -log=/tmp/weblogic_patching.log
Checking for conflicts......
No conflict(s) detected

Removing Patch ID: B25A.
Result: Success

After the patch is successfully applied, restart all WebLogic servers.

How to Check the version.

[oracle@bsu]$ . $WLS_HOME/server/bin/setWLSEnv.sh

[oracle@bsu]$ java weblogic.version


Weblogic 12c Patching With Opatch Utility
++++++++++++++++++++++++++++++++:

Step.1

Set the different home paths

a)set the patch_top directory
export PATCH_TOP=/u01/install/weblogic_patch
echo $PATCH_TOP
/u01/install/weblogic_patch

b)set the ORACLE_HOME
export ORACLE_HOME=/u01/app/fmw
echo $ORACLE_HOME
/u01/app/fmw

c) set the java_home
export JAVA_HOME=/u01/app/jdk1.7.0_15
echo $JAVA_HOME
/u01/app/jdk1.7.0_15

d) set the opatch path
export PATH=$ORACLE_HOME/OPatch:$PATH

Step.2

Make sure opatch and unzip will found (which opatch and which unzip)

Step.3

Unzipping the patches and read the README.txt and apply the patch using opatch utility.

syntax:
$opatch apply -jdk $JAVA_HOME

To check the how many patches are applied ?
$opatch lsinventory -jdk $JAVA_HOME

To rollback a weblogic patch
$ opatch rollback -id 15941858 -jdk $JAVA_HOME

Note: After applying a particular in weblogic.

Before Patch:

[oracle@rac1 ]$ java weblogic.version

WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050
Use 'weblogic.version -verbose' to get subsystem information
Use 'weblogic.utils.Versions' to get version information for all modules

After Patch:

[oracle@rac1 ]$ java weblogic.version

WebLogic Server 10.3.6.0.8 PSU Patch for BUG18040640 THU MARCH 27 15:54:42 IST 2014
WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050
Use 'weblogic.version -verbose' to get subsystem information

Note: Patching information will be stored in a file called patch-registry.xml under $MW_HOME/patch_wls1036/registry directory

[oracle@rac1 fmw]$ tail -f patch_wls1036/registry/patch-registry.xml
    <version>
      <version>10.3.6.0</version>
      <patchInstallEntry>
        <id>T5F1</id>
        <timestamp>2018-04-21+05:30</timestamp>
        <profile>Default</profile>
      </patchInstallEntry>
    </version>
  </product>
</patchRegistry>


Saturday, February 24, 2018

How To Create Excel Reports In Database


set feed off markup html on spool on
spool example.xls
select * from tab;
spool off
set markup html off spool off