Oracle的最佳灵活体系结构(Optimal Flexible Architecture,简称OFA),是指Oracle软件和数据库文件及文件夹的命名约定和存储位置规则。可以将它作为一组好的习惯,它使用户可以很容易地找到与Oracle数据库相关的文件结构。
使用最佳灵活体系结构,能够简化数据库系统的管理工作,使数据库管理员更加容易地定位文件或添加文件;还可以将Oracle系统的执行文件、管理文件、数据文件分别存储到不同的硬盘上,从而有效地使用用户系统中的所有存储空间、克服某个(些)硬盘存储空间的限制,合理分配存储负担,降低单个硬盘存储速度方面的瓶颈,提高整个系统的存储效率。
最优灵活体系结构(Optimal Flexible Architecture,简称OFA)
OFA其实就是一种Oracle的一种规范,其意义就是用一种统一的给文件和文件夹的规则,和文件存放目录的规则做一个约定。这样,我们不管是安装多个版本的Oracle Database也好,因为目录规范,命名规范,这样软件不会冲突,方便管理,文件也方便查找。通过遵循OFA的指导,使得整个系统可以更加灵活。
Linux/Unix平台上的OFA命名机制
mount点的命名采用/pm的方式,其中p 是一个串字符常量,m 是一个固定长度的数字。例如:/u01、/u02、/ora01、/ora02都是不错的选择。
BASE目录通常是/pm/h/u,其中h是字符常量,通常是app。u是目录所有者,通常是oracle。
ORACLE_HOME目录通常是/pm/h/u/product/V。其中V是版本号,例如9.2.0、10.2.0。新增的一些组件,例如asm、agent都在这个目录下面,例如/u01/app/oracle/product/10.2.0/agent、/u01/app/oracle/product/10.2.0/asm
数据库特定的管理文件,例如启动参数文件、转储文件目录通常是/pm/h/u/admin/d/a。其中admin为固定字符,d表示数据库的名字,a表示子目录的名称,例如告警日志是alert_ora10g.log,用户目录是bdump,数据库实例名为ora10g则alert日志所在的目录为,$ORACLE_BASE/admin/ORCL/bdump/alert_ora10g.log。
关键文件通常是/pm/h/u/q/d,其中q为一个字符串,通常是oradata,d表示数据名。控制文件通常是controln.ctl,n为两位长度的数字,例如control01.ctl、control02.ctl。redon.log,n为两位长度的数字,例如redo01.log、redo02.log,数据文件tn.dbf,t表示表空间的名字,n为两位长度的数字,例如users01.dbf、users02.dbf等
一般情况下的目录结构
子目录名
用途
示例
adhoc 存储数据库专用的SQL和PL/SQL脚本 $ORACLE_BASE/admin/SID/adhoc
arch 存储已归档的重做日志文件 $ORACLE_BASE/admin/SID/arch
adump 存储审计文件的目录(需要首先设置AUDIT_FILE_DEST)参数 $ORACLE_BASE/admin/SID/adump
bdump 存储后台进程跟踪文件与警告日志文件。使用BACKGROUND_DUMP_DEST参数进行设置 $ORACLE_BASE/admin/SID /bdump
cdump 存储核心堆积文件。使用CORE_DUMP_DEST参数进行设置 $ORACLE_BASE/admin/SID/ cdump
udump 存储用户进程跟踪文件。使用USER_DUMP_DEST参数进行设置 $ORACLE_BASE/admin/SID /udump
scripts 存储用于创建数据库的脚本。在创建新的数据库时,DBCA将创建数据库的脚本设置在这个目录中 $ORACLE_BASE/admin/SID /scripts
exp 建议存储使用Export实用程序或Oracle Data Pump创建的数据库导出文件的目录 $ORACLE_BASE/admin/SID/exp
logbook 存储数据库历史与状态日志文件 $ORACLE_BASE/admin/SID/logbook
pfile 用于启动数据库的参数文件被放置在这个目录中 $ORACLE_BASE/admin/SID/pfile
oraInventory
Oracle在服务器上使用一个名为Oracle的清单目录也称为OraInventory的特殊目录,用来保存所有的Oracle软件清单。多个Oracle安装可以共用相同的清单目录。只有第一次安装 Oracle时需要在环境变量中指定