Oracle使用数据字典查看ASM相关信息
- 格式:pptx
- 大小:613.18 KB
- 文档页数:11
oracle ASM 配置自动存储管理(ASM)ASM 是Oracle 数据库10g 中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷管理器以及软件RAID 等服务。
ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O 以删除“热点”。
它还支持直接和异步的I/O 并使用Oracle9i 中引入的Oracle 数据管理器API(简化的I/O 系统调用接口)。
ASM 不是一个通用的文件系统,并只能用于Oracle 数据文件、重做日志以及控制文件。
ASM 中的文件既可以由数据库自动创建和命名(通过使用Oracle 管理文件特性),也可以由DBA 手动创建和命名。
由于操作系统无法访问ASM 中存储的文件,因此对使用ASM 文件的数据库执行备份和恢复操作的唯一途径就是通过恢复管理器(RMAN)。
ASM 作为单独的Oracle 实例实施,只有它在运行时其他数据库才能访问它。
在Linux 上,只有运行OCSSD 服务(由Oracle 通用安装程序默认安装)才能使用ASM。
ASM 需要的内存不多:对大多数系统,只需64 MB。
安装ASM在Linux 平台上,ASM 可以使用原始设备,或通过ASMLib 接口管理的设备。
出于易于使用和性能方面的原因,Oracle 建议在原始设备上使用ASMLib。
ASMLib 现在可以从OTN 免费下载。
本部分逐步讲解使用ASMLib 配置一个简单ASM 实例和构建一个使用ASM 进行磁盘存储的数据库的全过程。
确定所需的ASMLib 版本ASMLib 以三个Linux 程序包组成的程序包集提供:∙oracleasmlib - ASM 库∙oracleasm-support - 用于管理ASMLib 的实用程序∙oracleasm - ASM 库的内核模块每个Linux 发行套件都有其自己的ASMLib 程序包集。
在每个发行套件中,每个内核版本都有一个相应的oracleasm 程序包。
oracle 数据字典查询语句Oracle 数据字典是一个包含了数据库中所有对象和结构的元数据集合。
通过查询数据字典,可以获取数据库的详细信息,如表、列、索引、约束、触发器等对象的定义和属性。
下面列举了十个常用的Oracle 数据字典查询语句。
1. 查询所有表名:```sqlSELECT TABLE_NAME FROM ALL_TABLES;```这个查询语句将返回当前用户下所有表的名称。
2. 查询表的列信息:```sqlSELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = '表名';```这个查询语句将返回指定表的所有列名、数据类型、数据长度和是否可空。
3. 查询表的索引信息:```sqlSELECT INDEX_NAME, COLUMN_NAME, COLUMN_POSITION FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名';这个查询语句将返回指定表的所有索引名称、索引列名和索引列位置。
4. 查询表的主键信息:```sqlSELECT CONSTRAINT_NAME, COLUMN_NAME FROM ALL_CONS_COLUMNS WHERE TABLE_NAME = '表名' AND CONSTRAINT_NAME = 'PK_主键名'; ```这个查询语句将返回指定表的主键约束名和主键列名。
5. 查询表的外键信息:```sqlSELECT CONSTRAINT_NAME, COLUMN_NAME, R_CONSTRAINT_NAME, R_OWNER, R_TABLE_NAME, R_COLUMN_NAME FROM ALL_CONS_COLUMNS WHERE TABLE_NAME = '表名' AND CONSTRAINT_TYPE = 'R';```这个查询语句将返回指定表的外键约束名、外键列名、参考表的所有者、参考表名和参考列名。
oracleasm磁盘管理基础篇(一)今天是2014-02-27,从今天开始准备记录一系列的asm笔记。
在此记录一下。
(一)asm常见参数:和database实例一样,asm同样具有启动实例的相关参数,具体如下:asm_diskgroups:指定asm实例启动的时候需要mount的disk group名字:asm_disktsring :指定一个asm实例寻找磁盘的路径名可以有通配符。
asm_power_limit:指定在磁盘组中平衡数据的时候默认的power 大小。
asm_preferred_read_failure_groups:指定优先读取的故障组diagnostic_dest:asm实例diagnostics的目录instance_type:实例类型,对于asm实例必须为asmremote_login_passwordfile:验证是否需要去读密码文件(二)asm实例和数据库实例参数文件搜索过程:对于asm实例在启动的时候需要参数文件,那么一般搜索过程为:1、先根据GPNP profile文件指定的参数文件位置进行寻找2、如果没有在GPNP profile中指定的目录找到,那么将寻找$ORACLE_HME/dbs/spfile+ASM.ora3、如果没有spfile+ASM.ora,那么将寻找pfile文件。
如果上述没有找到则无法启动asm对于数据库实例启动的时候需要参数文件,那么搜素过程为:1、寻找 $ORACLE_HOME/dbs/spfile.ora,2、寻找 $ORACLE_HOME/dbs/spfile.ora3、寻找 $ORACLE_HOME/dbs/init.ora如果上述没有找到参数文件,那么数据库实例无法启动。
(三)使用sql命令create diskgroup创建磁盘组当创建磁盘组之前需要注意一下几点:1、指定磁盘组的唯一名字(注:不要使用对象名字)2、指定磁盘组的平衡等级,一旦自定将无法修改3、指定的磁盘将被格式化为oracle asm磁盘组的磁盘4、选择指定磁盘组属于指定的故障组5、选择指定故障组的类型(有QUORUM和REGULAR故障组)6、指定磁盘组的属性(如软件兼容版本或是au大小等)注意:一个磁盘只能属于一个磁盘组,且所有刚刚创建的磁盘都是有唯一的地址路径不属于现有的所有磁盘组,如果一个磁盘原先属于一个磁盘组,但是坏掉了当修复后,这个磁盘将不在是磁盘组的一部分,但是asm实例依然在磁盘组中保留该磁盘的成员信息,可以使用force参数将该磁盘加入磁盘组。
数据字典数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。
用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成。
数据字典包括:数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表,数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典试图取得系统信息,数据字典视图主要包括:user_xxx,all_xxx,dba_xxx三种类型。
er_tables:显示当前用户所拥有的表。
他只返回用户所对用方案的所有表。
select tabel_name from users_tables;2.all_tables:用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其他方案的表。
select tabel_name from all_tables;3.dba_tables它会显示所有方案拥有的数据表,但是查询这种数据库字典视图,要求用户必须是dba角色或是有select anytable系统权限。
例如:当用system用户查询数据字典视图dba_tables 时,会返回system,sys,scott....方案所对应的数据库表。
在建立用户时,oracle会把用户的信息用户存放在数据字典中,当给用户赋予权限或者角色时,oracle会把权限或者角色的详细信息存放在数据字典中。
dba_users可以查询显示所有数据库用户的详细信息。
desc dba_role_privs(看表的列结构)数据字典视图:dba_sys_privs可以显示用户具有的系统权限。
数据字典视图:dba_tab_privs可以显示用户具有的对象权限。
数据字典视图:dba_col_privs可以显示用户具有的列权限。
数据字典视图:dba_role_privs可以显示用户所有具有的角色。
数据字典视图:1.查看scott具有的角色,可查询dba_role_privs;角色是若干个权限的集合。
ORACLE_ASM_概述Oracle ASM(Automatic Storage Management)是Oracle数据库管理系统中的一项功能强大的存储管理技术。
它提供了一个集成的、高性能的存储解决方案,用于管理数据库文件、控制数据分布和提供高可用性。
下面将对Oracle ASM进行详细的概述。
Oracle ASM的主要目标是简化数据库存储的管理和维护。
它将数据文件和日志文件直接映射到操作系统的文件系统,而无需使用文件系统路径来引用它们。
这样做的好处是,ASM可以自动管理多个存储设备(如磁盘组),并为数据库文件提供统一的访问接口。
这样,数据库管理员就可以更轻松地管理存储设备,并且不需要了解底层的物理存储细节。
ASM使用逻辑概念来管理存储,这使得它与底层的物理存储设备解耦。
例如,ASM使用概念上的“磁盘组”来组织存储设备。
磁盘组是一个逻辑容器,它包含多个物理设备(如磁盘)并提供统一的命名空间。
ASM将数据文件分布在磁盘组的多个磁盘上,以提高性能和可靠性。
它还使用“重定义”来保持文件的完整性,并提供与文件相关的一致性保护机制。
使用ASM,数据库管理员可以更容易地配置和管理数据库存储。
例如,他们可以使用ASM命令来创建和管理磁盘组、向磁盘组添加/删除磁盘、创建/删除ASM实例等。
此外,ASM还提供了许多性能和可靠性方面的优势。
例如,ASM可以自动在磁盘组的多个磁盘上分布数据库文件,以提高I/O性能。
它还可以通过数据文件重定义来自动修复数据坏块,从而提供更高的数据可靠性。
另一个重要的特性是ASM可以与Oracle数据库实例无缝集成。
ASM可以自动识别ASM实例中的数据库文件,并为每个文件提供统一的命名约定。
这意味着数据库管理员可以在ASM文件系统中直接引用数据文件,而无需指定文件系统路径。
这大大简化了数据库管理中的一些重要任务,如备份和恢复操作。
值得注意的是,ASM并不是Oracle数据库的唯一存储选项。
[OracleASM全解析]OracleASM简介
这个专题讲ASM相关的内容
今天先简单介绍下ASM
内容主要来自官方文档,加上一些自己的理解及实践
ASM简介
1.Oracle ASM是Oracle提供的一个供Oracle文件使用的卷管理方案和文件系统,它支持Oracle单实例及RAC
2.ASM 使用 disk group(磁盘组)存储数据,disk group由多个磁盘组成
•在同一个disk group里面的文件块会分散在各个磁盘中用来减少热点
•Oracle说它的性能可以和raw devices(裸设备)相媲美
•可以向disk group中增加和减少磁盘而不用关闭数据库ASM提供two-way 和three-way冗余机制来确保数据的安全性,你也可以不使用其冗余机制而使用raid来保护,但实际生产应该是两者都用的
ASM同时支持Oracle Managed Files (OMF) ,可以用它自动生成数据库文件至指定目录
后续内容
今天就简单介绍下ASM,下节开始讲ASM相关的概念,主要有:•Oracle ASM Instances
•Oracle ASM Disk Groups
•Mirroring and Failure Groups
•Oracle ASM Disks
•Oracle ASM Files。
1什么是ASMASM全称为Automated Storage Management,即自动存储管理,它是自Oracle10g这个版本Oracle推出的新功能。
这是Oracle提供的一个卷管理器,用于替代操作操作系统所提供的LVM,它不仅支持单实例配置,也支持RAC这样的多实例配置。
将给Oracle数据库管理员带来极大的方便,ASM可以自动管理磁盘组,并提供数据冗余和优化。
特别是对于企业极的大型数据库管理员来说,可以使管理员可以从管理成百上千个数据文件这些琐碎的日常事务中解脱开来,以便处理其它更为重要的事务上去。
在Oracle 10g这个版本之前,管理一个大型数据库成百上千个的数据文件对数据库管理员来说是一个既无技术含量又十分枯燥的工作,这要求数据库管理员要熟悉一些系统的LVM的相关知识,做好磁盘规化,LV的条带等相关的系统方面的相关操作。
而使用自动存储管理将大大减轻这方面的工作量,数据库管理员只需要管理少数几个磁盘组即可。
一个磁盘组是ASM管理的一个逻辑单元,由一组磁盘设备组成。
我们可以定义一个磁盘组作为数据库的默认磁盘组,Oracle会自动管理存储,包括创建、删除数据文件等。
Oracle会自动将这些文件与一个合适的数据库对象做关联,这样我们在管理这些对象时只需要提供对象的名称,而无需像以前那样提供详细的文件名。
ASM提供了很多有用的存储技术,如RAID和LVM(逻辑卷管理)等。
像这些技术一样,ASM允许你在一组独立的磁盘上创建一个单独的磁盘组。
这样就实现了单个磁盘组的I/O 均衡。
同时ASM还实现了条带化(Striping)和磁盘镜像(Mirroring)以提高I/O的性能和数据可靠性。
与RAID或LVM不同的是,ASM是在文件级实现的条带化和镜像,这样的实现方式给用户带了很大选择自由度,我们可以在同一个磁盘组中对不同的文件配置不同的存储属性,实现不同的存储方式。
2 11g中ASM都有哪些新特征2.1 快速重新同步(ASM Fast Mirror Resync)短暂的磁盘路径发生问题时,恢复ASM磁盘组(DISK GROUP)的允余性是很费时间的,特别是这种恢复操作需要重新布局整个磁盘组的情况下。