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

  • Backup validate check logical

    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

  • Backup validate command

    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?
    Thanks

    Here 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 ?
    Thanks

    Hello,
    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.
    Lawrence

    Let 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 Casi

    RMAN 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.1

    Clint,
    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

  • Check Oracle database

    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,
    Ed

    788042 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)          

  • RMAN Parallel Backup Validate

    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?
    regards

    Hi 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 fernando

    This fm will work fine with all LDBs including PNP
    Have you checked the fm documentation ?

  • 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
      Rainer

    Thanks 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