Monday, December 5, 2016

How to perform flashback table forward and backward

CREATE TABLE TEST_FLASH(ID NUMBER);

ALTER TABLE TEST_FLASH ENABLE ROW MOVEMENT;

TRUNCATE TABLE TEST_FLASH;

INSERT INTO TEST_FLASH
SELECT LEVEL FROM DUAL CONNECT BY LEVEL<10000;

SELECT CURRENT_SCN FROM V$DATABASE;-- 63441120

INSERT INTO TEST_FLASH
SELECT LEVEL+10000 FROM DUAL CONNECT BY LEVEL<10000;

SELECT CURRENT_SCN FROM V$DATABASE;-- 63441184

SELECT COUNT(*) FROM TEST_FLASH; -- 19998

FLASHBACK TABLE TEST_FLASH to scn 63441120;

SELECT COUNT(*) FROM TEST_FLASH; -- 9999

FLASHBACK TABLE TEST_FLASH to scn 63441184;

SELECT COUNT(*) FROM TEST_FLASH; -- 19998

Sunday, December 4, 2016

0481-103 Cannot open a file in the /var/spool/cron/crontabs directory.

bash-4.3$ crontab -l
0481-103 Cannot open a file in the /var/spool/cron/crontabs directory.
A file or directory in the path name does not exist.
bash-4.3$ su root
root's Password:
# bash
bash-4.3#
bash-4.3# cd /var/spool/cron/crontabs
bash-4.3# vi oracle
bash-4.3# ls -ltr
total 40
-rw-r--r--    1 adm      cron           2016 Sep 22 2009  adm
-rw-r--r--    1 sys      cron            849 Sep 22 2009  sys
-rw-------    1 root     cron           1280 Aug 31 18:03 root
-rw-r--r--    1 root     cron           1118 Aug 31 19:00 uucp
-rw-r--r--    1 root     system           10 Dec 04 16:21 oracle
bash-4.3#
bash-4.3# chown root:cron oracle
bash-4.3# vi /var/adm/cron/cron.allow
bash-4.3# cat /var/adm/cron/cron.allow
root
oracle
bash-4.3# su oracle
bash-4.3$ crontab -l
#Cron job

Friday, December 2, 2016

How to fix timezone issue in RAC Database.

When mismatch between OS time zone and clusterware time zone SYSDATE and  CURRENT_DATE will return different value, because of at the time of clusterware starting lintener started using clusterware time zone.

Solution : 

1. Shutdown clusterware from root user

crsctl stop crs

2. Change the clusterware time $GRID_HOME/crs/install/s_crsconfig__env.txt file using vi editor from root user. Before change take backup of this file.

bash-4.3# cat s_crsconfig_sbldcdb01_env.txt
### This file can be used to modify the NLS_LANG environment variable, which determines the charset to be used for messages.
### For example, a new charset can be configured by setting NLS_LANG=JAPANESE_JAPAN.UTF8
### Do not modify this file except to change NLS_LANG, or under the direction of Oracle Support Services

#TZ=America/New_York
TZ=Asia/Dhaka
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
RT_GRQ=ON
EXTSHM=OFF
TNS_ADMIN=
ORACLE_BASE=

3. Startup the clusterware from root user

crsctl start crs