2

I am trying to use diff with -y to get side-by-side output, but my output gets messed up after about 18 lines. Here is an example, any clue why? (Check from *.java_pool_size=134217728) :

*._unnest_subquery=FALSE                    *._unnest_subquery=FALSE
*.archive_lag_target=1800                   *.archive_lag_target=1800
*.audit_file_dest='/u01/app/oracle/admin/xxxxxxx/adump'       <
*.audit_sys_operations=TRUE                 *.audit_sys_operations=TRUE
*.audit_trail='DB_EXTENDED'                 *.audit_trail='DB_EXTENDED'
*.compatible='11.2.0.1.0'                   *.compatible='11.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/xxxxxxx/control01.ct | *.control_files='/u01/app/oracle/oradata/xxxxxxx/control01.ct
*.cursor_sharing='EXACT'                      | *.cursor_sharing='SIMILAR'
                                  > *.cursor_space_for_time=TRUE
*.db_block_size=8192                        *.db_block_size=8192
*.db_domain='xxxxxxxxxx.com'                      | *.db_domain=''
*.db_file_multiblock_read_count=8                 | *.db_file_multiblock_read_count=32
*.db_name='xxxxxxx'                     *.db_name='xxxxxxx'
*.db_writer_processes=8                     *.db_writer_processes=8
*.diagnostic_dest='/u01/app/oracle'             *.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=xxxxxxxXDB)'     *.dispatchers='(PROTOCOL=TCP) (SERVICE=xxxxxxxXDB)'
                                  > *.EVENT='1652 TRACE NAME ERRORSTACK LEVEL 3'
*.fast_start_mttr_target=300                    *.fast_start_mttr_target=300
*.java_pool_size=134217728                    | *.instance_name='xxxxxx'
*.job_queue_processes=10                      | *.log_archive_dest_1='LOCATION=/xxxxxxx-05/oradata/arch'
*.large_pool_size=167772160                   | *.log_archive_dest_state_1='enable'
*.log_archive_dest_1='LOCATION=/xxxxxxx-04/oradata/arch'      <
*.log_archive_format='arch_%t_%s_%r.arc'            *.log_archive_format='arch_%t_%s_%r.arc'
*.log_checkpoint_timeout=0                    | *.log_buffer=1048576
*.log_checkpoint_to_alert=TRUE                    | *.log_checkpoint_interval=0
*.log_buffer=14289920                         | *.log_checkpoints_to_alert=TRUE
*.open_cursors=4000                       | *.open_cursors=1500
*.parallel_adaptive_multi_user=FALSE                  | *.optimizer_features_enable='10.2.0.4'
*.pga_aggregate_target=2500M                      | *.optimizer_mode='ALL_ROWS'
*.processes=3000                          | *.pga_aggregate_target=527433728
*.query_rewrite_integrity='TRUSTED'               | *.processes=800
                                  > *.query_rewrite_enabled='TRUE'
                                  > *.query_rewrite_integrity='Trusted'
*.recyclebin='OFF'                      *.recyclebin='OFF'
*.remote_login_passwordfile='EXCLUSIVE'             *.remote_login_passwordfile='EXCLUSIVE'
*.sec_case_sensitive_logon=FALSE                  | *.SEC_CASE_SENSITIVE_LOGON=FALSE
*.session_cached_cursors=1000                     | *.session_cached_cursors=1200
*.session_max_open_files=30                   | *.session_max_open_files=20
*.sga_target=4G                           | *.sessions=2000
*.standby_file_management='AUTO'                  | *.sga_max_size=2600M
                                  > *.sga_target=2600M
                                  > *.sort_area_size=524288
                                  > *.star_transformation_enabled='FALSE'
*.streams_pool_size=50331648                    *.streams_pool_size=50331648
                                  > *.timed_statistics=TRUE
*.undo_management='AUTO'                    *.undo_management='AUTO'
*.undo_retention=18000                        | *.undo_retention=21600
*.undo_tablespace='UNDOTBS1'                    *.undo_tablespace='UNDOTBS1'
1

2 Answers 2

2

Your files are sufficiently different to confuse diff's lookahead and matching algorithms e.g. the lack of an "s" on checkpoint in log_checkpoint_to_alert will prevent the following block from tying up:

...
*.log_archive_format='arch_%t_%s_%r.arc'        *.log_archive_format='arch_%t_%s_%r.arc'
*.log_checkpoint_timeout=0                    | *.log_buffer=1048576
*.log_checkpoint_to_alert=TRUE                    | *.log_checkpoint_interval=0
*.log_buffer=14289920                         | *.log_checkpoints_to_alert=TRUE
*.open_cursors=4000                       | *.open_cursors=1500
...

Have you considered using the likes of Diffuse or Meld, as they offer alternative and / or manual intervention in the matching?

1

its jumbled because of line wrapping

to avoid this: play with the -W switch to force the width in columns

   -W columns
     --width=columns
        Use an output width of columns in side by side format.
4
  • I will play around and will get back.. Jan 23, 2013 at 19:16
  • Doesn't budge an inch. Jan 23, 2013 at 19:20
  • Guys any clue why diff -y would do this. Jan 24, 2013 at 19:37
  • This question is also for the gentleman who wrote diff??? Jan 24, 2013 at 19:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .