Oracle unable to extend table in tablespace

I've got the next error message from Oracle server, when I try to insert new record:

ORA-01653: unable to extend table OWNER.TABLE_NAME by BYTE in tablespace TABLESPACE

Where TABLESPACE is the name of your tablespace. In the future you need to replace TABLESPACE with name of your tablespace.

If you have enough disk space, you need to check how many bytes are used by Oracle in TABLESPACE:

SELECT *
FROM
   dba_data_files
WHERE
   tablespace_name = 'TABLESPACE';
--Where TABLESPACE is the name of your tablespace.
--Please replace it.

"BYTES" column shows maximum size of this tablespace in bytes. If value of "AUTOEXTENSIBLE" column is NO, then Oracle don't extends the maximum size of tablespace. If this value is YES, then Oracle extends tablespace when no more space in it.

If value of "AUTOEXTENSIBLE" column is NO, check how many bytes are used by Oracle:

SELECT
  tablespace_name,
  SUM(bytes/1024/1024)
FROM
  dba_segments
GROUP BY
  tablespace_name;
--Where TABLESPACE is the name of your tablespace.
--Please replace it.

Now look at your tablespace size. If the different between this value and maximum size is enough small you need to set AUTOEXTENSIBLE to
YES. I have generated a query, what set the YES value with this command:

SELECT
  'alter database datafile '''||
  file_name||
  ''' '||
  ' autoextend on;'
FROM
  dba_data_files
WHERE tablespace_name = 'TABLESPACE';
--Where TABLESPACE is the name of your tablespace.
--Please replace it.

Copy and paste generated query end execute it.

Now your tablespace is AUTOEXTENSIBLE and it will grow if need.

 

来源:http://bitprison.net/oracle_unable_to_extend_tablespace

你可能感兴趣的:(oracle,command,table,database,query,insert)