Backup validate check logical database
What is exactly the following RMAN command do? I want to know Is it doing a full backup or not?
rman> backup validate check logical database' . Kindly help me.
RMAN does not physically backup the database with this command. But it reads all blocks and checks for corruptions.
If it finds corrupted blocks it will place the information about the corruption into a view:
v$database_block_corruption;
Now we can tell RMAN to recover all the blocks which it has found as being corrupt:
RMAN> blockrecover corruption list; # (all blocks from v$database_block_corruption)
Use below link for reference.
http://luhartma.blogspot.com/2006/04/how-to-check-for-and-repair-block.html
-Bharath
Similar Messages
-
hi,
An mssql dba asked me if oracle could do logical/physical corruption checking when performing backups. Im aware of BACKUP VALIDATE CHECK LOGICAL.
However, it doesn't create any backup. It just checks for corruption. If I remember, you can run BACKUP CHECK LOGICAL which will actually create the backup and check logical at the same time, but my question is...
Why would you not want one or both of these as standard? I get it that there's overhead, more so for VALIDATE, but would you really want backups that contain corruption? Even if you keep 30 days worth of backups, you could realise after 40 days that you had corruption, and not be able to restore.
Or is the reasoning behind not making it default, that you've got 'enough' backups that even if a datafile gets logical/physical corruption, you're bound to discover it before your backups become obsolete, and that it's then not worth the overhead of making it default?You can have the settings with SET MAXCORRUPT FOR DATAFILE.
By default a checksum is calculated for every block read from a datafile and stored in the backup or image copy. If you use the NOCHECKSUM option, then checksums are not calculated. If the block already contains a checksum, however, then the checksum is validated and stored in the backup. If the validation fails, then the block is marked corrupt in the backup.
The SET MAXCORRUPT FOR DATAFILE command sets how many corrupt blocks in a datafile that BACKUP will tolerate. If a datafile has more corrupt blocks than specified by the MAXCORRUPT parameter, the command terminates. If you specify the CHECK LOGICAL option, RMAN checks for logical and physical corruption.
By default, the BACKUP command terminates when it cannot access a datafile. You can specify parameters to prevent termination, as listed in the following table.
If you specify the option ... Then RMAN skips...
SKIP INACCESSIBLE Inaccessible datafiles. A datafile is only considered inaccessible if it cannot be read. Some offline datafiles can still be read because they exist on disk. Others have been deleted or moved and so cannot be read, making them inaccessible.
SKIP OFFLINE Offline datafiles.
SKIP READONLY Datafiles in read-only tablespaces. -
BACKUP VALIDATE vs VALIDATE in checking logical/physical corruption
Hello all,
I am checking if our 10gR2 database has any physical or logical corruption. I have read in some places where they state that VALIDATE command is enough to check database for physical corruption. Our database was never backed up by RMAN specifically before. Are any configuration settings needed for running BACKUP VALIDATE command? The reason I am asking is because just the VALIDATE command returns an error and BACKUP VALIDATE command runs without error but it is not showing the
"File Status Marked Corrupt Empty Blocks Blocks Examined High SCN" lines.
I used the command in two different formats and both do not show individual data file statuses:
RMAN> run {
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE DEVICE TYPE DISK PARALLELISM 10 BACKUP TYPE TO BACKUPSET;
BACKUP VALIDATE CHECK LOGICAL DATABASE FILESPERSET=10;
RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE
RMAN> VALIDATE DATABASE;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "database": expecting one of: "backupset"
RMAN-01007: at line 1 column 10 file: standard input
However on a different database already being backed up by RMAN daily, BACKUP VALIDATE output shows list of datafiles and STATUS = OK as below:
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
How can we check every individual datafile status. Appreciate your responses. Thanks.Hi,
After you have run:
BACKUP VALIDATE CHECK LOGICAL DATABASE You can use sqlplus and run:
select * from v$database_block_corruption.The output will tell you which block in which datafile is corrupt.
Regards,
Tycho
Edited by: tychos on 8-sep-2011 18:34 -
I have few questions to clear my confusion.Can anyone please clarify it.
1)Does Backup validate check logical database plus archivelog all takes same time as real backup?
2)does database needs to be in archivelog mode?
3)can this validate command run mount state?
ThanksHere is a simple illustration for you;
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
Starting backup at 17-AUG-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00002 name=/db/OPTIMA/oradata/opttest/opttest/UNDOTBS1.dbf
input datafile fno=00341 name=/db/OPTIMA/oradata/opttest/data/NORS_OWCTTS_D_02.dbf
input datafile fno=00369 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_GROUP_D_03.dbf
input datafile fno=00307 name=/db/OPTIMA/oradata/opttest/data/NORS_TONES_D_02.dbf
input datafile fno=00311 name=/db/OPTIMA/oradata/opttest/data/NORS_SINGLE_UNIT_PM_D_02.dbf
input datafile fno=00313 name=/db/OPTIMA/oradata/opttest/data/NORS_PM_D_02.dbf
input datafile fno=00318 name=/db/OPTIMA/oradata/opttest/data/NORS_RTLTSUM_D_02.dbf
input datafile fno=00319 name=/db/OPTIMA/oradata/opttest/data/NORS_SOTS_D_02.dbf
input datafile fno=00320 name=/db/OPTIMA/oradata/opttest/data/NORS_SYSPERF_D_02.dbf
input datafile fno=00328 name=/db/OPTIMA/oradata/opttest/data/NORS_TREATMENT_D_02.dbf
input datafile fno=00329 name=/db/OPTIMA/oradata/opttest/data/NORS_TRUNK_MODULES_D_02.dbf
input datafile fno=00123 name=/db/OPTIMA/oradata/opttest/data/NORS_SINGLE_UNIT_PM_D_01.dbf
input datafile fno=00129 name=/db/OPTIMA/oradata/opttest/data/NORS_TONES_D_01.dbf
input datafile fno=00147 name=/db/OPTIMA/oradata/opttest/data/NORS_C7LKSET_D_01.dbf
input datafile fno=00149 name=/db/OPTIMA/oradata/opttest/data/NORS_C7MTP_D_01.dbf
input datafile fno=00151 name=/db/OPTIMA/oradata/opttest/data/NORS_C7ROUTE_D_01.dbf
input datafile fno=00155 name=/db/OPTIMA/oradata/opttest/data/NORS_CALL_CONTROL_D_01.dbf
input datafile fno=00157 name=/db/OPTIMA/oradata/opttest/data/NORS_CDIVGRP_D_01.dbf
input datafile fno=00159 name=/db/OPTIMA/oradata/opttest/data/NORS_COMPUTING_MODULE_D_01.dbf
input datafile fno=00163 name=/db/OPTIMA/oradata/opttest/data/NORS_DTSRPM_D_01.dbf
input datafile fno=00165 name=/db/OPTIMA/oradata/opttest/data/NORS_EXND_CALL_CONTROL_D_01.dbf
input datafile fno=00167 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_GROUP_D_01.dbf
input datafile fno=00169 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_STATS_D_01.dbf
input datafile fno=00171 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_TRAFFIC_D_01.dbf
input datafile fno=00173 name=/db/OPTIMA/oradata/opttest/data/NORS_IWUCGRP_D_01.dbf
input datafile fno=00179 name=/db/OPTIMA/oradata/opttest/data/NORS_MPCLINK3_D_01.dbf
input datafile fno=00183 name=/db/OPTIMA/oradata/opttest/data/NORS_OFFICE_TRAFFIC_ROUT_D_01.dbf
input datafile fno=00185 name=/db/OPTIMA/oradata/opttest/data/NORS_OWCTTS_D_01.dbf
input datafile fno=00349 name=/db/OPTIMA/oradata/opttest/data/NORS_LINE_ACCESS_D_02.dbf
input datafile fno=00011 name=/db/OPTIMA/oradata/opttest/opttest/OPTIMA_ALARMS_I.dbf
input datafile fno=00012 name=/db/OPTIMA/oradata/opttest/opttest/SAMPLE_VENDORD.dbf
input datafile fno=00013 name=/db/OPTIMA/oradata/opttest/opttest/SAMPLE_VENDORI.dbf
input datafile fno=00110 name=/db/OPTIMA/oradata/opttest/system/DEF_NORTEL_SWITCHING_S_01.dbf
input datafile fno=00115 name=/db/OPTIMA/oradata/opttest/data/NORS_PM_D_01.dbf
input datafile fno=00177 name=/db/OPTIMA/oradata/opttest/data/NORS_LINE_TRAFFIC_D_01.dbf
input datafile fno=00347 name=/db/OPTIMA/oradata/opttest/data/NORS_MPCLINK3_D_03.dbf
input datafile fno=00350 name=/db/OPTIMA/oradata/opttest/data/NORS_EXND_CALL_CONTROL_D_03.dbf
input datafile fno=00351 name=/db/OPTIMA/oradata/opttest/data/NORS_OWCTTS_D_03.dbf
input datafile fno=00354 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_STATS_D_03.dbf
input datafile fno=00355 name=/db/OPTIMA/oradata/opttest/data/NORS_SYSPERF_D_03.dbf
input datafile fno=00357 name=/db/OPTIMA/oradata/opttest/data/NORS_TRUNK_MODULES_D_03.dbf
input datafile fno=00358 name=/db/OPTIMA/oradata/opttest/data/NORS_TREATMENT_D_03.dbf
input datafile fno=00359 name=/db/OPTIMA/oradata/opttest/data/NORS_SOTS_D_03.dbf
input datafile fno=00360 name=/db/OPTIMA/oradata/opttest/data/NORS_RTLTSUM_D_03.dbf
input datafile fno=00362 name=/db/OPTIMA/oradata/opttest/data/NORS_OFFICE_TRAFFIC_ROUT_D_03.dbf
input datafile fno=00363 name=/db/OPTIMA/oradata/opttest/data/NORS_C7ROUTE_D_03.dbf
input datafile fno=00365 name=/db/OPTIMA/oradata/opttest/data/NORS_CDIVGRP_D_03.dbf
input datafile fno=00368 name=/db/OPTIMA/oradata/opttest/data/NORS_CALL_CONTROL_D_03.dbf
input datafile fno=00370 name=/db/OPTIMA/oradata/opttest/data/NORS_COMPUTING_MODULE_D_03.dbf
input datafile fno=00371 name=/db/OPTIMA/oradata/opttest/data/NORS_C7MTP_D_03.dbf
input datafile fno=00372 name=/db/OPTIMA/oradata/opttest/data/NORS_IWUCGRP_D_03.dbf
input datafile fno=00376 name=/db/OPTIMA/oradata/opttest/data/NORS_C7LKSET_D_03.dbf
input datafile fno=00377 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_TRAFFIC_D_03.dbf
input datafile fno=00378 name=/db/OPTIMA/oradata/opttest/data/NORS_DTSRPM_D_03.dbf
input datafile fno=00352 name=/db/OPTIMA/oradata/opttest/data/NORS_ANN_D_03.dbf
user interrupt received
Finished backup at 17-AUG-10
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03099: job cancelled at user request
RMAN> --> It was validating with the archivelog mode
RMAN> exit
Recovery Manager complete.
$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Aug 17 16:29:12 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 1375731712 bytes
Fixed Size 2056088 bytes
Variable Size 704643176 bytes
Database Buffers 654311424 bytes
Redo Buffers 14721024 bytes
Database mounted.
SQL> alter database noarchivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> exit;
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Tue Aug 17 16:30:00 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: OPTTEST (DBID=750193206)
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
Starting backup at 17-AUG-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1461 devtype=DISK
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:07
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:08
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:09
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:09
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:10
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:11
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:11
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:12
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:13
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:13
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:14
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:15
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:15
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:16
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/17/2010 16:30:17
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
continuing other job steps, job failed will not be re-run
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=297 recid=7633 stamp=727146412
input archive log thread=1 sequence=298 recid=7634 stamp=727221971
input archive log thread=1 sequence=299 recid=7635 stamp=727222952
input archive log thread=1 sequence=300 recid=7636 stamp=727281385Regards.
Ogan -
How do u find if a logical database exsits for ur program requirements.
hi
how do u find if a logical database exsits for ur program requirements.Hai friend
you just open your program and than from your MENU BAR select GOTO menu from that select ATTRIBUTE and enter then check LOGICAL DATABASE name hase give or not.
1. open your program.
2. from menu bar select GOTO
3. from GOTO menu select ATTRIBUTES.
4. check for LOGICAL DATABASE name has given or not, If give that is your logical database name.
reward if useful.
uk -
Backup blocks all check logical validate database
Hello,
From Metalink : How To Use RMAN To Check For Logical & Physical Database Corruption [ID 283053.1]
The following example shows how to validate all datafiles:
run {
allocate channel d1 type disk;
backup blocks all check logical validate database;
release channel d1;
Does this following command just check for corruption , or is it actually trying to backup the datafiles to the disks ?
ThanksHello,
The BACKUP VALIDATE statement is used for checking Block Corruption not for running a Backup.
You'll have more detail on the following links:
http://download.oracle.com/docs/cd/B28359_01/backup.111/b28270/rcmvalid.htm#CHDECGBJ
http://download.oracle.com/docs/cd/B28359_01/backup.111/b28270/rcmvalid.htm#CHDCEHFD
Hope this help.
Best regards,
Jean-Valentin -
Restore Validate Database vs Backup Validate Database
Hi,
I want to add the following sentence after taking the backup using following command (backup as compressed backupset database plus archivelog;)
restore database validate;
or
backup validate database;
which one is best?It depends on what you are trying to accomplish, as per documentation:
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14194/rcmsynta009.htm#sthref141BACKUP .. VALIDATE: Causes RMAN to scan the specified files and verify their contents, testing whether this file can be backed up. RMAN creates no output files. Use this command periodically to check for physical and logical errors in database files.
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14194/rcmsynta051.htm#sthref796
RESTORE... VALIDATE causes RMAN to select existing backups that it would use to perform a RESTORE operation, and scan them all to ensure that they are present and free of corruption.>
Guessing what you're trying to do, I recommend:
backup check logical as compressed backupset database plus archivelog;
restore validate database;
CHECK LOGICAL. Tests data and index blocks that pass physical corruption checks for logical corruption, for example, corruption of a row piece or index entry. If RMAN finds logical corruption, then it logs the block in the alert.log and server session trace file. HTH
Enrique
PS If you have access to Metalink see Note:388422.1 Top 10 Backup and Recovery best practices.
Edited by: Enrique Orbegozo on Dec 17, 2008 4:21 PM -
Do I need to do authority check for Logical Database?
Hi,
Just to check, do I need to code authority check into a Logical Database or Logical Database will do the check by itself without me coding?
This is because I have a user which does not have rights to infotypes 2000 and above and the logical database still show the user data which belongs to the infotypes 2000 and above.
If I have to code it, how do I go about to do the coding of authority check?
Thanks in advance. Will reward points for good solutions.
LawrenceLet me give an example
Tables : pernr.
infotypes: 0000, 0001, 2001.
Get pernr.
Do you mean that the 'get pernr' command will not return any data for users who do not have authorisation for infotype 2001? -
Best practise: validate/check backups are good
Hello all
Oracle 10g on Linux, Veritas NetBackup for Oracle - Release 6.5
How do you ensure that backups taken with rman are good?
Some ideas to discuss:
- restore/recover backups to a clone database after backup
- using command "validate backupset" (question remains: how to determine last written backupsets?)
see also Metalink 466221.1
Thanks CasiRMAN has this capability built-in. Very simply:
BACKUP VALIDATE DATABASE;but there are numerous variations many of which I have captured here:
http://www.morganslibrary.org/reference/rman.html
at page bottom under the heading "Validate"
Equally important keep you eye on:
gv$backup_corruption
gv$copy_corruption
and
gv$database_block_corruption -
PERFORMING A TEST BACKUP (VALIDATE BACKUP) USING RMAN
제품 : RMAN
작성날짜 : 2002-05-30
PERFORMING A TEST BACKUP (VALIDATE BACKUP) USING RMAN
=====================================================
PURPOSE
RMAN을 이용하여 Test Backup을 수행하기 위한 정보를 제공한다.
EXPLANATION
8.1.7 부터 RMAN에서 BACKUP command에 VALIDATE keyword를 사용할 수 있게 되었다
이 명령의 수행은 다음과 같은 작업을 수행한다.
- Datafile의 physical and logical corruption을 check한다.
- 모든 database file들이 존재하는지, 그리고 올바른 위치에 있는지를 검증한다.
RMAN은 실제적으로 backupset을 생성하지 않는다 그러나 그것들이 backup될 수
있는지 없는지를 결정하기 위해서 기술된 file들을 scan한다.
BACKUP VALIDATE 는 backup job을 수행시 수행되는 것을 제외하고는
RESTORE VALIDATE와 거의 비슷하다.
EXAMPLE
아래와 같은 command들을 수행하여 backup하고자 하는 database file과 archived redo
log들이 실제로 backup될 수 있는지를 검증할 수 있다.
RUN {
ALLOCATE CHANNEL ch1 TYPE 'sbt_tape';
BACKUP VALIDATE
DATABASE
ARCHIVELOG ALL;
Note: MAXCORRUPT or PROXY parameter는 VALIDATE option과 함께 사용할 수 없다.
REFERENCE DOCUMENTS
NOTE:121109.1Clint,
I ran the command lines you wrote me after i placed the database in Startup MOUNT state, RMAN gave error messages that the database needs to be open:
RMAN> SQL 'ALTER TABLESPACE USERTB2 OFFLINE IMMEDIATE';
sql statement: ALTER TABLESPACE USERTB2 OFFLINE IMMEDIATE
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 11/04/2005 15:31:33
RMAN-11003: failure during parse/execution of SQL statement: ALTER TABLESPACE US
ERTB2 OFFLINE IMMEDIATE
ORA-01109: database not open
Then I ran the same command lines after I opened the database, RMAN gave error messages that "offline immediate disallowed unless media recovery enabled":
RMAN> SQL 'ALTER TABLESPACE USERTBS2 OFFLINE IMMEDIATE';
sql statement: ALTER TABLESPACE USERTBS2 OFFLINE IMMEDIATE
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 11/04/2005 15:48:17
RMAN-11003: failure during parse/execution of SQL statement: ALTER TABLESPACE US
ERTBS2 OFFLINE IMMEDIATE
ORA-01145: offline immediate disallowed unless media recovery enabled
I am stuck again and need your help!
Thank you,
Mitra -
Logical Database of SAP Example Program
Hi all,
I need an example ABAP program using standard Logical Database ( LDB ) .
Help me.
Regards,
Peachi.Hi,
Some links to refer..
/people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/893908#
A sample prog with LDB PNP
*& Report ZH_REPT_PAYMENT *
report zh_rept_payment line-size 80 no standard page
heading.
tables: pernr, " Standard Selections for HR Master Data Reporting
pcl1, " HR Cluster 1
pcl2, " HR Cluster 2
pa0009,
PA9001,
PA9006,
pa0002,
pc260 , " Cluster Directory for Payroll Results
bnka .
Infotypes
infotypes: 0001. " Organizational Assignment
Declaration of Internal Tables
data : bnka1 like bnka occurs 0 with header line .
data: begin of t_int_rep occurs 100,
bankl like pc209-bankl, " Bank Number
zlsch like pc209-zlsch, " Payment method
pernr like pernr-pernr, " Employee Number
ename like pernr-ename, " Employee Name
bankn like pc209-bankn, " Bank Account Number
betrg like pc209-betrg, " Amount to be transfered
zweck like pa0009-zweck, " Purpose
end of t_int_rep.
data: begin of int_rep occurs 100,
bankl like pc209-bankl, " Bank Number
zlsch like pc209-zlsch, " Payment method
pernr like pernr-pernr, " Employee Number
ename like pernr-ename, " Employee Name
bankn like pc209-bankn, " Bank Account Number
betrg like pc209-betrg, " Amount to be transfered
zweck like pa0009-zweck, " Purpose
begda like pa0009-begda, "Begin date
end of int_rep.
Declaration of Data Variables
data: ws_betrg like pc209-betrg, " BT Amount
w_val like spell occurs 0 with header line,
int_rep1(6), " TYPE I, " Employee Number
cnt type i value 0, " Counter
calcmolga like t500l-molga value '40', " Country Grouping
v_id(15),
calc_currency like t001-waers value 'INR'. " Currency
data : ctr type i,
dt_merge like pa0009-begda.
data: ws_totemp(6) type c,
ws_totamt(20) type c,
r_mth(9) type c,
ws_fpbeg(6) type c,
ws_fpend(6) type c,
ws_mthyr(6) type c,
ws_mthyr_r(14) type c,
r_mth_t(3) type c,
ws_amt(8) type c,
ws_bankl(14) type c,
ws_date(6) type c,
amount_word(500),
total_page type i,
pages type i,
remain type i.
data begin of i_spell.
include structure spell .
data end of i_spell .
data : c_molga type t500l-molga value '40',
c_banks type bnka-banks value 'IN'.
Standard Includes
include rpc2cd09. "Cluster CD data definition
include pc2rxin0.
include rpc2rx09.
include rpppxd00. " Data Definition buffer PCL1/PCL2
include rpppxd10. " Common Part buffer PCL1/PCL2
include rpppxm00. " Buffer Handling RoutinePCL1/PCL2
include zrpc2rox2. " Data Definition POCLSTERS (not J,K,U)
Selection Screen
selection-screen begin of block b1 with frame title text-001.
parameter: pa_mth(2) type c default sy-datum+4(2) obligatory,
pa_year(4) type c default sy-datum(4) obligatory,
p_bankl like pc209-bankl, " Bank Number
p_zlsch like pc209-zlsch. " Payment method
selection-screen end of block b1.
save_calc_currency = calc_currency.
count_top = 0.
get_pernr_flag = 0.
Top-Of-Page
top-of-page.
perform convert_month using pa_mth(2) r_mth.
ws_mthyr_r = r_mth.
concatenate ws_mthyr_r pa_year into ws_mthyr_r separated by space.
SKIP 5.
skip 1.
skip 4.
if int_rep-bankl eq ' '.
if int_rep-zlsch eq 'C' or int_rep-zlsch eq 'E' or
int_rep-zlsch eq ' '.
write: /1(85) 'CHEQUE PAYMENT STATEMENT'(047) centered.
elseif int_rep-zlsch eq 'L'.
write: /1(85) 'DEMAND DRAFT STATEMENT'(047) centered.
endif.
else.
write: /1(85) 'BANK TRANSFER STATEMENT'(002) centered.
endif.
skip.
write: /34 ws_mthyr_r,
62 'Page :'(008),69(2) sy-pagno intensified off,
' Of ',78(2) pages intensified off.
clear pages.
read table bnka1 with key bankl = int_rep-bankl .
if sy-subrc = 0.
if int_rep-zlsch eq 'T'.
write:/03(10) 'Bank Name : ', bnka1-banka.
write:/03(10) 'Branch : ', bnka1-brnch.
write:/03(10) 'Address : ', bnka1-stras.
endif.
endif.
skip.
write:/1(80) sy-uline.
write: /1 sy-vline, 2(5) 'Sl.No'(002),
7 sy-vline, 8(8) 'Emp.No.'(003),
16 sy-vline,17(35) 'Employee Name'(004).
*--added for Demand Draft
if ( int_rep-zlsch = 'l' or int_rep-zlsch = 'L' ).
write : 47 sy-vline, 48(15) 'Payable at'(005).
else.
write : 47 sy-vline,48(15) 'Account No.'(005).
endif.
write: 63 sy-vline,64(16) 'Amount'(006),
80 sy-vline.
write:/1(80) sy-uline.
end-of-page.
write:/1(80) sy-uline.
write:/2 'Printed on ', sy-datum.
Start-of-selection.
start-of-selection.
*perform h_headr.
ctr = 0.
set margin 5.
call function 'RP_GET_CURRENCY'
exporting
molga = calcmolga
importing
waers = calc_currency
exceptions
others.
if sy-subrc ne 0.
calc_currency = 'DEM'.
calc_currency = save_calc_currency.
endif.
get pernr.
cd-key-pernr = pernr-pernr.
perform import_cluster.
get_pernr_flag = 1.
check : ocd-version-molga eq calcmolga.
The table 'tabpernr' is filled with the personnel numbers
and is used after selection is finished.
move-corresponding pernr to tabpernr.
append tabpernr.
The table 'tab_rgdir' is filled
loop at rgdir.
rx-key-pernr = pernr-pernr.
unpack rgdir-seqnr to rx-key-seqno.
perform int_tab. "fill tab_rgdir
perform import_bt.
perform validate.
endloop.
End of Selection
end-of-selection.
*perform h_headr.
perform convert_date_a using pa_mth r_mth_t.
sort int_rep by bankl zlsch pernr betrg descending.
delete adjacent duplicates from int_rep
comparing bankl zlsch pernr .
sort int_rep by bankl zlsch bankn . "PERNR.
loop at int_rep.
at new bankl.
select single * into bnka1 from bnka
where banks = c_banks and
bankl = int_rep-bankl .
append bnka1.
clear bnka1.
endat.
endloop.
for Demand Draft - purpose added
loop at int_rep.
concatenate pa_year(4) pa_mth(2) '01' into dt_merge.
select single * "zweck into int_rep-zweck
from pa0009 where
pernr = int_rep-pernr and
bankl = int_rep-bankl and
zlsch = int_rep-zlsch
and begda <= dt_merge and
endda >= dt_merge .
if sy-subrc = 0.
int_rep-zweck = pa0009-zweck.
modify int_rep.
endif.
endloop.
*-for DD and Chq sorted by PAyable at and EMPNO wise
if p_zlsch = 'T' .
sort int_rep by bankl zlsch bankn . "PERNR.
else. "added for "payable at" for DD/Chq
else.
sort int_rep by zweck pernr . "PERNR.
endif.
*delete adjacent duplicates from int_rep.
t_int_rep] = int_rep[.
loop at int_rep.
*-for page of page no.
total_page = 0.
loop at t_int_rep where bankl = int_rep-bankl
and zlsch = int_rep-zlsch.
total_page = total_page + 1.
endloop.
pages = total_page div 25.
remain = total_page mod 25.
comment bcoz its adding one extra page no.
done as on 29/11/2004
if remain > 0.
pages = pages + 1.
endif.
**-end
at new bankl.
ctr = 0 .
new-page.
endat.
at new zlsch.
ctr = 0 .
new-page.
endat.
clear v_id.
select single natio
into pa0002-natio
from pa0002
where pernr eq int_rep-pernr.
*-testing......for soma
if ctr > 24.
ctr = 0 .
write:/1(80) sy-uline.
new-page .
endif.
ctr = ctr + 1 .
cnt = cnt + 1.
pack int_rep-pernr to int_rep1.
write:/1 sy-vline, 2(3) cnt intensified off,
7 sy-vline, 9(6) int_rep1 intensified off,
16 sy-vline,17(35) int_rep-ename intensified off .
if ( int_rep-zlsch = 'l' or int_rep-zlsch = 'L' ).
write : 47 sy-vline,48(15) int_rep-zweck intensified off.
else.
write:
47 sy-vline,48(15) int_rep-bankn intensified off .
endif.
write: 63 sy-vline,64(16) int_rep-betrg
intensified off currency 'INR',
80 sy-vline.
ws_betrg = ws_betrg + int_rep-betrg.
*-testing......for soma
skip.
write :
/1 sy-vline, 7 sy-vline ,16 sy-vline ,47 sy-vline,63 sy-vline,80
sy-vline .
*-end testing......for soma
at end of zlsch.
if int_rep-bankl = ' '.
call function 'HR_IN_CHG_INR_WRDS'
exporting
amt_in_num = ws_betrg
importing
amt_in_words = amount_word
EXCEPTIONS
DATA_TYPE_MISMATCH = 1
OTHERS = 2
w_val-word = amount_word.
concatenate 'INR.' w_val-word into w_val-word
separated by space.
write:/1(80) sy-uline.
write: /1 sy-vline, 7 'Total transfer:'(009),
64(16) ws_betrg intensified off currency 'INR',
80 sy-vline.
write:/1(80) sy-uline.
write: /1 sy-vline, 3 w_val-word+0(76) intensified off,
80 sy-vline.
write :/1 sy-vline, 10 w_val-word+76(70) intensified off,
80 sy-vline.
write:/1(80) sy-uline.
clear: ws_betrg,cnt.
skip 2.
write: /2 'Prepared by :'(010), '_______________'(013),
45 'Checked by :'(011),'_______________'(013).
skip 2.
write: /2 'Printed On ', sy-datum,
45 'Approved by :'(012),'_______________'(013).
clear sy-pagno.
endif.
endat.
at end of bankl.
if int_rep-bankl ' '.
call function 'HR_IN_CHG_INR_WRDS'
exporting
amt_in_num = ws_betrg
importing
amt_in_words = amount_word
EXCEPTIONS
DATA_TYPE_MISMATCH = 1
OTHERS = 2
w_val-word = amount_word.
concatenate 'INR.' w_val-word into w_val-word
separated by space.
write:/1(80) sy-uline.
write: /1 sy-vline, 7 'Total transfer:'(009),
64(16) ws_betrg intensified off currency 'INR',
80 sy-vline.
write:/1(80) sy-uline.
write: /1 sy-vline, 3 w_val-word+0(76) intensified off,
80 sy-vline.
write :/1 sy-vline, 10 w_val-word+76(70) intensified off,
80 sy-vline.
write:/1(80) sy-uline.
clear: ws_betrg,cnt.
skip 2.
write: /2 'Prepared by :'(010), '_______________'(013),
45 'Checked by :'(011),'_______________'(013).
skip 2.
write: /2 'Printed on ', sy-datum,
45 'Approved by :'(012),'_______________'(013).
clear sy-pagno.
NEW-PAGE.
endif.
endat.
endloop.
End of Page
end-of-page.
write: /2 'Prepared by :'(010), '_______________',
45 'Checked by :'(011),'_______________'.
*& Form IMPORT_CLUSTER
Importing Data from Cluster *
form import_cluster.
sy-subrc = 0.
rp-imp-c2-cd.
if sy-subrc eq 0.
if cd-version-number ne ocd-version-number.
endif.
endif. " SY-SUBRC EQ 0
endform. " IMPORT_CLUSTER
*& Form INT_TAB
Filling internal table tab_rgdir
form int_tab.
*Fill internal table tab_rgdir.
move-corresponding rgdir to tab_rgdir.
tab_rgdir-pernr = pernr-pernr.
append tab_rgdir.
endform. " INT_TAB
*& Form IMPORT_bt
Import Values from Bank Transactions Table (BT)
form import_bt.
rp-init-buffer.
RP-IMP-C2-RX.
rp-imp-c2-in.
if rp-imp-in-subrc eq 0.
if in-version-number ne oin-version-number.
write: / 'Schlüssel des Clusters RX:'(015),
rx-key-pernr, rx-key-seqno.
write: / 'The imported version of the cluster'(016), 'RX',
'is not current'(017).
write: / 'Imported version :'(018),
oin-version-number.
write: / 'Current version of cluster :'(019),
in-version-number.
stop.
else.
sy-subrc = 0.
endif.
else.
sy-subrc = 8.
write: /
'Inconsistencies between cluster directory and directory for'(020).
write: /
'No payroll results found for data in cluster directory'(021).
write : /
'Please contact hotline to solve the current problem'(022).
endif.
ws_fpbeg(2) = versc-fpbeg+4(2).
ws_fpbeg+2(4) = versc-fpbeg(4).
ws_fpend(2) = versc-fpend+4(2).
ws_fpend+2(4) = versc-fpend(4).
ws_mthyr(2) = pa_mth.
ws_mthyr+2(4) = pa_year.
check ws_mthyr = ws_fpbeg.
check ws_mthyr = ws_fpend.
loop at bt. "from pc209
int_rep-pernr = pernr-pernr.
int_rep-ename = pernr-ename.
int_rep-bankl = bt-bankl.
int_rep-bankn = bt-bankn.
int_rep-betrg = bt-betrg.
int_rep-zlsch = bt-zlsch.
append int_rep.
endloop.
IF P_BANKL ' ' AND P_ZLSCH ' '.
DELETE INT_REP WHERE BANKL P_BANKL.
ELSEIF P_BANKL = ' ' AND P_ZLSCH ' '.
DELETE INT_REP WHERE ZLSCH P_ZLSCH.
ELSEIF P_BANKL ' ' AND P_ZLSCH = ' '.
DELETE INT_REP WHERE BANKL P_BANKL.
ENDIF.
endform. " IMPORT_BT
*& Form CONVERT_MONTH
Fetching Month Text
form convert_month using mth t_mth.
case mth.
when '01'.
t_mth = 'January'(023).
when '02'.
t_mth = 'February'(024).
when '03'.
t_mth = 'March'(025).
when '04'.
t_mth = 'April'(026).
when '05'.
t_mth = 'May'(027).
when '06'.
t_mth = 'June'(028).
when '07'.
t_mth = 'July'(029).
when '08'.
t_mth = 'August'(030).
when '09'.
t_mth = 'September'(031).
when '10'.
t_mth = 'October'(032).
when '11'.
t_mth = 'November'(033).
when '12'.
t_mth = 'December'(034).
endcase.
endform. " CONVERT_MONTH
*& Form CONVERT_DATE_A
Fetching Month Text *
form convert_date_a using mth_t t_mth_t.
case mth_t.
when '01'.
t_mth_t = 'Jan.'(035).
when '02'.
t_mth_t = 'Feb.'(036).
when '03'.
t_mth_t = 'Mar.'(037).
when '04'.
t_mth_t = 'Apr.'(038).
when '05'.
t_mth_t = 'May.'(039).
when '06'.
t_mth_t = 'Jun.'(040).
when '07'.
t_mth_t = 'Jul.'(041).
when '08'.
t_mth_t = 'Aug.'(042).
when '09'.
t_mth_t = 'Sep.'(043).
when '10'.
t_mth_t = 'Oct.'(044).
when '11'.
t_mth_t = 'Nov.'(045).
when '12'.
t_mth_t = 'Dec.'(046).
endcase.
endform. " CONVERT_DATE_A
*& Form VALIDATE
text
--> p1 text
<-- p2 text
form validate .
if p_bankl <> ' ' and p_zlsch ' '.
delete int_rep where bankl p_bankl.
elseif p_bankl = ' ' and p_zlsch ' '.
delete int_rep where zlsch p_zlsch.
elseif p_bankl ' ' and p_zlsch = ' '.
delete int_rep where bankl p_bankl.
endif.
endform. " VALIDATE
check this weblog.....
/people/dj.adams/blog/2003/11/13/food-for-thought-ldbs-and-abap-objects
Also , check the following link too.
http://www.datamanagementgroup.com/Resources/Articles/Article_1005_2.asp
Regards,
Satish -
Windows Server 2008 64 bits - Oracle 11g 11.02.0
I had a problem with an application yesterday morning.
I had error ORA-7445 followed by some deadlocks and then the database went down.
I restarted the database, and everything works fine. system and performance are ok.
I've just finished the ADM1 course. The ADM2 will start in September. So I stil need to aquire some experience.
I don't have any error in alert log file refering to block corruptions.
The backups are working fine, although I know that backups don't really check this kind of problem.
And at this moment, I don't have any user complaining about anything.
In Microsoft SQL databases, I can run checkdb command in order to check if database is ok.
I'd like to execute a similar command in oracle database in order to check if there is any corruption.
I know there are some check logical commands available for Oracle.
But I have no idea about how much they are going to affect my system.
Could you please give me some suggestions based on your experience ?
Thanks in advance,
Ed788042 wrote:
I executed the Data Block Integrity Check, but it was too fast.
In the end I checked the result :
Run Name : CHK_0001
Run Id : 112001
Check Name : Data Structure Integrity Check
Mode : MANUAL
Status : COMPLETED
Start Time : 2011-08-19 11:43:55.421000 -03:00
End Time : 2011-08-19 11:43:56.031000 -03:00
Error Encountered : 0
Source Incident Id : 0
Number of Incidents Created : 0
Please answer some questions :
1) Is it normal this procedure to execute so fast ? ( less than 1 second ).
2) For Data Block Integrity Check, I have parameters related to File and Block numbers. If I don't inform anything here.
does it check all the database blocks ? Does this routine take a long time to finish ?
Thanks in advance,
Ed
bcm@bcm-laptop:~$ dbv
DBVERIFY: Release 11.2.0.1.0 - Production on Fri Aug 19 10:45:18 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Keyword Description (Default)
FILE File to Verify (NONE)
START Start Block (First Block of File)
END End Block (Last Block of File)
BLOCKSIZE Logical Block Size (8192)
LOGFILE Output Log (NONE)
FEEDBACK Display Progress (0)
PARFILE Parameter File (NONE)
USERID Username/Password (NONE)
SEGMENT_ID Segment ID (tsn.relfile.block) (NONE)
HIGH_SCN Highest Block SCN To Verify (NONE)
(scn_wrap.scn_base OR scn) -
Hi,
OS= Solaris 10
Database = 10gR2
I am using following script to validate the physical and logical corruption in the database through RMAN:
rman target /
RMAN> RUN {
CONFIGURE DEVICE TYPE DISK PARALLELISM 8;
ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
ALLOCATE CHANNEL d2 DEVICE TYPE DISK;
ALLOCATE CHANNEL d3 DEVICE TYPE DISK;
ALLOCATE CHANNEL d4 DEVICE TYPE DISK;
BACKUP VALIDATE DATABASE;
RELEASE CHANNEL;
My machine has 4 CPUs.
I just want to verify that will the above RMAN script open up 4 channels in parallel and validate the database?
regardsHi Fahd,
Can you please study the below link also from the forum.
Backup Time
Best regards,
Rafi.
http://rafioracledba.blogspot.com/ -
Use of Logical Database in function module
Hello Experts,
Is there a way of using logical database and Get enent inside a function module.
I am trying to create a RFC for HR module and need this badly. Any help would be highly appriciated.
Thanks,
Gregory fernandoThis fm will work fine with all LDBs including PNP
Have you checked the fm documentation ?
a® -
Logical Database PNP. HR and Unicode
Hi,
currently we are checking all programs to make them unicode compliant. Using the logical database PNP a lot of macros is loaded automatically. One of them is
rp_provide_from_last (or rp_provide_from_frst) to get the last record in a specifed time-interval. The existance is stated in varaible named pnp-sw-found, it is 0 if no record was found and 1 if there is one in existance.
Checking the program (normal syntach check and extended syntax check) leads to the warning that varaibale names with a hyphen are no longer allowed in unicode programs if its not a structure (and pnp-sw-found is not). The program is doing well, and transaction UCCHECK does not mention this error/warning at all. Has someone experience with that issue and perhaps a solution?
cu
RainerThanks for the answers so far. Using PNPCE does not resolve my problem, cause we have a lot of own written reports and i just want to avoid to change them all.
And using PNPCE idoes not solve the problem, that i have to use pnp-sw-found, this one is still in existance and gives still the warning that thois is not unicode compliant.
Switching off the unicode flag is no good idea if we wanna go for unicode.
Anyone else with experience in unicode in the HR Area?
Maybe you are looking for
-
Database Initialiser does not create azure sql database
I have a WPF application In the OnStartup in the app.cs I set the Database initializer and forced the context the initialise my database: Debug.WriteLine("Setting Initializer"); Database.SetInitializer<MyContext>(new MyDatabaseInitializer()); Debug.W
-
Error -50 when burning a DVD to an external FW Burner using Toast 10
I just upgraded to a refurbed 2009 iMac 27" i7, and it of course has one fw 800 port. My Samsung SH-S222L dvd drive is in an Ezquest Monsoon FW 400 external case that worked flawlessly with my PM G4. I also have a brand new Seagate FreeAgent Go 500GB
-
I have tried everything! getting frustrated
-
Stock tranport order APO - R/3: means of transport
Situation: we are publishing stock transport orders from SNP to R/3. It can happen that we are publishing orders of different means of transportation between same locations (several means of transportation maintained on the lane). Do anyone have any
-
Hi Gurus, I have created Reporting structure as per below guidance in the forum Tcode PPOM_OLD 1. Once you create all the position in ABC Org unit, now its time to create reporting structure as in who will report to whom. 2. Click on ABC Org Unit --