Analysis and Solution of common ORACLE error codes (2)
Analysis and Solution of common ORACLE error codes (2)
The ORACLE tutorial is: Analysis and Solution of common ORACLE error codes (2 ). ORA-01578: Oracle data block upload upted (file # num, block # num)
Cause: When ORACLE accesses a data block, due to 1. Hardware I/O errors; 2. Operating System I/O errors or buffer problems; 3. memory or paging Problems
4. ORACLE attempts to access an unformatted system block fail; 5. Data File overflow. One of the above situations causes a logical bad block or
Physical Bad blocks, then the error of ORA-01578 will be reported.
Solution: Because ORACLE Reports an error only when it accesses a problematic data file, the error may be reported later than the actual error time, as shown in figure
If the ORA-01578 error message prompts that the bad data block points to the user's own data file, use the following method to solve:
If the bad block found through the following SQL statement has an index, you only need to re-create the index.
SQL> Select owner, segment_name, segment_type from dba_extents where file_id = And
Between block_id and
Block_id + blocks-1 ;( And Are the bad block reported by the ORA-01578 file number and block number)
If the bad block appears on the table, use the following statement to check whether it is a permanent bad block (it is recommended that you execute it twice more to help identify whether the bad data block is permanent (Hard Disk
Physical Bad blocks on) are still random (caused by memory or hardware errors )):
SQL> Analyze table Validate structure cascade;
After executing this command, the following results may appear:
ORA-01578: has the same parameter as the original error message, is a permanent physical or logical bad block; has a different parameter with the original error information, may be with memory,
Page space is related to the I/O device.
If you have the latest backup of this table, it is best to use this backup to restore the table, or use event 10231 to retrieve data other than bad blocks:
<1>. Shut down the database first.
<2> edit init Add the. ora file:
Event = "10231 trace name context forever, level 10"
<3>. startup restrict
<4>. create a temporary table: SQL> create table errortemp as select * from error; (error is the name of the bad table)
<5>. Extract the event from init Delete the. ora file and restart the database.
<6>. rename bad table: rename the temporary table to the name of the bad table.
<7>. Create Table Indexes
If the ORA-01578 error message prompts that the bad data block points to a data dictionary or rollback segment, you should immediately contact ORACLE to discuss
A good solution.
The solution mentioned here is only a common solution. For more specific solutions, you can refer to the ORACLE troubleshooting manual, which contains the issue and
The ROWID method is used to retrieve data other than bad blocks.
The corresponding English is as follows:
Cause: The given data block was has upted, probably due to program errors
Action: Try to restore the segment containing the given data block, This may involve dropping the segment
And recreating it, If there is a trace file, report the messages recorded in it to customer support.
ORA-01628: max # of extents num reached for rollback segment num
Cause: this error is usually caused by a rollback segment and a tablespace that has reached the limit set by the MAXEXTENTS parameter. Note that this MAXEXTENTS does not
Is the hardware limit of the rollback segment or tablespace. The hardware limit depends on the value of the DB_BLOCK_SIZE parameter specified in the init. ora file when the database is created.
Solution: Use the SQL command ALTER TABLESPACE... STORAGE (maxextents xxxx) to add MAXEXTENTS, where the "XXXX" value must be greater
The VALUE in the error message, but cannot be greater than the VALUE of largest maxextent. If the VALUE has reached the VALUE of largest maxextent, the solution is as follows:
Is to re-create a large range size, use the Export tool with the option COMPRESS = Y to Export the table, if the table space has available space, first give the table a backup
Copy, use alter tablespace tablespace_name to change its name, and then load the table back to the database.
Check where the error occurs. If the error occurs in a rollback segment or index, you must delete it and recreate it. If the error occurs in a temporary tablespace, modify the temporary table null.
To solve this problem.
An example of an error is as follows:
ORA-1628: max # extents 50 reached for rollback segment RBS_1
The corresponding English is as follows:
Cause: An attempt was made to extend a rollback segment that already has reached its maximum size or space
Cocould not be allocated in the data dictionary to contain the definition of the object.
Action: If possible, increase the value of either the MAXEXTENTS or PCTINCREASE initialization parameters or
Find the data dictionary table lacking space and alter the storage parameters, as described in the Oracle8
Server Administrator's Guide.
<