Oracle 快速创建 N 个表空间数据文件

简介: Oracle 数据库是由无数个表空间组成,表空间是由无数个数据文件组成,数据文件存放在磁盘中。

Oracle 数据库是由无数个表空间组成,表空间是由无数个数据文件组成,数据文件存放在磁盘中。


随着时间和业务量的增长,数据文件会不断的增长,默认的数据文件一个为 32G,因此,需要不断的新增数据文件!


那么,问题来了!需要新增很多数据文件怎么办?


以下示例以 LUCIFER 表空间进行演示!默认开启 OMF!


⭐️ 如何开启 OMF 请参考:Oracle OMF参数


1、新增一个数据文件,小意思,一行命令搞定!


altertablespaceLUCIFERadddatafilesize30Gautoextendoff;


2、新增 10 个数据文件,麻烦点,复制 10 行也能搞定!


altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;
altertablespaceLUCIFERadddatafilesize30Gautoextendoff;


3、新增 100 个数据文件,头疼,复制 100 行?那 1000 个呢?10000个呢❓


当然,只是打个比方,无需较真,只是为了说明一个理念!


像这种需要一次性增加多个表空间数据文件的,可以直接通过循环语句,短短几行代码就可以搞定:


beginforiin1 .. 100loopexecuteimmediate'alter tablespace LUCIFER add datafile size 30G autoextend off';
endloop;
end;
/


通过以上短短的代码,就可以实现创建 100 个数据文件,如果需要 10000 个,就把 100 改成 10000 就行了!


如果你说你不使用 OMF 参数,当然可以,稍微改一下就行:


beginforiin1 .. 100loopexecuteimmediate'alter tablespace LUCIFER add datafile ''/oradata/orcl/lucifer'||i||'.dbf'' size 30G autoextend off';
endloop;
end;
/


只需要将数据文件路径 /oradata/orcl/ 和 数据文件名称 lucifer 拼接以下,然后传入 i 作为编号即可!


❤️ 记住,本文讲的是一个技巧,也是一个理念,不要钻牛角尖!

相关文章
|
4月前
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
81 0
|
1月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle的还原数据
Oracle数据库中的还原数据(也称为undo数据或撤销数据)存储在还原表空间中,主要用于支持查询的一致性读取、实现闪回技术和恢复失败的事务。文章通过示例详细介绍了还原数据的工作原理和应用场景。
【赵渝强老师】Oracle的还原数据
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
1月前
|
SQL Oracle 关系型数据库
Oracle 从 DMP 文件中恢复指定表的步骤
Oracle 从 DMP 文件中恢复指定表的步骤
46 7
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的数据文件
在Oracle数据库中,数据库由多个表空间组成,每个表空间包含多个数据文件。数据文件存储实际的数据库数据。查询时,如果内存中没有所需数据,Oracle会从数据文件中读取并加载到内存。可通过SQL语句查看和管理数据文件。附有视频讲解及示例。
|
3月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,