How to Enable Block Change Tracking

Check block change tracking ENABLED

SQL>SELECT status, filename FROM V$BLOCK_CHANGE_TRACKING


STATUS     FILENAME
---------- -----------------------------------------------
ENABLED    +DATA2/LG6PRDD/CHANGETRACKING/ctf.556.939400999

Check parameter ‘ DB_CREATE_FILE_DEST’

Setup this parameter if not yet:

SQL>ALTER SYSTEM SET DB_CREATE_FILE_DEST = '+DATA2';

Enable block change tracking

SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

Deinstall 12.1.0.2 Grid Infrastructure Home After Being Upgraded to 12.2.0.1

Grid Infrastructure 12.1.0.2 has been upgraded to 12.2.0.1 successfully. So 12.1.0.2 GI_HOME needs to be de-installed.  There are two ways to uninstall the old GI_HOME ( 12.1.0.2).

Detach GI_HOME and Remove the GI_HOME Manually

$ export ORACLE_HOME=/u01/app/grid/12.1.0.2
$ $ORACLE_HOME/OPatch/opatch lsinventory -all
$ cd $ORACLE_HOME/oui/bin
$ ./runInstaller -silent -detachHome ORACLE_HOME="/u01/app/grid/12.1.0.2"
$ unset ORACLE_HOME

-- as root user

# cd /u01/app/grid
# rm -fr 12.1.0.2

For any reason, if the above command fails, then on every node:

$ export ORACLE_HOME=/u01/app/grid/12.1.0.2 
$ $ORACLE_HOME/OPatch/opatch lsinventory -all 
$ cd $ORACLE_HOME/oui/bin 
$ ./runInstaller -silent -local -detachHome ORACLE_HOME="/u01/app/grid/12.1.0.2"
$ unset ORACLE_HOM
-- as root user
# cd /u01/app/grid
# rm -fr 12.1.0.2

Deinstall old GI_HOME by using “deinstall” tool

a) Log in as root, change the permission and ownership of the old GI_HOME ( 12.1.0.2)

# chmod -R 755 /u01/app/12.1.0.2/grid
# chown -R grid /u01/app/12.1.0.2/grid
# chown grid /u01/app/12.1.0.2

b) Run “deinstall” under the to be deleted GI_HOME( /u01/app/12.1.0.2/grid).

$ /u01/app/12.1.0.2/grid/deinstall/deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /u01/app/oraInventory/logs/

############ ORACLE DECONFIG TOOL START ############
...
..
.

c) Refer and check the logs :

Log of Deinstall 12.1.0.2 GI_HOME

“Duplicate from Active Database” Failed With ORA-12528 When Connecting to Auxiliary Instance

SYMPTOM

RMAN “duplicate target database for standby from active database” failed with below errors:

Connection from target database server to the auxiliary database  
fails with error:

ORA-12528: TNS:listener: all appropriate instances are blocking new 
connections.

It is a little bit tricky in RAC environment, this post will provide the solution for both single and RAC environment.

INVSTIGATIONS and SOLUTION

Subscribe to get access

Read more of this content when you subscribe today.

How to Install and Configure ASMLIb on RHEL Linux 7

Make sure oracleasm packages are installed , go to Red Hat website to download the required ones:

$ rpm -qa|grep -i oracleasm
kmod-oracleasm-version.el7.x86_64
oracleasm-support-version.el7.x86_64
oracleasmlib-version.el7.x86_64

Check orcaleasm.service is activated:

# systemctl is-enabled oracleasm.service
enabled

Check  oracleasm kernel module is installed:

#modinfo oracleasm
filename: /lib/modules/3.10.0-514.el7.x86_64/weak-updates/oracleasm/oracleasm.ko
description: Kernel driver backing the Generic Linux ASM Library.
author: Joel Becker <joel.becker@oracle.com>
version: 2.0.8
license: GPL
rhelversion: 7.3
srcversion: 3AA2BF05E1F8A2D0EEAFD4E
depends:
vermagic: 3.10.0-510.el7.x86_64 SMP mod_unload modversions
signer: Red Hat Enterprise Linux Driver Update Program (key 3)
sig_key: BF:57:F3:E8:73:62:BC:72:29:D9:F4:65:32:17:73:DF:D1:F7:7A:80
sig_hashalgo: sha256
parm: use_logical_block_size:Prefer logical block size over physical (Y=logical, N=physical [default]) (bool)

Check whether oracleasm module is loaded into Linux kernel:

# lsmod | grep oracleasm
                          < -- not loaded yet

Initialize oracleasm module:

# oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm

Check whether oracleasm module is loaded into Linux kernel:

# lsmod | grep oracleasm
oracleasm 63318 1

Configuring the Oracle ASM library driver:

# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: dba
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done

Check oracleasm status:

# oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes

#cd /etc/sysconfig
#ls -ltr *oracleasm*
-rw-r--r--. 1 root root 685 Jul 10 2014 oracleasm-_dev_oracleasm
lrwxrwxrwx. 1 root root 24 Aug 24 22:59 oracleasm -> 
                    oracleasm-_dev_oracleasm <---- this is required.

# oracleasm configure
ORACLEASM_UID=grid
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER="dm"
ORACLEASM_SCANEXCLUDE="sd"
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"


# cat oracleasm

#
# This is a configuration file for automatic loading of the Oracle
# Automatic Storage Management library kernel driver. It is generated
# By running /etc/init.d/oracleasm configure. Please use that method
# to modify this file
#
# ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.
ORACLEASM_UID=grid

# ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.
ORACLEASM_GID=dba

# ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot.
ORACLEASM_SCANBOOT=true

# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER="dm"

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE="sd"

# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size
# reported by the underlying disk instead of the physical. The default
# is 'false'
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false

#

Scan ASM disks, and list ASM disks:

# oracleasm scandisks
Scanning the system for Oracle ASMLib disks: [ OK ]

#oracleasm listdisks
OCR_VOTE
ASM_DISK1
ASM_DISK2
...
..
.

Check oracleasm log:

$ vi /var/log/oracleasm