Questions on Logical corruption
Hello all,
My DB version is 10g+ - 11.2.0.3 on various different OS. We are in process of deploying RMAN on our system and i am having a hard time on testing/get a grip around the whole logical corruption... from what i understand(please correct me if i am wrong)
1. I can have a check logical syntax in my backup cmd(and that will check both physical and logical corruption)...But how much overhead dose it have, Seems to be anywhere from 14-20% overhead on backup time.
2. Leaving the maxCorrupt to default(which i beleive is 0)...if there is a physical corruption my backup will break and i should get an email/alert saying backup broke...
3. Would this be same for logical corruption too ??, would RMAN report logical corrution right away like physical corruption would do? Or do i have to query v$database_block_corruption after backup is done to figure out if i have logical corruption
4. how would one test logical corruption ?? (besides the NO_LOGGING operation, as our DB have force logging turned on)
5. Is it a good practice to have check logical corruption in your daily backup? ( i guess i have no problems for it if DB are small, but some of our DB are close to 50TB+ and i think the check logical is going to increase the backup time significantly)
6. If RMAN cannot repair logical corruption, then why would i want to do the check logical (besides knowing i have a problem and the end user have to fix it by reload the data...assuming its a table not index that is corrupt)..
7. any best practices when it comes for checking logical corruption for DB in 50+ TB
I have actually searched on here and on google, but i could not find any way to reproducing logical corrpution(maybe there is none), but i wanted to ask the community about it....
Thank you in advance for your time.
General info:
http://www.oracle.com/technetwork/database/focus-areas/availability/maa-datacorruption-bestpractices-396464.pdf
You might want to google "fractured block" for information about it without RMAN. You can simulate that by writing a C program to flip some bits, although technically that would be physical corruption. Also see Dealing with Oracle Database Block Corruption in 11g | The Oracle Instructor
One way to simulate is to use nologging operations and then try to recover (this is why force logging is used, so google corruption force logging). Here's an example: Block corruption after RMAN restore and recovery !!! | Practical Oracl Hey, no simulate, that's for realz!
Somewhere in the recovery docs it explains... aw, I lost my train of thought, you might get better answers with shorter questions, or one question per thread, for this kind of fora. Oh yeah, somewhere in the docs it explains that RMAN doesn't report the error right away, because later in the recovery stream it may decide the block is newly formatted and there wasn't really a problem.
This really is dependent on how much data is changing and how. If you do many nologging operations or run complicated standby, you can run into this more. There's a trade-off between verifying everything and backup windows, site requirements control everything. That said, I've found only paranoid DBA's check enough, IT managers often say "that will never happen." Actually, even paranoid DBA's don't check enough, the vagaries of manual labor and flaky equipment can overshadow anything.
Similar Messages
-
Hello,
I am running a backup and checking for any logical corruption -
RMAN> backup check logical database;
Starting backup at 03-MAR-10
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=135 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: Data Protection for Oracle: version 5.5.1.0
allocated channel: ORA_SBT_TAPE_2
channel ORA_SBT_TAPE_2: SID=137 device type=SBT_TAPE
channel ORA_SBT_TAPE_2: Data Protection for Oracle: version 5.5.1.0
allocated channel: ORA_SBT_TAPE_3
channel ORA_SBT_TAPE_3: SID=138 device type=SBT_TAPE
channel ORA_SBT_TAPE_3: Data Protection for Oracle: version 5.5.1.0
channel ORA_SBT_TAPE_1: starting full datafile backup set
channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set
input datafile file number=00014 name=/oracle1/data01/TESTDB/TESTDB_compress_test_01.dbf
input datafile file number=00006 name=/oracle/TESTDB/data01/TESTDB_shau_01.dbf
input datafile file number=00015 name=/oracle/product/11.1/dbs/ILM_TOOLKIT_IML_TEST_TAB_A.f
channel ORA_SBT_TAPE_1: starting piece 1 at 03-MAR-10
channel ORA_SBT_TAPE_2: starting full datafile backup set
channel ORA_SBT_TAPE_2: specifying datafile(s) in backup set
input datafile file number=00003 name=/oracle/TESTDB/data02/TESTDB_undo_01.dbf
input datafile file number=00013 name=/oracle/TESTDB/data01/TESTDB_roop_01.dbf
input datafile file number=00012 name=/oracle/TESTDB/data01/TESTDB_example_01.dbf
input datafile file number=00005 name=/oracle/TESTDB/data01/TESTDB_sysaud_tab_1m_01.dbf
channel ORA_SBT_TAPE_2: starting piece 1 at 03-MAR-10
channel ORA_SBT_TAPE_3: starting full datafile backup set
channel ORA_SBT_TAPE_3: specifying datafile(s) in backup set
input datafile file number=00004 name=/oracle/TESTDB/data01/TESTDB_users_01.dbf
input datafile file number=00001 name=/oracle/TESTDB/data01/TESTDB_system_01.dbf
input datafile file number=00002 name=/oracle/TESTDB/data01/TESTDB_sysaux_01.dbf
input datafile file number=00025 name=/oracle/export_files/TESTDB_users_02.dbf
channel ORA_SBT_TAPE_3: starting piece 1 at 03-MAR-10
channel ORA_SBT_TAPE_3: finished piece 1 at 03-MAR-10
piece handle=5ul7ltsd_1_1 tag=TAG20100303T204356 comment=API Version 2.0,MMS Version 5.5.1.0
channel ORA_SBT_TAPE_3: backup set complete, elapsed time: 00:05:15
channel ORA_SBT_TAPE_2: finished piece 1 at 03-MAR-10
piece handle=5tl7ltsd_1_1 tag=TAG20100303T204356 comment=API Version 2.0,MMS Version 5.5.1.0
channel ORA_SBT_TAPE_2: backup set complete, elapsed time: 00:06:56
channel ORA_SBT_TAPE_1: finished piece 1 at 03-MAR-10
piece handle=5sl7ltsd_1_1 tag=TAG20100303T204356 comment=API Version 2.0,MMS Version 5.5.1.0
channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:08:16
Finished backup at 03-MAR-10
Starting Control File and SPFILE Autobackup at 03-MAR-10
piece handle=c-2109934325-20100303-0c comment=API Version 2.0,MMS Version 5.5.1.0
Finished Control File and SPFILE Autobackup at 03-MAR-10
Question: By looking at the output, how can I say that RMAN did an Logical Check for the corruption? This output looks same as a simple backup without logical corruption check. Please advice how to check about this?
Thanks!hi
I think you won't see any summary on this, only when corruption is found.
There is also one related setting that can be incorporated here - see example:
Example 2-25 Specifying Corruption Tolerance for Datafile Backups
This example assumes a database that contains 5 datafiles. It uses the SET MAXCORRUPT command to indicate than no more than 1 corruption should be tolerated in each datafile. Because the CHECK LOGICAL option is specified on the BACKUP command, RMAN checks for both physical and logical corruption.
RUN
+{+
SET MAXCORRUPT FOR DATAFILE 1,2,3,4,5 TO 1;
BACKUP CHECK LOGICAL
DATABASE;
+}+
use this to see clear output:
-- Check for physical corruption of all database files.
VALIDATE DATABASE;
-- Check for physical and logical corruption of a tablespace.
VALIDATE CHECK LOGICAL TABLESPACE USERS;
eg.
List of Datafiles
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
+1 FAILED 0 3536 57600 637711+
File Name: /disk1/oradata/prod/system01.dbf
Block Type Blocks Failing Blocks Processed
Data 1 41876
Index 0 7721
Other 0 4467 -
Logical corruption in datafile
what is logical corruption.
How this can occur in datafile , is it related caused due to disk.
how to avoid this.
Is it possible to check the this on regular interval. with some job script .. any idea what command how to do it .. does dbverify will do.
Any good reading/url is most welcomed.
Thank You Very Much.user642237 wrote:
what is logical corruption.
How this can occur in datafile , is it related caused due to disk.
how to avoid this.
Is it possible to check the this on regular interval. with some job script .. any idea what command how to do it .. does dbverify will do.
Any good reading/url is most welcomed.
Thank You Very Much.What's the db version and o/s? Where did you read the term logical corruption in datafiles? AFAIK, datafiles get physically corrupted only. The logical corruption happens within the blocks , for example some index entry pointing towards a null rowid. I am not sure that I have come across any situation/reference where this corruption is mentioned for files as well. To check it, the best possible tool is RMAN which can do the job by some simple commands.
HTH
Aman.... -
Logical corruption found in the sysaux tablespace
Dear All:
We lately see the logical corruption error when running dbverify command which shows the block corruption. It is always on the the sysaux tablespace. The database is 11g and platform is Linux.
we get the error like:error backing up file 2 block xxxx: logical corruption and this comes to alert.log out of the automated maintenance job like sqltunning advisor running during maintenance window.
Now As far as I know,we can't drop or rename the sysaux tablespace. there is a startup migrate option to drop the SYSAUX but it does not work due to the presence of domain indexes. you may run the rman block media recovery but it ends with not fixing since rman backups are more of physical than maintain the logical integrity.
Any help, advise, suggestion will be highly appreciated.If you let this corruption there then you are likely to face a big issue that will compromise database availability sooner or later. The sysaux is a critical tablespace, so you must proceed with caution.
Make sure you have a valid backup and don't do any thing unless you are sure about what you are doing and you have a fall back procedure.
if you still have a valid backup then you can use rman to perform a db block level recovery, this will help you in fixing the block. Otherwise try to restore and recover the sysaux. In case you cannot fix the block by refreshing the sysaux tablespace then I suggest you to create a new database and use aTransportable Tablespace technique to migrate all tablespaces from your current database to the new one and get rid of this database.
~ Madrid
http://hrivera99.blogspot.com -
Ocrcheck shows "Logical corruption check failed"
Hi, I have a strange issue, that I am not sure how to recover from...
In a random 'ocrcheck' we found the above 'logical corruption'. In the CRS_HOME/log/nodename/client/ I found the previous ocrcheck was done a month earlier and was successful. So, something in the last month caused a logical corruption. The cluster is functioning ok currently.
So, I tried doing an ocrdump on some backups we have and I am receiving the following error -
#ocrdump -backupfile backup00.ocr <<< any backup I try for the past month
PROT-306: Failed to retrieve cluster registry data
This error occurrs even on the backup file taken just prior to the successful ocrcheck from a month earlier. The log for this ocrdump shows -
cat ocrdump_6494.log
Oracle Database 11g CRS Release 11.1.0.7.0 - Production Copyright 1996, 2007 Oracle. All rights reserved.
2010-08-18 12:57:17.024: [ OCRDUMP][2813008768]ocrdump starts...
2010-08-18 12:57:17.038: [ OCROSD][2813008768]utread:3: Problem reading buffer 7473000 buflen 4096 retval 0 phy_offset 15982592 retry 0
2010-08-18 12:57:17.038: [ OCROSD][2813008768]utread:4: Problem reading the buffer errno 2 errstring No such file or directory
2010-08-18 12:57:17.038: [ OCRRAW][2813008768]gst: Dev/Page/Block [0/3870/3927] is CORRUPT (header)
2010-08-18 12:57:17.039: [ OCRRAW][2813008768]rbkp:2: could not read the free list
2010-08-18 12:57:17.039: [ OCRRAW][2813008768]gst:could not read fcl page 1
2010-08-18 12:57:17.039: [ OCRRAW][2813008768]rbkp:2: could not read the free list
2010-08-18 12:57:17.039: [ OCRRAW][2813008768]gst:could not read fcl page 2
2010-08-18 12:57:17.039: [ OCRRAW][2813008768]fkce:2: problem reading the tnode 131072
2010-08-18 12:57:17.039: [ OCRRAW][2813008768]propropen: Failed in finding key comp entry [26]
2010-08-18 12:57:17.039: [ OCRDUMP][2813008768]Failed to open key handle for key name [SYSTEM] [PROC-26: Error while accessing the physical storage]
2010-08-18 12:57:17.039: [ OCRDUMP][2813008768]Failure when trying to traverse ROOTKEY [SYSTEM]
2010-08-18 12:57:17.039: [ OCRDUMP][2813008768]Exiting [status=success]...
NOTE: an 'ocrdump' of the active ocr does work and creates the ocrdumpfile
The corruption in the ocr seems to be two keynames pointing to the same block.
Oracle Database 11g CRS Release 11.1.0.7.0 - Production Copyright 1996, 2007 Oracle. All rights reserved.
2010-08-18 13:22:54.095: [OCRCHECK][285084544]ocrcheck starts...
2010-08-18 13:22:55.447: [OCRCHECK][285084544]protchcheck: OCR status : total = [262120], used = [15496], avail = [246624]
2010-08-18 13:22:55.545: [OCRCHECK][285084544]LOGICAL CORRUPTION: current_keyname [SYSTEM.css.diskfile2], and keyname [SYSTEM.css.diskfile1.FILENAME] point to same block_number [3928]
2010-08-18 13:22:55.732: [OCRCHECK][285084544]LOGICAL CORRUPTION: current_keyname [SYSTEM.OCR.MANUALBACKUP.ITEMS.0], and keyname [SYSTEM.css.diskfile1] point to same block_number [3927]
2010-08-18 13:23:03.159: [OCRCHECK][285084544]Exiting [status=success]...
Since one of the keynames refers to the votedisk, that is not appearing correctly on a query -
crsctl query css votedisk
0. 0 /oracrsfiles/voting_disk_01
1. 0
2. 0 backup_20100818_103455.ocr <<<<this value changes if I issue a command that writes something to the ocr, in this case a manual backup.
My DBA is opening an SR, but I am wondering if I can use 'ocrconfig -restore' if the backupfile I want to use cannot be 'ocrdump'd?
Also, is anyone familiar with the 'ocrconfig -repair' as a possible solution?
Although this is a developement cluster (two nodes) rebuilding would be a disaster ;)
Any help or thoughts would be much appreciated!Hi buddy,
My DBA is opening an SRWell.... corruption problems, no doubts that it's better work with support team
, but I am wondering if I can use 'ocrconfig -restore' if the backupfile I want to use cannot be 'ocrdump'd?No, that is not the idea...if Your backup is not good, it's not safe restoring it. ;)
Also, is anyone familiar with the 'ocrconfig -repair' as a possible solution?This is for repairing nodes that were down when some kind of change on the configuration (replace OCR for example) has been executed while it was "off", so, I guess it's not Your case.
Good Luck!
Cerreia -
Logically corrupted blocks in standby
Hi
Assume I have a primary database and standby database.
Accidentally, Some of the objects (indexes and tables) are in nologging mode in primary database.
Force logging is not set.
When I scan the datafiles in standby I realize that some datafiles are logically corrupted because of this issue.
How can I get rid of these corrupted blocks?
If I rebuild indexes with logging option, and recreate table as logging,
Will it solve the problem? or any other suggestion
Many thanksSivok wrote:
Hi
Assume I have a primary database and standby database.
Accidentally, Some of the objects (indexes and tables) are in nologging mode in primary database.
Force logging is not set.
When I scan the datafiles in standby I realize that some datafiles are logically corrupted because of this issue.
How can I get rid of these corrupted blocks?
If I rebuild indexes with logging option, and recreate table as logging,
Will it solve the problem? or any other suggestion
Many thanksyour primary should run in force logging mode (ALTER DATABASE FORCE LOGGING) then the object level setting is ignored for direct path operations. You can apply an incremental backup to the standby to catchup (or just recreate the standby which might be as quick depending on volumes).
Niall Litchfield
http://www.orawin.info/ -
Hello
I am currently on SCOM 2007 R2 CU6 and Window Server Operating System MP version 6.0.6989.0 (I cannot use the latest version of the MP as we still have some Windows 2000 Servers we need to support, yes I know :( )
Any way the issue is, I have never found the Logical Disk performance counter data very reliable from SCOM.
For example, I have a Windows 2008 R2 Server and when looking at a local Logical Disk (which holds an SQL temp DB on a busy SQL Server) and look at the performance counter
The SCOM collection rule is called "Collection Rule for Average Disk Seconds per Transfer"
The actual Windows Perfmon counter is called "Avg. Disk Bytes/Transfer"
if you look at the description of the above Perfmon counter it is described as
"Avg. Disk Bytes/Transfer is the average number of bytes transferred to or from the disk during write or read operations."
The problem I have is as follows:
The resulting SCOM performance chart over several days (which has a scale ox 1x) states the value never reach 3 (e.g. maximum wa s 2.7 say). I cannot believe the a drive holding the tempDB databases for a busy SQL Server does not transfer more then 2.7 "bytes"
of data at a given to to its tempDB databases!
Indeed when I look at Permon on the Server and looks at this counter over say 20 minutes or so, the figure is often in the 10,000 or 30,000 bytes etc. It does fall back to 0 (zero) momentarily but mostly it is in the 1000s, or 10,000s etc.
Therefore when my boss says show me the "Avg. Disk Bytes/Transfer" and SCOM says it has not exceeded 2.7 over the last business week (i.e. the chart never peak above this value on the chart with scale 1x) he naturally does not believe it!!
Any advice please regarding the above. Is it the fact if the counter ever falls to zero it messes up the SCOM report charts?
Thanks
AAnotherUser
AAnotherUser__Create your own collection rule, to mirror the sample times, and what not. Look at the data from your rule vs the mp default rule. It probably has to do with the chart scale imho.
Regards, Blake Email: mengotto<at>hotmail.com Blog: http://discussitnow.wordpress.com/ If my response was helpful, please mark it as so, if it answered your question, then please also mark it accordingly. Thank you. -
Question on Logic of seperation in OOAbap-Selection screen
Hello guys
I like to ask you one question i found and get your ideas.
If you look at the codes for creating an ALV
it always recommends you to seperate logic and business layer etc..
this is the new way of creating an ALV
So you have a model view and a controller
I implemented that following useful resources.
So that there s class called view
and the selection screen gets called from there inside the method
like
call SELECTION-SCREEN 100.
IF sy-subrc EQ 0.
ENDIF.
But one issue when you execute the report and press GO BACK standard button it doesnot come back to your selection screen but way to your code.
Is there a get around to that?
here is the code below:
Header 1
*& Report ZZ_SOLEN_FIRST
REPORT ZZ_SOLEN_FIRST.
DATA: gv_vbeln type vbap-Vbeln.
***Screen
SELECTION-SCREEN: BEGIN OF SCREEN 100 TITLE t-004.
SELECTION-SCREEN: BEGIN OF block aa WITH FRAME TITLE t-001.
SELECT-OPTIONS: s_vbeln FOR gv_vbeln.
SELECTion-SCREEN: END OF block aa.
SELECTion-SCREEN: END OF SCREEN 100.
*****DATA Layer
class lcl_data DEFINITION.
PUBLIC SECTION.
TYPES: BEGIN OF ty_out,
vbeln type vbap-vbeln,
posnr type vbap-posnr,
matnr type vbap-matnr,
vkorg type vbak-vkorg,
END OF ty_out
TYPES: tt_out TYPE STANDARD TABLE OF ty_out.
TYPES: gr_vbeln TYPE RANGE OF vbap-vbeln.
DATA: gt_output TYPE tt_out.
methods: constructor,
select_data IMPORTING VALUE(rs_vbeln) TYPE gr_vbeln.
ENDclass.
class lcl_data IMPLEMENTATION.
method constructor.
clear GT_OUTPUT.
ENDMETHOD.
method select_data.
DATA: lt_vbak type SORTED TABLE OF vbak WITH UNIQUE KEY vbeln.
FIELD-SYMBOLS: <lfs_output> like LINE OF gt_output,
<lfs_vbak> like LINE OF lt_vbak
select vbeln posnr matnr from vbap
INto TABLE
GT_OUTPUT
where vbeln in S_VBELN
IF sy-SUBRC EQ 0.
select * from vbak
INTO TABLE lt_vbak
FOR ALL ENTRIES IN GT_OUTPUT
where vbeln = GT_OUTPUT-vbeln
LOOP AT gt_output ASSIGNING <lfs_output>.
READ TABLE lt_vbak ASSIGNING <lfs_vbak>
with TABLE KEY vbeln = <lfs_output>-vbeln.
IF sy-Subrc eq 0.
<lfs_output>-vkorg = <lfs_vbak>-VKORG.
ENDIF.
ENDLOOP.
ENDIF.
ENDMETHOD.
ENDCLASS.
****Display
class lcl_view DEFINITION.
PUBLIC SECTION.
methods: start RETURNING VALUE(rv_true) type abap_bool.
METHODS: display CHANGING it_data TYPE STANDARD TABLE.
ENDCLASS.
class lcl_view IMPLEMENTATION.
METHOD start.
call SELECTION-SCREEN 100.
IF sy-subrc EQ 0.
rv_true = abap_true.
ENDIF.
endmethod.
method display.
DATA: lo_salv_table type REF TO CL_SALV_TABLE,
lt_columns TYPE SALV_T_COLUMN_REF.
FIELD-SYMBOLS: <lfs_columns> like LINE OF lt_columns.
CL_SALV_TABLE=>FACTORY(
* exporting
* LIST_DISPLAY = IF_SALV_C_BOOL_SAP=>FALSE " ALV Displayed in List Mode
* R_CONTAINER = " Abstract Container for GUI Controls
* CONTAINER_NAME =
importing
R_SALV_TABLE = lo_salv_table " Basis Class Simple ALV Tables
changing
T_TABLE = it_data
* catch CX_SALV_MSG. " ALV: General Error Class with Message
lt_columns = lo_salv_table->GET_COLUMNS( )->GET( ).
* LOOP AT lt_columns ASSIGNING <lfs_columns>.
* break developer.
* ENDLOOP.
lo_salv_table->DISPLAY( ).
ENDMETHOD.
ENDCLASS.
class lcl_controller DEFINITION.
PUBLIC SECTION.
methods: main.
ENDCLASS.
class lcl_controller IMPLEMENTATION.
method main.
DATA: lo_view type REF TO lcl_view,
lo_data TYPE REF TO LCL_DATA .
CREATE OBJECT: lo_data, lo_view.
break developer.
IF lo_view->START( ) Eq abap_true.
**get the data
lo_data->SELECT_DATA( s_vbeln[] ).
lo_view->DISPLAY(
changing
IT_DATA = lo_data->GT_OUTPUT
ENDIF.
ENDMETHOD.
ENDCLASS.
INITIALIZATION.
START-OF-SELECTION.
break developer.
DATA: lo_controller type REF TO lcl_controller.
CREATE OBJECT lo_controller.
lo_controller->MAIN( ).Here is the complete code that works fine!!!
Thanks to your ideas:
OO ALV
*& Report ZZ_SOLEN_FIRST
REPORT ZZ_SOLEN_FIRST.
DATA: gv_vbeln type vbap-Vbeln.
***Screen
SELECTION-SCREEN: BEGIN OF SCREEN 100 TITLE t-004.
SELECTION-SCREEN: BEGIN OF block aa WITH FRAME TITLE t-001.
SELECT-OPTIONS: s_vbeln FOR gv_vbeln.
SELECTion-SCREEN: END OF block aa.
SELECTion-SCREEN: END OF SCREEN 100.
*****DATA Layer
class lcl_data DEFINITION.
PUBLIC SECTION.
TYPES: BEGIN OF ty_out,
vbeln type vbap-vbeln,
posnr type vbap-posnr,
matnr type vbap-matnr,
vkorg type vbak-vkorg,
END OF ty_out
TYPES: tt_out TYPE STANDARD TABLE OF ty_out.
TYPES: gr_vbeln TYPE RANGE OF vbap-vbeln.
DATA: gt_output TYPE tt_out.
methods: constructor,
select_data IMPORTING VALUE(rs_vbeln) TYPE gr_vbeln.
ENDclass.
class lcl_data IMPLEMENTATION.
method constructor.
clear GT_OUTPUT.
ENDMETHOD.
method select_data.
DATA: lt_vbak type SORTED TABLE OF vbak WITH UNIQUE KEY vbeln.
FIELD-SYMBOLS: <lfs_output> like LINE OF gt_output,
<lfs_vbak> like LINE OF lt_vbak
select vbeln posnr matnr from vbap
INto TABLE
GT_OUTPUT
where vbeln in S_VBELN
IF sy-SUBRC EQ 0.
select * from vbak
INTO TABLE lt_vbak
FOR ALL ENTRIES IN GT_OUTPUT
where vbeln = GT_OUTPUT-vbeln
LOOP AT gt_output ASSIGNING <lfs_output>.
READ TABLE lt_vbak ASSIGNING <lfs_vbak>
with TABLE KEY vbeln = <lfs_output>-vbeln.
IF sy-Subrc eq 0.
<lfs_output>-vkorg = <lfs_vbak>-VKORG.
ENDIF.
ENDLOOP.
ENDIF.
ENDMETHOD.
ENDCLASS.
****Display
class lcl_view DEFINITION.
PUBLIC SECTION.
methods: start RETURNING VALUE(rv_return_flag) type abap_bool.
METHODS: display CHANGING it_data TYPE STANDARD TABLE.
ENDCLASS.
class lcl_view IMPLEMENTATION.
METHOD start.
call SELECTION-SCREEN 100.
IF sy-subrc EQ 0.
rv_return_flag = abap_true.
ENDIF.
endmethod.
method display.
DATA: lo_salv_table type REF TO CL_SALV_TABLE,
lt_columns TYPE SALV_T_COLUMN_REF.
FIELD-SYMBOLS: <lfs_columns> like LINE OF lt_columns.
CL_SALV_TABLE=>FACTORY(
* exporting
* LIST_DISPLAY = IF_SALV_C_BOOL_SAP=>FALSE " ALV Displayed in List Mode
* R_CONTAINER = " Abstract Container for GUI Controls
* CONTAINER_NAME =
importing
R_SALV_TABLE = lo_salv_table " Basis Class Simple ALV Tables
changing
T_TABLE = it_data
* catch CX_SALV_MSG. " ALV: General Error Class with Message
lt_columns = lo_salv_table->GET_COLUMNS( )->GET( ).
* LOOP AT lt_columns ASSIGNING <lfs_columns>.
* break developer.
* ENDLOOP.
lo_salv_table->DISPLAY( ).
ENDMETHOD.
ENDCLASS.
class lcl_controller DEFINITION.
PUBLIC SECTION.
methods: main.
ENDCLASS.
class lcl_controller IMPLEMENTATION.
method main.
DATA: lo_view type REF TO lcl_view,
lo_data TYPE REF TO LCL_DATA .
CREATE OBJECT: lo_data, lo_view.
break developer.
* while lo_view->START( ) eq abap_true.
***get the data
* lo_data->SELECT_DATA( s_vbeln[] ).
* lo_view->DISPLAY(
* changing
* IT_DATA = lo_data->GT_OUTPUT
* ENDWHILE.
do.
if lo_view->START( ) eq abap_true.
***get the data
lo_data->SELECT_DATA( s_vbeln[] ).
lo_view->DISPLAY(
changing
IT_DATA = lo_data->GT_OUTPUT
else.
return.
ENDIF.
ENDDO.
ENDMETHOD.
ENDCLASS.
class lcl_test_submit DEFINITION.
PUBLIC SECTION.
TYPES: tr_vbeln TYPE RANGE OF vbap-vbeln.
data: lt_list type table_abaplist.
methods: test_submit IMPORTING VALUE(ir_vbeln) type tr_vbeln
EXCEPTIONS submit_failed
no_data_found
ENDCLASS.
class lcl_test_submit IMPLEMENTATION.
method test_submit.
submit ZZ_SOLEN_FIRST
with s_vbeln in ir_vbeln
exporting list to memory and return
***Get the list from the memory
call function 'LIST_FROM_MEMORY'
tables
listobject = lt_list
exceptions
not_found = 1
others = 2.
if sy-subrc <> 0.
raise submit_failed.
endif.
if lt_list is initial.
raise no_data_found.
endif.
ENDMETHOD.
ENDCLASS.
INITIALIZATION.
START-OF-SELECTION.
break developer.
DATA: lo_controller type REF TO lcl_controller.
****Testing the Main
CREATE OBJECT lo_controller.
lo_controller->MAIN( ). -
Dear Experts
Can you pls help in understanding of logical block corruption in detail.
Thanks
Asif Husain KhanI wrote a small piece of note about it over my blog, you may want to read that,
http://blog.aristadba.com/?p=109
HTH
Aman.... -
Hi DBA's,
We performed corruption check using RMAN and there are some block corrupted in 2 datafiles on the Standby Database.
My question is it possible to recover those three Datafiles alone if so please suggest me.
Please give me feedback for my plan.
1.Rman Datafile backup from primary
2.Take the Tablespace offline
3.drop the datafile
4.Restore the Datafile
5.Recover the Datafile
6.Bring the Tablespace online
corrupted files
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
28 1508048 16 5446971876 NOLOGGING
28 1508112 16 5446971876 NOLOGGING
28 1508176 16 5446971876 NOLOGGING
28 1508240 16 5446971876 NOLOGGING
30 3083769 1289 5450419752 NOLOGGING
30 3085079 1289 5450419837 NOLOGGING
30 3086389 1289 5450419841 NOLOGGING
30 3087684 1304 5450419884 NOLOGGING
30 3088994 122 5450419888 NOLOGGING
Thanks in Advance,
Raja...Hi Raja
Are your tablespaces in NOLOGGING mode in a standby environment? Or have you turned on FORCE LOGGING anyway at database level?
If you do a NOLOGGING operation in an logging-unenforced database, you will certianly encounter these issues now and then.
Try DBMS_REPAIR package to fix the corrupt blocks or Use RMAN to do block recovery.
If you have to restore the datafiles, your steps look fine. But remember to turn on managed recovery in standby after the recovery. -
Question about replacing corrupted file in windows 7
hi,
I read in windows 7 bible that if a system file is corrupted , I can replace it with system recovery tool (at command prompt) if I have onother computer with windows 7 installed.
my question is here , if I replace any file with copy the file from computer to dvd and replac it on my computer , does the windows version must be the same for 64 bit or it doesn't a matter.
thanks
johan
h.davidHi,
Yes, the version must be the same. You may be able to get a known good copy of the system file from another computer that is
running the same version of Windows with your computer. For different versions there may be different configuration settings in the files that you operating on which if replaced with the wrong version might cause new issues.
More information regarding How to manually replace a corrupted system file with a known good copy of the file, please check it in the link:Use
the System File Checker tool to repair missing or corrupted system files
Hope this may help
Best regards
Michael
If you have any feedback on our support, please click
here.
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. -
Question on Directory corruption
Hello,
I posted last week about my system wide crash on my PM G5. I took it to the Apple store and they diagnosed it as a fried processor. The liquid cooling had also ruptured leaking into the unit. They replaced the processor and I picked up the computer last night. I booted out of my external drive and repaired permissions on my Macintosh HD. I also verified the disk and there were no errors detected. The problem I am having is my spotlight does not seek out the files when rendering the search. For example, I searched for "system profiler" and spotlight did not show the application in its result. When I manualy opened system profiler, then spotlight was able to find it on a subsequent search. This seems to be a consistent thing with alot of program files (it won't find them until I open the file ahead of time). Otherwise, the computer is behaving ok. Does this seem to be a directory corruption of some kind??
What is the BEST way to deal with this?
Should I purchase Disk Warrior and use it. Is that just a quick fix or a permanent one?
Should I back up my data and wipe my hard drive and re-install? I don't want to have to manually reinstall my third party applications one by one. Is there an efficient way around this??
thanks for all your advice and I PROMISE I will (as I do always) grant points for helpful and solved questions
RezF
PM G5 Tiger 10.4.9Delete the Spotlight Index files and rebuild.
I use Tiger Cache Cleaner. But a search will offer more utilities.
http://www.macupdate.com
You don't have Disk Warrior?? shame
That and two backups (backups first, DW4 next).
Disk Utility does not find every and all errors or problems.
Add Applejack to your list of tools, too. Deleting the cache files with it improves performance and eliminates some headaches.
I probably would have erased my hard drive and done a restore from cloned backups. I repair a disk first, never bother to verify, and then run "repair" permissions.
The Mac's Finder has a real case of amnesia and deferred updating. Something that TCC can help cure by forcing the Finder to be more pro-active. Faster disk drives, more memory for caching, keeping your drives in good health. -
Basic questions about Logic Pro
Reading the topics and discussion groupes in this Logic Pro community is a tiny bit scary to me I admitt.
Yet I will launch my basic question into the air, hoping to get an answer.
I am a complete beginner in this field and only read something about this Logic Pro program a day ago.
My question is simple: Is Logic Pro useful for people like me?
I do not play an instrument, I have no editing and other skills mentioned in the forums, I never put a note on paper or computer before.
I would only love to find a way to get some music out of my head. That's all.
Should I take a course first and maybe then get the program? Or is this not what i am looking for?
Thank you community!
EduardYour question is impossible to answer. Although... maybe you should just try Garageband first. It's free, and what you learn on it transfers to Logic (Garageband is now in fact Logic Lite).
And making Dance music really is not that hard, here's a brilliant tutorial from a countryman of yours:
http://www.youtube.com/watch?v=_N8vSo6gvGg -
Question for Logic porfessional
Can someone out there actually explain the relationship that automation data has to the global cut/ insert time features?when or how Is it effected?
why can't I insert globally snipped song sections WITH the automation?
How is automation data affected when global cut/snip commands a=re entered?
There is nothing "global" about this behavior...I dont use Logic 8 (still on 7) but since no one has come to your rescue yet, I'll give it a shot.
In L7, if you want to make sure your automation moves and adjusts with your global edits, its best to change it from "track based" automation to "region based" automation. To do this in L7, select the region where the automation is located (if there is no region; e.g. automation on an aux, create a region using the pencil tool and expand it to cover all automation) and go OPTIONS menu -> TRACK AUTOMATION -> "Move current track data to region data." Now when you make global changes, the automation should adjust as well. If you want to return the data back to track data (for easier editing, etc) simply select "move current region data to track data" and edit away.
I know for a fact this method works, as this is how I move my automation data into folders, which I can then place wherever I want in a song, or even move to a different song. If you haven't explore folders yet, I HIGHLY recommend you do, as judging from your question would would benefit from this feature.
I dont have Logic 8, so I don't know if these functions are located in the same menus or even named the same, but they should be in there somewhere. BTW, Logic is a region based program, and so it sometimes has trouble with track based information. Not that I'm making excuses for the program, it should just WORK, but when it doesn't, it helps to "think like the program" when trouble shooting.
All the best!
Message was edited by: Jonathan Timpe -
Pro Tools convert to Logic Newbie some simple question for logic users
Hey guys, I am a recent convert from Pro Tools! and There were just some simple questions I thought some of you may be able to help me out with. I am using Logic 9.1.1
1) After I set up a multi timbral software instrument (in this case MOTU Symphonic Library) how do I set up midi channels to trigger the individual sounds in the instrument. (in pro tools I used to create a midi track then send an output of that track to that particular soft synth)
2) How do I set up a and forgive my Pro Tools vocab but basically I want to set up a reverb channel on an aux track have it receive on a bus so I can send other tracks to that particular bus.
Thanks for the insight and really looking forward to finally make use of all this ram! lol1) I have a nord stage and would like record via midi. In pro tools i would usually need to create a midi track with the output set the the nord and an audo aux track to hear it What would I do in order to record midi from my nord stage?
To record, just select a non-audio track, hit record and play the keyboard. The notes will get recorded into a region.
If you want to play it back to the Nord Stage as well, then it makes sense to set the Nord up as a MIDI device in your templates, so you can just add the Nord to a track and not worry about what MIDI ports it's on etc. Open the environment, create a New -> Instrument, called it "Nord Stage", set the MIDI port and MIDI channels it's on, and sav your template.
Now, when you start a song, to sequence the Nord, you just assign the Nord instrument to a track (by for instance, right clicking on a track and choosing your Nord instrument from the list of environment obects that appears).
2) The multi instrument trick is quick and easy its great but How would I do that manually?
Lots of ways, look into your key commands, ther are all kinds of "Create track with same instrument", "Create track with next MIDI channel" and so on. There are too many ways to do this to quickly talk about here. In short, all tracks have an environment object assigned to them, whether it's an audio object, or a MIDI instrument object, and this determines where the data on the track goes.
3) How do you set up midi so that it doen'ts overwrite notes when recording over them?
Not sure I understand you here...
Maybe you are looking for
-
How do I set the default font in Acrobat XI Pro?
I would like to enquire how I can set a default font in Acrobat XI Pro.
-
How to do complex engineering calculation in labview.I tried using MATLAB script
Hello, I am trying to use matlab script node to solve two complex equation.But i get different errors everytime i run my program.sometimes 1048 sometimes 1050 and sometimes it says LABVIEW could not extract variable from Matlab.I am attaching my MA
-
"Post new Topic" button only works once
Having posted once into the feedback forums, the link no longer does anything. Had to restart the app to post this!
-
Quicksilver scsi drive size limit ?
Hello all. The original 37gig SCSI drive on my Quicksilver (NOT mirror door) is beginning to sing a sad song so I am looking into replacement. I know there is a 128gig size limit for ATA drives in this model but is there any size limit for internal S
-
Attempting to run 'pacman -U /var/cache/pacman/pkg/kernel26-2.6.27.10-1-x86_64.pkg.tar.gz' generates the following errors: sudo pacman -U /var/cache/pacman/pkg/kernel26-2.6.27.10-1-x86_64.pkg.tar.gz loading package data... checking dependencies... (1