ORA-01144: File size (string blocks) exceeds maximum of string blocks
Today, the company's Oracle Server suddenly stops working.
I encountered this error when I expanded a tablespace on a bare device. I want to know the specific reason.
SQL> alter database datafile 5 resize 33G;
Alter database datafile 5 resize 33G
*
ERROR at line 1:
ORA-01144: File size (4325376 blocks) exceeds maximum of 4194303 blocks
64-bit AIX platform
The following is oracle err messages:
ORA-01144: File size (string blocks) exceeds maximum of string blocks
-----------------------------------------
Bigfile tablespace differs from smallfile tablespace in Oracle 10 GB and later. bigfile tablespace is a new feature of Oracle10g. Bigfile tablespaces contains a datafile with a maximum of 4 GB blocks. Therefore, bigfile tablespace with 8 KBdata blocks can be up to 32 TB. Bigfile tablespaces is often used in very large databases. If a large DB has thousands of read/write datafiles, operations such as checkpoints will be very time-consuming. If a large datafile is used to reduce the number of datafiles, the efficiency will be improved. The BIGFILE keyword is as follows: create bigfile tablespace BIG_DEMO
DATAFILE '/ORADATA/PROD/big_demo.dbf' SIZE 25G; Smallfile tablespace is the new name of the original Oracle tablespace datafile option. In smallfile tablespace, You can include multiple datafiles. Each datafile has a maximum of 4 MB data blocks. Therefore, the maximum size of datafiles in the smallfile tablespace of 8 KB data blocks is 32 GB. Smallfile tablespace can contain up to 1,023 datafiles. SYSTEM and SYSAUX tablespaces are always smallfile tablespaces.
The ORA-01144 means that your individual data File exceeds the limits of oracle, for example: ORA-01144: File size (4194304 blocks) exceeds maximum of 4194303 blocks indicates that your tablespace is Smallfile tablespace, A single data file can contain a maximum of 2 ^ 22 = 4194303 blocks. When you replace it with KBytes, You can multiply the block_size of your database. The solution is to use multiple data files, it is not to set a large data file.
-----------------------------------------
Today in solaris sparc10 to install a single node oracle10g, dbca reported ora-01144, said data files are greater than the limit, in fact, also strange before why a data file to 150g. Later I found my understanding was wrong. I didn't say that I could only use one data file, but metalink found the following information for reference:
Fix:
FIX 1:
Specify a smaller file size.
The maximum file size is
Db_block_size * 4194303
For example, if db_block_size is 2kB then maximum file size is limited
To 2 k * 4194303, 8 Gb-2 k.
FIX 2:
Change db_block_size. This can only be done by recreating
Database.
Db_block_size Maximum data file size
-----------------------------------
2kb 8Gb-2kb
4kb 16Gb-4kb
8kb 32Gb-8kb
16kb 64Gb-16kb
32kb 128Gb-32kb
It can be seen that db_block_size still plays a decisive role in maximum data file size.
In addition, you cannot easily check bigfile tablespace. Only one data file exists in the tablespace ~ Almost make mistakes ~ Haha ~