无法通过 128 (在表空间 IRRZJZS 中) 扩展
--查看表空间
SELECT * from dba_tablespaces;
--查看表空间文件路径
select tablespace_name,file_id,file_name from dba_data_files order by 1,2;
--查看用户和默认表空间的关系
SELECT username,default_tablespace from dba_users;
---------------------
单文件32g 问题注意 --根据系统环境 ,4k 16g 8k 32g
ALTER DATABASE DATAFILE 'C:\ORANT\ORADATA\xxx\xxx.ORA' AUTOEXTEND ON MAXSIZE UNLIMITED;
alter tablespace tablespace_all.tablespace_name add datafile all_file_name SIZE 1024M AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED
自动扩展表空间
--使用率超过90%则进行新增表文件创建
create or replace procedure prc_job_auto_add_datafile is
all_file_name varchar2(500);
tablespace_all varchar2(500);
vs_sql varchar2(500);
filecount varchar2(100);
relativepath varchar2(500);
cursor c_tablespace is
SELECT tablespace_name,Total_MB,Used_MB,Round(Used_MB/Total_MB*100,2) AS User_Pct from
(
select tablespace_name,Round(Sum(bytes)/1024/1024,2) AS Used_MB,Round(sum(maxbytes)/1024/1024,2) AS Total_MB from dba_data_files
where tablespace_name <> 'SYSAUX' AND tablespace_name <> 'USERS' AND tablespace_name NOT LIKE 'UNDOTBS%'
group by tablespace_name
);
Begin
relativepath:= 'D:\app\Administrator\oradata\orcl\';--云中心:+DATA/zhsw/datafile/ 153:D:\app\Administrator\oradata\orcl\
for tablespace_all in c_tablespace loop
If tablespace_all.User_Pct >=90 Then
all_file_name := relativepath|| tablespace_all.tablespace_name;
select count(*)+1 into filecount from dba_data_files where tablespace_name=tablespace_all.tablespace_name;
if filecount<=9 then
filecount:='0'||filecount;
end if;
all_file_name := all_file_name||filecount||'.dbf';
vs_sql := 'alter tablespace '||tablespace_all.tablespace_name||' add datafile '''||all_file_name||''' SIZE 1024M AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED';
--dbms_output.put_line(vs_sql);
Execute Immediate vs_sql;
End If;
end loop;
exception
when others then
dbms_output.put_line(sqlerrm);
End prc_job_auto_add_datafile;
--创建oracle job 频率为周
begin
sys.dbms_scheduler.create_job(job_name => 'auto_add_datafile',
job_type => 'STORED_PROCEDURE',
job_action => 'prc_job_auto_add_datafile',
start_date => to_date('24-07-2018 09:00:00', 'dd-mm-yyyy hh24:mi:ss'),
repeat_interval => 'Freq=Weekly',
end_date => to_date(null),
job_class => 'DEFAULT_JOB_CLASS',
enabled => true,
auto_drop => true,
comments => '');
end;
/
-- 观察是否生成 model_data07 表空间