I get this error when I run a query against my Oracle db, which I believe indicates I need to expand my dbf file size:
ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
01652. 00000 - "unable to extend temp segment by %s in tablespace %s"
*Cause: Failed to allocate an extent of the required number of blocks for
a temporary segment in the tablespace indicated.
*Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
files to the tablespace indicated.
Based on that, I found this SO answer, which advises running the following:
select value from v$parameter where name = 'db_block_size';
That returns a value of 8192
. The same SO answer advises running an autoextend if the above returns a 'low max size'. So I decided to try that approach. I first get the location of my dbf file(s):
select name from v$datafile;
Which returns these 6 rows:
/opt/oracle/product/11.2.0/xe/dbs/system.dbf
/opt/oracle/product/11.2.0/xe/dbs/sysaux.dbf
/opt/oracle/product/11.2.0/xe/dbs/undotbs1.dbf
/opt/oracle/product/11.2.0/xe/dbs/users.dbf
/opt/oracle/deploy/oradata/my_db_01.dbf
/opt/oracle/deploy/oradata/my_db_02.dbf
So I try to run an autoextend of my_db_01.dbf
:
alter database datafile /opt/oracle/deploy/oradata/my_db_01.dbf autoextend on maxsize unlimited;
But that gives me:
ERROR at line 1:
ORA-02236: invalid file name
Why is the file name invalid when I'm pulling it directly from my v$datafile query?