ORA-00349: failure obtaining block size

I am trying to drop and recreate ONLINE redo logs on my STANDB DATABASE (11.1.0.7)., but i am getting the below error.
On primary, we have done the changes., ie we added new logfile with bigger size and 3 members. When trying to do the same on Standby we are getting this error.
Our database is in Active DG Read only mode and the oracle version is 11.1.0.7.
I have deffered the log apply and cancelled the managed recovery, and dg is in manual mode.
SQL> alter database Add LOGFILE GROUP 1 ('+DT_DG1','+DT_DG2','+DT_DG3') SIZE 1024M;
alter database Add LOGFILE GROUP 1 ('+DT_DG1','+DT_DG2','+DT_DG3') SIZE 1024M
ERROR at line 1:
ORA-00349: failure obtaining block size for '+DT_DG1'

888442 wrote:
I am trying to drop and recreate ONLINE redo logs on my STANDB DATABASE (11.1.0.7)., but i am getting the below error.
On primary, we have done the changes., ie we added new logfile with bigger size and 3 members. When trying to do the same on Standby we are getting this error.
Our database is in Active DG Read only mode and the oracle version is 11.1.0.7.
I have deffered the log apply and cancelled the managed recovery, and dg is in manual mode.
SQL> alter database Add LOGFILE GROUP 4 ('+DT_DG1','+DT_DG2','+DT_DG3') SIZE 1024M;
alter database Add LOGFILE GROUP 4 ('+DT_DG1','+DT_DG2','+DT_DG3') SIZE 1024M
ERROR at line 1:
ORA-00349: failure obtaining block size for '+DT_DG1'First why you are dropping & recreating online redo log files on standby.
On standby only standby redo log files will be used. Not sure what you are trying to do.
here is example how to create online redo log files, Check that diskgroup is mounted and have sufficient space to create.
sys@ORCL> select member from v$logfile;
MEMBER
C:\ORACLE\ORADATA\ORCL\REDO03.LOG
C:\ORACLE\ORADATA\ORCL\REDO02.LOG
C:\ORACLE\ORADATA\ORCL\REDO01.LOG
sys@ORCL> alter database add logfile group 4 (
  2     'C:\ORACLE\ORADATA\ORCL\redo_g01a.log',
  3     'C:\ORACLE\ORADATA\ORCL\redo_g01b.log',
  4     'C:\ORACLE\ORADATA\ORCL\redo_g01c.log') size 10m;
Database altered.
sys@ORCL> select member from v$logfile;
MEMBER
C:\ORACLE\ORADATA\ORCL\REDO03.LOG
C:\ORACLE\ORADATA\ORCL\REDO02.LOG
C:\ORACLE\ORADATA\ORCL\REDO01.LOG
C:\ORACLE\ORADATA\ORCL\REDO_G01A.LOG
C:\ORACLE\ORADATA\ORCL\REDO_G01B.LOG
C:\ORACLE\ORADATA\ORCL\REDO_G01C.LOG
6 rows selected.
sys@ORCL>
Your profile:-
888442      
     Newbie
Handle:      888442
Status Level:      Newbie
Registered:      Sep 29, 2011
Total Posts:      12
Total Questions:      8 (7 unresolved)
Close the threads if answered, Keep the forum clean.

Similar Messages

  • ORA-00349: failure obtaining block size for '+Z'  in Oracle XE

    Hello,
    I am attempting to move the online redo log files to a new flash recovery area location created on network drive "Z" ( Oracle Database 10g Express Edition Release 10.2.0.1.0).
    When I run @?/sqlplus/admin/movelogs; in SQL*Plus as a local sysdba, I get the following errors:
    ERROR at line 1:
    ORA-00349: failure obtaining block size for '+Z'
    ORA-06512: at line 14
    Please let me know how to go about resolving this issue.
    Thank you.
    See below for detail:
    Connected.
    SQL> @?/sqlplus/admin/movelogs;
    SQL> Rem
    SQL> Rem $Header: movelogs.sql 19-jan-2006.00:23:11 banand Exp $
    SQL> Rem
    SQL> Rem movelogs.sql
    SQL> Rem
    SQL> Rem Copyright (c) 2006, Oracle. All rights reserved.
    SQL> Rem
    SQL> Rem NAME
    SQL> Rem movelogs.sql - move online logs to new Flash Recovery Area
    SQL> Rem
    SQL> Rem DESCRIPTION
    SQL> Rem This script can be used to move online logs from old online
    log
    SQL> Rem location to Flash Recovery Area. It assumes that the database
    SQL> Rem instance is started with new Flash Recovery Area location.
    SQL> Rem
    SQL> Rem NOTES
    SQL> Rem For use to rename online logs after moving Flash Recovery
    Area.
    SQL> Rem The script can be executed using following command
    SQL> Rem sqlplus '/ as sysdba' @movelogs.sql
    SQL> Rem
    SQL> Rem MODIFIED (MM/DD/YY)
    SQL> Rem banand 01/19/06 - Created
    SQL> Rem
    SQL>
    SQL> SET ECHO ON
    SQL> SET FEEDBACK 1
    SQL> SET NUMWIDTH 10
    SQL> SET LINESIZE 80
    SQL> SET TRIMSPOOL ON
    SQL> SET TAB OFF
    SQL> SET PAGESIZE 100
    SQL> declare
    2 cursor rlc is
    3 select group# grp, thread# thr, bytes/1024 bytes_k
    4 from v$log
    5 order by 1;
    6 stmt varchar2(2048);
    7 swtstmt varchar2(1024) := 'alter system switch logfile';
    8 ckpstmt varchar2(1024) := 'alter system checkpoint global';
    9 begin
    10 for rlcRec in rlc loop
    11 stmt := 'alter database add logfile thread ' ||
    12 rlcRec.thr || ' size ' ||
    13 rlcRec.bytes_k || 'K';
    14 execute immediate stmt;
    15 begin
    16 stmt := 'alter database drop logfile group ' || rlcRec.grp;
    17 execute immediate stmt;
    18 exception
    19 when others then
    20 execute immediate swtstmt;
    21 execute immediate ckpstmt;
    22 execute immediate stmt;
    23 end;
    24 execute immediate swtstmt;
    25 end loop;
    26 end;
    27 /
    declare
    ERROR at line 1:
    ORA-00349: failure obtaining block size for '+Z'
    ORA-06512: at line 14
    Can someone point me in the right direction as to what I may be doing wrong here - Thank you!

    888442 wrote:
    I am trying to drop and recreate ONLINE redo logs on my STANDB DATABASE (11.1.0.7)., but i am getting the below error.
    On primary, we have done the changes., ie we added new logfile with bigger size and 3 members. When trying to do the same on Standby we are getting this error.
    Our database is in Active DG Read only mode and the oracle version is 11.1.0.7.
    I have deffered the log apply and cancelled the managed recovery, and dg is in manual mode.
    SQL> alter database Add LOGFILE GROUP 4 ('+DT_DG1','+DT_DG2','+DT_DG3') SIZE 1024M;
    alter database Add LOGFILE GROUP 4 ('+DT_DG1','+DT_DG2','+DT_DG3') SIZE 1024M
    ERROR at line 1:
    ORA-00349: failure obtaining block size for '+DT_DG1'First why you are dropping & recreating online redo log files on standby.
    On standby only standby redo log files will be used. Not sure what you are trying to do.
    here is example how to create online redo log files, Check that diskgroup is mounted and have sufficient space to create.
    sys@ORCL> select member from v$logfile;
    MEMBER
    C:\ORACLE\ORADATA\ORCL\REDO03.LOG
    C:\ORACLE\ORADATA\ORCL\REDO02.LOG
    C:\ORACLE\ORADATA\ORCL\REDO01.LOG
    sys@ORCL> alter database add logfile group 4 (
      2     'C:\ORACLE\ORADATA\ORCL\redo_g01a.log',
      3     'C:\ORACLE\ORADATA\ORCL\redo_g01b.log',
      4     'C:\ORACLE\ORADATA\ORCL\redo_g01c.log') size 10m;
    Database altered.
    sys@ORCL> select member from v$logfile;
    MEMBER
    C:\ORACLE\ORADATA\ORCL\REDO03.LOG
    C:\ORACLE\ORADATA\ORCL\REDO02.LOG
    C:\ORACLE\ORADATA\ORCL\REDO01.LOG
    C:\ORACLE\ORADATA\ORCL\REDO_G01A.LOG
    C:\ORACLE\ORADATA\ORCL\REDO_G01B.LOG
    C:\ORACLE\ORADATA\ORCL\REDO_G01C.LOG
    6 rows selected.
    sys@ORCL>
    Your profile:-
    888442      
         Newbie
    Handle:      888442
    Status Level:      Newbie
    Registered:      Sep 29, 2011
    Total Posts:      12
    Total Questions:      8 (7 unresolved)
    Close the threads if answered, Keep the forum clean.

  • Oracle Streams ORA-23616: Failure in executing block 167 for script

    oracle : Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    os : linux i686 i686 i386 GNU/Linux
    application : testing streams for schema ROOT
    1. Both the databases INDCTRAK, INDDTRAK are in archive.
    2. DB link created
    CREATE DATABASE LINK dbl_INDDTRAK CONNECT TO strmadmin IDENTIFIED BY strmadmin USING 'INDDTRAK';
    3. tbs created
    CREATE TABLESPACE streams_tbs datafile '/u02/oradata/INDDTRAK/streams01.dbf' size 100m;
    4 user created
    CREATE USER strmadmin IDENTIFIED BY strmadmin DEFAULT TABLESPACE streams_tbs TEMPORARY TABLESPACE temp
    QUOTA UNLIMITED ON streams_tbs;
    5. All req. grants
    GRANT CONNECT, RESOURCE, DBA ,Select_CATALOG_ROLE,
    SELECT ANY DICTIONARY TO strmadmin;
    6. grants
    BEGIN
    DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE (Grantee => 'strmadmin',Grant_privileges => true);
    END;
    PL/SQL procedure successfully completed.
    7. Created directory
    CREATE OR REPLACE DIRECTORY ADMIN AS '/u02/oradata/INDDTRAK/streams';
    step 2-7 executed without errors
    8.run with perform_actions as false
    SQL> BEGIN
    2 DBMS_STREAMS_ADM.MAINTAIN_SCHEMAS(
    3 schema_names =>'ROOT',
    4 source_directory_object =>'ADMIN',
    5 destination_directory_object =>'ADMIN',
    6 source_database => 'INDCTRAK',
    7 destination_database => 'INDDTRAK',
    8 perform_actions => false,
    9 script_name => 'schema_replication.sql',
    10 script_directory_object => 'admin',
    11 dump_file_name => 'ROOT.DMP',
    12 capture_name => 'capture_ROOT',
    13 capture_queue_table => 'rep_capture_queue_table',
    14 capture_queue_name => 'rep_capture_queue',
    15 capture_queue_user => null,
    16 propagation_name => 'prop_ROOT',
    17 apply_name => 'apply_ROOT',
    18 apply_queue_table => 'rep_dest_queue_table',
    19 apply_queue_name => 'rep_dest_queue',
    20 apply_queue_user => null,
    21 log_file => 'exp.log',
    22 bi_directional => false,
    23 include_ddl => true,
    24 instantiation => dbms_streams_adm.instantiation_schema_network);
    25 END;
    26 /
    9. when running perform_actions true getting error
    SQL> BEGIN
    2 DBMS_STREAMS_ADM.MAINTAIN_SCHEMAS(
    3 schema_names =>'ROOT',
    4 source_directory_object =>'ADMIN',
    5 destination_directory_object =>'ADMIN',
    6 source_database => 'INDCTRAK',
    7 destination_database => 'INDDTRAK',
    8 perform_actions => TRUE,
    9 script_name => 'schema_replication.sql',
    10 script_directory_object => 'admin',
    11 dump_file_name => 'ROOT.DMP',
    12 capture_name => 'capture_ROOT',
    13 capture_queue_table => 'rep_capture_queue_table',
    14 capture_queue_name => 'rep_capture_queue',
    15 capture_queue_user => null,
    16 propagation_name => 'prop_ROOT',
    17 apply_name => 'apply_ROOT',
    18 apply_queue_table => 'rep_dest_queue_table',
    19 apply_queue_name => 'rep_dest_queue',
    20 apply_queue_user => null,
    21 log_file => 'exp.log',
    22 bi_directional => false,
    23 include_ddl => true,
    24 instantiation => dbms_streams_adm.instantiation_schema_network);
    25 END;
    26 /
    BEGIN
    ERROR at line 1:
    ORA-23616: Failure in executing block 167 for script
    4D2E52386C84C1CAE040A8C0FC015222
    ORA-06512: at "SYS.DBMS_RECOVERABLE_SCRIPT", line 560
    ORA-06512: at "SYS.DBMS_RECOVERABLE_SCRIPT", line 583
    ORA-06512: at "SYS.DBMS_STREAMS_MT", line 7673
    ORA-06512: at "SYS.DBMS_STREAMS_ADM", line 2606
    ORA-06512: at "SYS.DBMS_STREAMS_ADM", line 2667
    ORA-06512: at line 2
    10 errors
    SQL> select * from dba_recoverable_script_errors;
    SCRIPT_ID BLOCK_NUM ERROR_NUMBER
    ERROR_MESSAGE
    ERROR_CRE
    4D2E52386C84C1CAE040A8C0FC015222 167 -39001
    ORA-39001: invalid argument value
    ORA-06512: at "SYS.DBMS_RECO_SCRIPT_INVOK", line 130
    ORA-06512: at "SYS.DBMS_STREAMS_RPC", line 447
    14-MAY-08
    I could not find much explanation on net.
    pl. help in case it is already solved.

    Hi,
    we are implementing datavault on an existing 11g DB.The database is up and running fine , but DBCA shows this error when I am trying to configure datavault using DBCA.
    I have created a spfile from the same pfile, and Db does not show any error while coming up or shutting down. The issue comes only while using DBCA. I shall try minimizing the parameters and try again.
    Thanks
    Pankaj

  • ORA-27046: file size is not a multiple of logical block size

    Hi All,
    Getting the below error while creating Control File after database restore. Permission and ownership of CONTROL.SQL file is 777 and ora<sid>:dba
    ERROR -->
    SQL> !pwd
    /oracle/SID/sapreorg
    SQL> @CONTROL.SQL
    ORACLE instance started.
    Total System Global Area 3539992576 bytes
    Fixed Size                  2088096 bytes
    Variable Size            1778385760 bytes
    Database Buffers         1744830464 bytes
    Redo Buffers               14688256 bytes
    CREATE CONTROLFILE SET DATABASE "SID" RESETLOGS  ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01565: error in identifying file
    '/oracle/SID/sapdata5/p11_19/p11.data19.dbf'
    ORA-27046: file size is not a multiple of logical block size
    Additional information: 1
    Additional information: 1895833576
    Additional information: 8192
    Checked in target system init<SID>.ora and found the parameter db_block_size is 8192. Also checked in source system init<SID>.ora and found the parameter db_block_size is also 8192.
    /oracle/SID/102_64/dbs$ grep -i block initSID.ora
    Kindly look into the issue.
    Regards,
    Soumya

    Please chk the following things
    1.SPfile corruption :
    Startup the DB in nomount using pfile (ie init<sid>.ora) create spfile from pfile;restart the instance in nomount state
    Then create the control file from the script.
    2. Check Ulimit of the target server , the filesize parameter for ulimit shud be unlimited.
    3. Has the db_block_size parameter been changed in init file by any chance.
    Regards
    Kausik

  • ORA-19510 failed to set size of 12288 blocks for file "/sisdev01/dbs/log01b.dbf

    My company's harddisk has corrupted and files under /sisdev01/dbs/ cannot list and don't have any backup, then I have to create a new database again after changing the disk and recovering the data. I plan to reuse the /sisdev01/dbs/ as following.
    I fail in creating database by using the following script:
    CREATE DATABASE SISDEV01
         LOGFILE GROUP 1 '/sisdev01/dbs/log01a.dbf' SIZE 10M
         ,     GROUP 1 '/sisdev01/dbs/log01b.dbf' SIZE 10M
         ,     GROUP 2 '/sisdev01/dbs/log02a.dbf' SIZE 10M
         ,     GROUP 2 '/sisdev01/dbs/log02b.dbf' SIZE 10M
         NOARCHIVELOG
         CHARACTER SET ZHT16BIG5
         NATIONAL CHARACTER SET ZHT16BIG5
         DATAFILE '/sisdev01/dbs/system01.dbf'      
              SIZE 210M AUTOEXTEND OFF
         , '/sisdev01/dbs/rbs01.dbf'
    SIZE 105M AUTOEXTEND OFF
         , '/sisdev01/dbs/temp01.dbf'
    SIZE 105M AUTOEXTEND OFF
         , '/sisdev01/dbs/users01.dbf'
    SIZE 1050M AUTOEXTEND OFF
         , '/sisdev01/dbs/ts_index_ivr01.dbf'
    SIZE 105M AUTOEXTEND OFF
         , '/sisdev01/dbs/ts_ivr01.dbf'
    SIZE 21M AUTOEXTEND OFF
         , '/sisdev01/dbs/ts_ems01.dbf'
    SIZE 21M AUTOEXTEND OFF
         , '/sisdev01/dbs/ts_index_ems01.dbf'
    SIZE 21M AUTOEXTEND OFF
    but I receive error message:
    CREATE DATABASE SISDEV01
    ORA-01501: CREATE DATABASE failed
    ORA-19510: failed to set size of 12288 blocks for file "/sisdev01/dbs/log01b.dbf
    " (blocksize=512)
    ORA-27059: skgfrsz: could not reduce file size
    IBM AIX RISC System/6000 Error: 28: No space left on device
    Additional information: 1
    ORA-19502: write error on file "/sisdev01/dbs/log01b.dbf", blockno 8193 (blocksi
    ze=512)
    ORA-27063: skgfospo: number of bytes read/written is incorrect
    IBM AIX RISC System/6000 Error: 28: No space left on device
    Additional information: -1
    Additional information: 524288
    Here is the content of my parameter file:
    db_file_multiblock_read_count = 8 # SMALL
    # db_file_multiblock_read_count = 16 # MEDIUM
    # db_file_multiblock_read_count = 32 # LARGE
    # db_block_buffers = 60 # SMALL
    db_block_buffers = 550 # MEDIUM
    # db_block_buffers = 3200 # LARGE
    # shared_pool_size = 3500000 # SMALL
    shared_pool_size = 5000000 # MEDIUM
    # shared_pool_size = 9000000 # LARGE
    log_checkpoint_interval = 10000
    processes = 400 # SMALL
    # processes = 100 # MEDIUM
    # processes = 200 # LARGE
    dml_locks = 100 # SMALL
    # dml_locks = 200 # MEDIUM
    # dml_locks = 500 # LARGE
    # log_buffer = 8192 # SMALL
    log_buffer = 32768 # MEDIUM
    # log_buffer = 163840 # LARGE
    # audit_trail = true # if you want auditing
    # timed_statistics = true # if you want timed statistics
    max_dump_file_size = 10240 # limit trace file size to 5 Meg each
    # Uncommenting the line below will cause automatic archiving if archiving has
    # been enabled using ALTER DATABASE ARCHIVELOG.
    log_archive_start = false
    log_archive_dest = /u01/sisdev01_arch
    log_archive_format = arch%s.dbf
    # If using private rollback segments, place lines of the following
    # form in each of your instance-specific init.ora files:
    rollback_segments = (r01, r02)
    # If using public rollback segments, define how many
    # rollback segments each instance will pick up, using the formula
    # # of rollback segments = transactions / transactions_per_rollback_segment
    # In this example each instance will grab 40/10 = 4:
    transactions = 40
    transactions_per_rollback_segment = 10
    # Global Naming -- enforce that a dblink has same name as the db it connects to
    global_names = TRUE
    # Edit and uncomment the following line to provide the suffix that will be
    # appended to the db_name parameter (separated with a dot) and stored as the
    # global database name when a database is created. If your site uses
    # Internet Domain names for e-mail, then the part of your e-mail address after
    # the '@' is a good candidate for this parameter value.
    # db_domain = us.acme.com # global database name is db_name.db_domain
    # define two control files by default
    # control_files = (/sisuat02/dbs/ctl01.ora,/sisuat02/dbs/ctl02.ora)
    control_files = (/sisdev01/dbs/ctl01.ora,/sisdev01/dbs/ctl02.ora)
    DB_NAME=sisdev01
    DB_BLOCK_SIZE=8192
    # DB_BLOCK_LRU_LATCHES=4
    DB_FILES=500
    DB_DOMAIN=shk.sony.com.hk
    background_dump_dest = /u01/dba/sisdev01/log
    user_dump_dest = /u01/dba/sisdev01/log
    NLS_LANGUAGE="traditional chinese"
    NLS_TERRITORY="hong kong"
    NLS_CURRENCY="HK$ "
    NLS_DATE_FORMAT="DD/MM/YYYY"
    NLS_NUMERIC_CHARACTERS=".,"
    utl_file_dir = *
    compatible = 8.1.5
    remote_os_authent = TRUE
    sort_area_size = 65536
    sort_area_retained_size = 65536
    It always fail during creation of logfile log01b.dbf.
    I have tried to send same size logfiles to the directory but it fails too when inserting the second logfile log01b.dbf too.
    NETOUT: 10054452 Error writing file: Error 0
    Can anyone kindly help me?

    This may be a blindingly obvious question but do you have sufficient disk space on /sisdev01/dbs/ partition?

  • ORA-00374 - Block Size issue

    I've already searched and researched this quite a bit. I am not using 9i like the other post about this issue from many years ago. Before you ask "Why a db_block_size of 32k?", this is for a test case. Simple as that.
    My system:
    Quad DC Operton, 32GB RAM, 4x 15k SAS disks in hardware RAID10.
    Windows Server 2008 R2 Standard 64bit (I much prefer Linux, but this test requires Win2008)
    Oracle 11g R2 64-bit EE
    The Disk with the O/S and ORACLE_HOME is formatted with the default 4k size allocation units.
    The allocated database file storage IS formatted with 32k sized allocation units and is on a SAN.
    I know it's 32k because when I presented the LUN to the server, I formatted it with 32k allocation units. See below the output paying attention to the * * section:
    C:\Users\********************>fsutil fsinfo ntfsinfo o:
    NTFS Volume Serial Number : 0x60d245e2d245bcd2
    Version : 3.1
    Number Sectors : 0x00000000397fc7ff
    Total Clusters : 0x0000000000e5ff1f
    Free Clusters : 0x0000000000e5f424
    Total Reserved : 0x0000000000000000
    Bytes Per Sector : 512
    Bytes Per Cluster :               32768
    Bytes Per FileRecord Segment : 1024
    Clusters Per FileRecord Segment : 0
    Mft Valid Data Length : 0x0000000000040000
    Mft Start Lcn : 0x0000000000018000
    Mft2 Start Lcn : 0x0000000000000001
    Mft Zone Start : 0x0000000000018000
    Mft Zone End : 0x0000000000019920
    RM Identifier: 35506ECB-7F9E-11DF-99F3-001EC92FDE3F
    So, my db file storage is formatted with a 32k allocation size.
    My issue is this:
    Oracle shows me the 32k block size when running DBCA using the Custom template. I choose it and the other required options are configured, and when it starts building the DB, I get this:
    ORA:00374: parameter db_block_size = 32768 invalid ; must be a multiple of 512 in the range [2048..16384].
    Other responses I've seen to this says "Windows doesn't support a allocation size above 8k or 16k" which is utterly absurd since I run SQL2008 on a few machines and it DOES support up to a 64k allocation size, which is what I run. I know this for a FACT.
    Windows DOES support up to a 64k allocation size. Does anyone know why Oracle is giving me a hard time about it?
    I saw Metalink note 794842.1, but I'd like to know the reasoning/logic for this limitation?
    Edited by: user6517483 on Jun 24, 2010 9:21 PM

    user6517483 wrote:
    I saw Metalink note 794842.1, but I'd like to know the reasoning/logic for this limitation?
    A WAG.. Oracle is written to be run on a wide variety of operating system. As operating systems differ one typically designs something that is equivalent in functionality to a Windows HAL - this provides an abstraction layer between the kernel services/calls that is needed by the s/w and the actual implementation of such by the kernel itself.
    So despite the kernel supporting feature X, it could be different than similar features supported on other kernels and difficult to implement via this s/w HAL-like interface. The Windows kernel has a lot of differences from the Linux kernel for example.. and somehow Oracle needs to make the same core db s/w run on both. Not unrealistic to expect that some kernel features will be supported better than others, as there is a common denominator ito design and implementation in the core s/w.
    As this is a case with block sizes... not that critical IMO. I have played with different block sizes in a 20+TB storage system and Oracle RAC (10.2g) on Linux (part of testing the combo of storage system and cluster and technologies used). Larger block sizes made zero difference to raw I/O performance. The impact was instead more a logical one. Fewer db blocks can be cached as these are larger.. more data can be written into a datablock. And as numerous experienced Oracle professionals have commented, Oracle decided that the default 8KB size is a best fit at this layer.
    So extensive and very accurate testing needs to be done IMO to determine whether a larger block size is justified... and the effort to do that may just outweigh the little gains achieved by finding the "+perfect+" block size. Why not focus all that effort instead on correctly using Oracle? Application design? Data modeling? Development and coding? These are factors that play the most dominant roles at the end of day that impact and determine performance.

  • ORA-01578: ORACLE data block corrupted on tables in sysaux tablespace

    Dear Experts,
    From the alert log file we noticed data block corruptions on one of our datafiles. After further investigation, we realized that the corruptions were on 3 of the AWR related tables in the SYSAUX tablespace:
    1. WRH$_LIBRARYCACHE
    2. WRH$_TEMPSTATXS
    3. WRI$_ALERT_OUTSTANDING
    The bad news is that we may not have a valid rman backup to do the recovery due to the retention policy - RECOVERY WINDOW OF 2 DAYS. Since this is a development database with limited monitoring, we did not discover the corruption until 6 days later. The issue happened about 6 days ago (about Christmas time).
    So, what are our recovery options? Can someone advice? We are thinking about drop and recreate the 3 affected v$WR* tables, but not quite sure about the impact to the system if we drop and recreate the 3 objects. Did someone experience this type of recovery. If you did, what are your approaches?
    We are running oracle 10.2.0.3 version.
    I greatly appreciate your input and suggestion. Thanks!!!

    as long as you have a backup of ur database before christmas, you can use the " MAXDAYS " cmd to get ur backup working so long as you have not used delete obsolote....had a same sistuation....where i had a backup and trying to restore it ...kept saying no valid backup...after going thru some stuff...found the MAXDAYS cmd to use my backup...here is an example ...
    $ rman target /
    Recovery Manager: Release 10.2.0.2.0 - Production on Sun Apr 6 09:05:44 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    connected to target database (not started)
    RMAN> SET DBID=1528894801
    executing command: SET DBID
    RMAN> startup force nomount;
    startup failed: ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initsameera.ora'
    starting Oracle instance without parameter file for retrival of spfile
    Oracle instance started
    Total System Global Area 159383552 bytes
    Fixed Size 1259672 bytes
    Variable Size 58722152 bytes
    Database Buffers 92274688 bytes
    Redo Buffers 7127040 bytes
    RMAN> set controlfile autobackup format for device type disk to '/u99/backup/sameera/control_spfile_%F';
    executing command: SET CONTROLFILE AUTOBACKUP FORMAT
    using target database control file instead of recovery catalog
    RMAN> run
    2> {
    3> allocate channel p1 type disk;
    4> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initsameera.ora' from autobackup;
    5> shutdown abort;
    6> }
    allocated channel: p1
    channel p1: sid=36 devtype=DISK
    Starting restore at 06-APR-08
    channel p1: looking for autobackup on day: 20080406
    channel p1: looking for autobackup on day: 20080405
    channel p1: looking for autobackup on day: 20080404
    channel p1: looking for autobackup on day: 20080403
    channel p1: looking for autobackup on day: 20080402
    channel p1: looking for autobackup on day: 20080401
    channel p1: looking for autobackup on day: 20080331
    channel p1: no autobackup in 7 days found
    released channel: p1
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of restore command at 04/06/2008 09:09:09
    RMAN-06172: no autobackup found or specified handle is not a valid copy or piece
    Solution:
    RMAN> shutdown abort;
    RMAN> EXIT;
    $ ps -ef |grep pmon
    oracle 2891 2856 0 09:05 pts/1 00:00:00 grep pmon
    oracle 7448 1 0 Apr05 ? 00:00:00 ora_pmon_primary
    $export ORACLE_SID=sameera
    $ rman target /
    Recovery Manager: Release 10.2.0.2.0 - Production on Sun Apr 6 09:05:44 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    connected to target database (not started)
    RMAN> SET DBID=1528894801
    executing command: SET DBID
    RMAN> startup force nomount;
    startup failed: ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/db s/initsameera.ora'
    starting Oracle instance without parameter file for retrival of spfile
    Oracle instance started
    Total System Global Area 159383552 bytes
    Fixed Size 1259672 bytes
    Variable Size 58722152 bytes
    Database Buffers 92274688 bytes
    Redo Buffers 7127040 bytes
    RMAN> set controlfile autobackup format for device type disk to '/u99/backup/sameera/control_spfile_%F';
    executing command: SET CONTROLFILE AUTOBACKUP FORMAT
    using target database control file instead of recovery catalog
    RMAN> run
    2> {
    3> allocate channel p1 type disk;
    4> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initsameera.ora' from autobackup maxdays 15;
    5> shutdown abort;
    6> }
    released channel: ORA_DISK_1
    allocated channel: p1
    channel p1: sid=36 devtype=DISK
    Starting restore at 06-APR-08
    channel p1: looking for autobackup on day: 20080406
    channel p1: looking for autobackup on day: 20080405
    channel p1: looking for autobackup on day: 20080404
    channel p1: looking for autobackup on day: 20080403
    channel p1: looking for autobackup on day: 20080402
    channel p1: looking for autobackup on day: 20080401
    channel p1: looking for autobackup on day: 20080331
    channel p1: looking for autobackup on day: 20080330
    channel p1: looking for autobackup on day: 20080329
    channel p1: looking for autobackup on day: 20080328
    channel p1: looking for autobackup on day: 20080327
    channel p1: looking for autobackup on day: 20080326
    channel p1: looking for autobackup on day: 20080325
    channel p1: looking for autobackup on day: 20080324
    channel p1: looking for autobackup on day: 20080323
    channel p1: autobackup found: /u99/backup/sameera/control_spfile_c-1528894801-20080323-00
    channel p1: SPFILE restore from autobackup complete
    Finished restore at 06-APR-08
    Oracle instance shut down
    Check to make sure if initsameera.ora exists in $ORACLE_HOME/dbs location.
    $ cd $ORACLE_HOME/dbs
    $ ls -ltr
    total 7052
    -rw-r----- 1 oracle oinstall 2560 Apr 5 13:21 spfileprimary.ora
    -rw-r----- 1 oracle oinstall 7061504 Apr 5 13:23 snapcf_primary.f
    -rw-rw---- 1 oracle oinstall 1544 Apr 5 18:42 hc_sameera.dat
    -rw-r--r-- 1 oracle oinstall 1087 Apr 6 09:12 initsameera.ora
    $ pwd
    /u01/app/oracle/product/10.2.0/db_1/dbs
    $

  • ORA-19510: failed to set size with ORA-27059: could not reduce file size

    Hi,
    I have RMAN backup implemented and getting below error.
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: failure of backup command on c1 channel at 01/12/2014 04:28:37
    ORA-19510: failed to set size of 12839996 blocks for file "/home/oracle/DBBACKUP/Oracle10g1/Full_Backup/DB_Backup_201401128366598241" (blocksize=16384)
    ORA-27059: could not reduce file size
    Linux Error: 28: no space left on device
    Additional information: 2
    I have checked with following scenarios:
    1. taking backup by setting the MAXSETSIZE parameter value greater than the maximum size of tablespace.
    2. taking compressed incremental backup with maxsetsize as unlimited.
    3. taking compressed incremental backup with maxpiecesize value as 20G/40G/80G/120G and maxsetsize as unlimited.
    Following is the RMAN backup script:
    RMAN> run
    2>  {
    3>  allocate channel c1 device type disk maxpiecesize 120G
    4>  format '/home/oracle/DBBACKUP/Oracle10g1/Full_Backup/DB_Backup_%Y%M%D%t%p';
    5>  backup incremental level 0 as compressed backupset database plus archivelog delete input;
    6>  crosscheck backup of database;
    7>  crosscheck backup of controlfile;
    8>  crosscheck archivelog all;
    9>  delete noprompt expired backup of database;
    10>  delete noprompt expired backup of controlfile;
    11>  delete noprompt obsolete recovery window of 15 days;
    12>  release channel c1;
    13>  }
    14> exit;
    Oracle database version is 10.2.0.1.
    The database is on Linux system and we are taking the RMAN backup on mounted Windows NTFS disk.
    The remaining space on NTFS system 1.7TB and the total database size 850GB. Used size by database is 500GB.
    Regards,
    Yogesh.

    Hi,
    First get the backup piece size its trying to allocate for file "/home/oracle/DBBACKUP/Oracle10g1/Full_Backup/DB_Backup_201401128366598241"
    = 12839996*16384
    = 210370494464/1024/1024/1024
    =195.9GB
    Its trying to allocate ~196GB for the file.
    1. Make sure the RMAN backup piece won’t exceed the O/S permitted filesize limit.
    2. But we can restrict the RMAN backup piece using the MAXPIECESIZE option.
    You restricted it to 120GB but actual requirement to allocate backup piece file is ~196GB.
    I think you need to change the MAXPIECESIZE and give it a try.
    Please update if it succeeded or failed.
    Thanks & Regards,
    Gayu

  • Need advice on ORA-01578: ORACLE data block corrupted

    We have a development database server version- 10.2.0.3 with materialized views refresh as complete every morning. Yesterday we had a power failure and the server went down and database was shutdown unexpectedly.
    When we restarted the database after the server restarted, we found some of the datablocks got corrupted . Following were the exceptions that we saw in the alert.log.
    Errors in file /i01_01/app/oracle/product/10.2.0/db_1/admin/orcl9/bdump/orcl9_smon_7547.trc:
    ORA-01578: ORACLE data block corrupted (file # 11, block # 257712)
    ORA-01110: data file 11: '/i01_01/app/oracle/product/10.2.0/oradata/orcl9/ts_gen_data_02.dbf'
    ORACLE Instance orcl9 (pid = 8) - Error 1578 encountered while recovering transaction (9, 38) on object 54463
    I tried the following query to see the segment type.
    select owner, segment_name, segment_type from dba_extents where file_id =11 and 257712 between block_id and block_id + blocks - 1;
    OWNER
    SEGMENT_NAME
    SEGMENT_TYPE
    VISH
    INVENTORY_TXN
    TABLE
    where " INVENTORY_TXN " is a materialized view that was using the block that got corrupted. I can always recreate the MV by dropping and recreating it. Will it solve the problem???
    If not, how can I recover/repair the block.???
    Can anyone advice on this. Thanks very much in advance.

    To recover a corrupted block,the best way out is to use Blockrecover command of RMAN. So you would need RmAN backup to perform the operation.But first ypu you need to ensure that this is a persistent error or not? Is this error is coming repeatedly or just once it happened?
    About Blockrecover command,read here,
    http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmrecov005.htm#BRADV157
    HTH
    Aman....

  • Raid storage usage and block size

    We have two XServe RAID units Raid 5 and we are adding a new 16 bay ACNC raid with 16 1.5TB drives in Raid 6 + Hot Spare. I initialized the Raid 6 with 128K block size. The total data moving from the older raid volumes is around 5.7TB, but on the new Raid it is taking around 7.4TB of space. Is this due to the 128K block size? This is a prepress server so most of the files are quite large, but there may be lots of small files as well.

    Hi
    RAID 0 does indeed offer best performance, however if any one drive of the striped set fails you will lose all your data. If you have not considered a backup strategy now would be the time to do so. For redundancy RAID 1 Mirror might be a better option as this will offer a safety net in case of a single drive failure. A RAID is not a backup and you should always consider a workable backup strategy.
    Purchase another 2x1TB drives and you could consider a RAID 10? Two Stripes mirrored.
    Not all your files will be large ones as I'm guessing you'll be using this workstation for the usual mundane matters such as email etc? Selecting a larger block size with small file sizes usually decreases performance. You have to consider all applications and file sizes, in which case the best block size would be 32k.
    My 2p
    Tony

  • OSD-04001: invalid logical block size (OS 2800189884)

    My Windows 2003 crashed which was running Oracle XE.
    I installed Oracle XE on Windows XP on another machine.
    I coped my D:\oracle\XE10g\oradata folder of Win2003 to the same location in WinXP machine.
    When I start the database in WinXP using SQLPLUS i get the following message
    SQL> startup
    ORACLE instance started.
    Total System Global Area 146800640 bytes
    Fixed Size 1286220 bytes
    Variable Size 62918580 bytes
    Database Buffers 79691776 bytes
    Redo Buffers 2904064 bytes
    ORA-00205: error in identifying control file, check alert log for more info
    I my D:\oracle\XE10g\app\oracle\admin\XE\bdump\alert_xe I found following errors
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    starting up 4 shared server(s) ...
    Oracle Data Guard is not available in this edition of Oracle.
    Wed Apr 25 18:38:36 2007
    ALTER DATABASE MOUNT
    Wed Apr 25 18:38:36 2007
    ORA-00202: control file: 'D:\ORACLE\XE10G\ORADATA\XE\CONTROL.DBF'
    ORA-27047: unable to read the header block of file
    OSD-04001: invalid logical block size (OS 2800189884)
    Wed Apr 25 18:38:36 2007
    ORA-205 signalled during: ALTER DATABASE MOUNT...
    ORA-00202: control file: 'D:\ORACLE\XE10G\ORADATA\XE\CONTROL.DBF'
    ORA-27047: unable to read the header block of file
    OSD-04001: invalid logical block size (OS 2800189884)
    Please help.
    Regards,
    Zulqarnain

    Hi Zulqarnain,
    Error OSD-04001 is Windows NT specific Oracle message. It means that the logical block size is not a multiple of 512 bytes, or it is too large.
    So what you can do? Well you should try to change the value of DB_BLOCK_SIZE in the initialization parameter file.
    Regards

  • Data block size

    I have just started reading the concepts and I got to know that Oracle database data is stored in data blocks. The standard block size is specified by
    DB_BLOCK_SIZE init parameter. Additionally we can specify upto 5 other block sizes using DB_nK_CACHE_SIZE parameter.
    Let us say I define in the init.ora
    DB_BLOCK_SIZE = 8K
    DB_CACHE_SIZE = 4G
    DB_4K_CACHE_SIZE=1G
    DB_16K_CACHE_SIZE=1G
    Questions:
    a) Does this mean I can create tablespaces with 8K, 4K and 16K block sizes only?
    b) whenever I query data from these tablespaces, it will go and sit in these respective cache sizes?
    Thanks in advance.
    Neel

    yes, it will give error message if you create tablespace with non standard block size without specify the db_nk_cache_size parameter in the init parameter file .
    Use the BLOCKSIZE clause of the CREATE TABLESPACE statement to create a tablespace with a block size different from the database standard block size. In order for the BLOCKSIZE clause to succeed, you must have already set the DB_CACHE_SIZE and at least one DB_nK_CACHE_SIZE initialization parameter. Further, and the integer you specify in the BLOCKSIZE clause must correspond with the setting of one DB_nK_CACHE_SIZE parameter setting. Although redundant, specifying a BLOCKSIZE equal to the standard block size, as specified by the DB_BLOCK_SIZE initialization parameter, is allowed.
    The following statement creates tablespace lmtbsb, but specifies a block size that differs from the standard database block size (as specified by the DB_BLOCK_SIZE initialization parameter):
    CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M
    EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
    BLOCKSIZE 8K;
    reference:-http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/tspaces003.htm

  • RAID, ASM, and Block Size

    * This was posted in the "Installation" Thread, but I copied it here to see if I can get more responses, Thank you.*
    Hello,
    I am about to set up a new Oracle 10.2 Database server. In the past, I used RAID5 since 1) it was a fairly small database 2) there were not alot of writes 3) high availability 4) wasted less space compared to other RAID techniques.
    However, even though our database is still small (around 100GB), we are noticing that when we update our data, the time it takes is starting to grow to a point whereby the update that used to take about an hour, now takes 10-12 hours or more. One thing we noticed that if we created another tablespace which had a block size of 16KB versus our normal tablespace which had a block size of 8KB, we almost cut the update time in half.
    So, we decided that we should really start from scratch on a new server and tune it optimally. Here are some questions I have:
    1) Our server is a DELL PowerEdge 2850 with 4x146GB Hard Drives (584GB total). What is the best way to set up the disks? Should I use RAID 1+0 for everything? Should I use ASM? If I use ASM, how is the RAID configured? Do I use RAID0 for ASM since ASM handles mirroring and striping? How should I setup the directory structure? How about partitioning?
    2) I am installing this on Linux and when I tried on my old system to use 32K block size, it said I could only use 16K due to my OS. Is there a way to use a 32K block size with Linux? Should I use a 32K block size?
    Thanks!

    Hi
    RAID 0 does indeed offer best performance, however if any one drive of the striped set fails you will lose all your data. If you have not considered a backup strategy now would be the time to do so. For redundancy RAID 1 Mirror might be a better option as this will offer a safety net in case of a single drive failure. A RAID is not a backup and you should always consider a workable backup strategy.
    Purchase another 2x1TB drives and you could consider a RAID 10? Two Stripes mirrored.
    Not all your files will be large ones as I'm guessing you'll be using this workstation for the usual mundane matters such as email etc? Selecting a larger block size with small file sizes usually decreases performance. You have to consider all applications and file sizes, in which case the best block size would be 32k.
    My 2p
    Tony

  • What USB storage devices have a block size of 512 bytes?

    After pulling my hair out for weeks trying to get a usb hard drive to work with my new AirPort Extreme (802.11n), I ran across this
    http://docs.info.apple.com/article.html?artnum=305038
    AirPort Extreme (802.11n): USB storage device supported formats and protocols
    You can connect USB-based storage devices to an AirPort Extreme (802.11n). Learn which formats and protocols are supported.
    The AirPort Extreme (802.11n) supports USB storage devices that have a block size of 512 bytes, and are formatted as Mac OS Extended (HFS-plus), FAT16, or FAT32. Not all USB storage devices use a block size of 512 bytes.
    The AirPort Extreme (802.11n) shares storage devices based on the format used to initialize the storage device. For example, if HFS-plus formatting was used, AFP and SMB/CIFS protocols are used to share the device on the network. If FAT16 or FAT32 was used, SMB/CIFS protocols are used.
    The AirPort Extreme (802.11n) works with disks that have a single partition and are not software RAID volumes (no more than one volume per physical disk). If the disk is a self-contained RAID that presents itself to a computer as a single volume requiring no software support, then it is supported.
    Note: Use AirPort Disk Utility to discover and mount AirPort Extreme-based volumes over the network.
    Now, this information is not easily obtainable while
    shopping for a new usb hard drive. How do I find out which
    ones support this 512 byte block size????
    Would have bee nice to know that not all usb hard drives
    are supported by the AirPort Extreme (802.11n) before I
    purchased it.
    Thanks
    J Riley

    Duane posted a link to an unofficial 802.11n Airport Extreme Hard Drive Compatibility List.
    http://www.ifelix.co.uk/tech/8014.html
    Still not enough information to make an informed purchase that
    will work.

  • DB Cloning.file size is not a multiple of logical block size

    Dear All,
    I am trying to create database in windowsXP from the database files running in Linux.
    When i try to create control file, i m getting the following errors.
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01565: error in identifying file
    'D:\oracle\orcl\oradata\orcl\system01.dbf'
    ORA-27046: file size is not a multiple of logical block size
    OSD-04012: file size mismatch (OS 367009792)
    Pls tell me the workarounds.
    Thanks
    Sathis.

    Hi ,
    I created database service by oradim. Now i m trying to create control file after editing the controlfile with the location of windows datafiles(copied from Linux)
    Thanks,
    Sathis.

Maybe you are looking for

  • IMessage on multiple devices with 1 Apple ID

    Hi all, I previously had my iPhone 3GS and iPad 2 set up with 1x email under the 1 Apple ID. I was able to test this by sending an iMessage to myself and it would then message to both my devices. My wife now has my old 3GS as I have since upgraded to

  • Error while executing procedure for FTP

    Hi all, I am facing error while copying l the csv files from FTP to local directory on my machine. I have created a procedure & selected technology jython . please find the code below. import snpsftp ftp = snpsftp.SnpsFTP('ftp://noid-misa-01-pp/', 'i

  • WSUS crashes only when the "WSUS Service" is running

    Hello, I am fixing a WSUS server that was neglected for about a year. There was 30000+ approved updates when I got there and every query would timout. After messing around with it a little I was able to have WSUS query all of the updates. I removed t

  • XML View & Model, Tree & binding

    Hi there, i'm trying to do some stuff with XML models, XML Views and Trees. Here is my xml model file : <objectSet version="1.2.3.4">     <aRoot code="testCode" reference="0123456789" description="TestDescription" owner="Tester">             <compone

  • Indesign slow on powerful PC?

    Hi I just upgraded my PC. On my old PC indd was pretty fast. If I had to work with .ai's in high-res display mode in indd, it was laggy but not bad. However now, working with linked .ai's in high-res mode is down right painful. I'm using CS5.5. OLD P