ORACLE 19C 修改表空间自增长

  一、Oracle 12c Multitenant Architecture多租户框架最重要的2个概念是容器数据库CDB(multitenant container database)和可热插拔数据库PDB(pluggable databases)。可以把CDB想象成一个大的容器,这个大的容器在物理上是一个整体,在这个大的容器中还有一些小的容器PDB。容器的目的是将Oracle固有元数据和用户数据(包括用户元数据)隔离。

                                   

 二、CDB和PDB含义

        CDB:容器数据库,名称为 CDB$ROOT。其作用就是系统数据库,sys等账号都保存在里面。同时它可以管理PDB数据库。

        PDB:可插拔的数据库。用户可以在PDB自建数据库。Oracle安装成功后有个默认的pdb数据库(在安装Oracle时自己设定),PDB中自带有PDB$SEED,属于PDB的模板数据库,自己创建数据库的时候以此库为模板。 

                

11G,与12C、19C 的直观区别就是后两者引入了类似DOCKER中的容器概念 

所以在12C或19C数据库服务器上进行sqlplus 操作之后 需要进行切换PDB容器,即待修改的目标用户的表空间所在的PDB

三、具体操作


sqlplus   / as sysdba
或
conn   / as sysdba

show con_name;  查询当前所在容器 即 CDB
show pdbs;   查询所有的PDB
alter session set container=XRGPDB; 切换到指定的PDB

切换到CDB
SQL> alter session set container=CDB$ROOT;
SQL> show con_name; 
CON_NAME

查看PDB状态
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

 CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
4122484437 PDB$SEED                       READ ONLY
3387525155 PDB1                           MOUNTED      #关闭状态
3946119498 PDB2                           READ WRITE  #开启状态


开启pdb2
SQL> alter pluggable database pdb2 open;
关闭pdb2
SQL> alter pluggable database pdb2 close;

全开全闭
SQL> alter pluggable database all open;
插接式数据库已变更。
SQL> alter pluggable database all close;
插接式数据库已变更。

查看表空间大小及使用率
select total.tablespace_name,round(total.MB, 2) as Total_MB,round(total.MB - free.MB, 2) as Used_MB,round((1-free.MB / total.MB)* 100, 2) || '%' as Used_Pct from (select tablespace_name, sum(bytes) /1024/1024 as MB from dba_free_space group by tablespace_name) free,(select tablespace_name, sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name) total  where free.tablespace_name = total.tablespace_name order by used_pct desc;

查询表空间物理文件地址

select  tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;

为表空间添加数据文件
alter tablespace TESTNS add datafile '/ora/oradata/radius/testNS.dbf' size 300M  autoextend on next 50m maxsize 10240m;

修改表空间使用大小及自动扩增
alter database datafile '/ora/oradata/radius/testNS.dbf' resize 10240m;

alter database datafile '/ora/oradata/radius/testNS.dbf' autoextend on next 1024m  maxsize unlimited--表空间最大空间限制 


验证 select file_name,tablespace_name,autoextensible from DBA_DATA_FILES ;

AUTOEX 显示为YES 即表示成功

重启数据库监听与实例即可生效 

注:
Oracle 10G之后表空间分为两个类型 smallfile tablespace 和 bigfile tablespace
small datafile 最多包含4M数据块,一个数据块8K,最大是32G。 一个tablespace最多包含1024个数据文件。最大32T。
big datafile 能包含4G个数据块,大小可以到32T。 大表空间文件是无法再添加数据文件的。




 

————————————————
版权声明:本文为CSDN博主「提里奥丶弗丁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_65014849/article/details/128285484

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值