ASM

ASM_基本知识

六月ゝ 毕业季﹏ 提交于 2020-01-01 22:21:13
自动存储管理:ASM(automatic storage management) 1.OMF(oracle managed files):在创建数据库时,或者在数据库运行的过程中,如果要创建表空间、重做日志文件、控制文件,可以把磁盘组指定为文件的存储位置。文件的名称和大小可以省略,oracle将利用自动文件管理功能创建并且管理这些文件。 2.ACFS(ASM CLUSTER FILE SYSTEM):ASFS是一种建立在ASM磁盘组中的跨平台、可扩展的集群文件系统,在这种文件系统中,可以存储oracle数据库软件的可执行文件、数据库的跟踪文件、警告文件、视频、音频等类型的文件。不能存储数据库文件,所有能存储在ASM磁盘组中的文件都不能存储在ACFS中。 3.安装GI时,OCR和voting 文件可以存储在ASM磁盘组中。安装oracle软件时,可以把软件存放在ASM磁盘组中的ACFS类型的文件系统中。在创建数据库时可以 把数据文件、控制文件和重做日志文件存放在ASM磁盘组中,而把数据库的跟踪文件、警告文件等存放在磁盘组中的ACFS类型的文件系统中。 ASM实例的创建 1.命令行创建ASM实例 ASM实例相关的初始化参数: INSTANCE_TYPE:实例类型,设置为ASM INSTANCE_NAME:ASM实例的名称在第一个节点上默认为+asm1以此类推 ASM_POWER

【ASM】ASMSNMP用户已存在

Deadly 提交于 2020-01-01 04:43:27
【 ASM 】 ASMSNMP 用户已存在 During Oracle Grid Infrastructure for a cluster installation, the ASMSNMP account is created and its status is set to OPEN. It is granted the SYSDBA for ASM privilege. Oracle Enterprise Manager requires access to the ASMSNMP account to monitor Oracle ASM instances and retrieve data from ASM-related data dictionary views. 根据官方文档资料,可见 ASMSNMP 用户是在集群安装过程中,创建 GRID 的时候创建的用户。该用户为 OPEN 状态并被赋予了 SYSDBA 权限。 OEM 需要该用户来监控 ASM 实例并从 ASM 实例相关的数据字典中获取数据。 客户在安装 EM 的时候,在 ASM 实例下需要建立 ASMSNMP 用户: SQL> create user asmsnmp identified by oracle123; create user asmsnmp identified by oracle123 *

ASM共享磁盘组冗余模式变更方案

倖福魔咒の 提交于 2019-12-31 17:51:27
目录 1、方案背景 1.1 需求: 1.2 备份数据库 2、迁移步骤 2.1 创建磁盘组 2.1.1 新建磁盘组 2.1.2 查看磁盘组 2.2 迁移控制文件 2.2.1 现环境 2.2.2 迁移方法 2.2.3 迁移步骤 2.3 迁移数据文件 2.3.1 现环境 2.3.2 迁移方法 2.3.3 迁移步骤 2.4 迁移临时文件 2.4.1 现环境 2.4.2 迁移方法 2.4.3 迁移步骤 2.5 启动二节点 2.5.1 启动到nomount 2.5.2 修改控制文件 2.5.3 重启至open状态 2.6 迁移日志文件 2.6.1 现环境 2.6.2 迁移方法 2.6.3 迁移步骤 2.7 迁移参数文件 2.7.1 现环境 2.7.2 迁移方法 2.7.3 迁移步骤 2.8 更新crs配置 2.8.1 现环境 2.8.2 修改参数文件配置 2.8.3 修改磁盘组配置 2.8.4 删除旧磁盘组 3、启动数据库 3.1 启动数据库 3.2 检查数据库 4.1 创建磁盘组回退 4.1.1图形界面 4.1.2 命令行 4.2 回退控制文件 4.2.1 更改控制文件参数 4.2.2 restore控制文件 4.3 回退数据文件 4.3.1 拷贝数据文件 4.3.2 切换数据文件 4.3.3 修改参数 4.4 回退临时文件 4.4.1 新建临时表空间 4.4.2 更改默认临时表空间 4.4

11g R2集群部署

好久不见. 提交于 2019-12-31 16:54:45
安装环境准备 I.服务器硬盘空间要求 /tmp目录大小至少:1GB 安装Grid Infrastracture所需空间:6.6GB 安装Oracle Database所需空间:4GB 此外安装过程中分析、收集、跟踪文件所需空间:10GB 建议总共至少30GB,放心!(此处不包含ASM或NFS的空间需求) II.服务器内存要求 内存大小:至少2.5GB Swap大小: 当内存为2.5GB-16GB时,Swap需要大于等于系统内存。 当内存大于16GB时,Swap等于16GB即可。 共享磁盘 重要!非常重要!请仔细阅读这段话! 用于创建ASM磁盘用的盘,需要通过网络共享到4个计算节点,可以采用iscsi服务的方式把存储节点的磁盘映射到计算节点 本文的教程不涵盖iSCSI教程,也就是说如果你不会映射磁盘到计算节点,那就别往下看了,因为asm磁盘管理方式有high冗余和normal冗余 即使你在搭建的过程不创建存放数据用的asm磁盘组,但是vote仲裁机制必须建立 如果asm采用high冗余那么voting盘最低需要5块磁盘,如果是normal冗余,voting盘最低需要3块磁盘 iscsi配置磁盘映射 搭建iscsi服务 二十一、配置server提供一个iSCSI共享服务 安包 yum -y install targetcli* 分区 fdisk /dev/sda partprobe

安装oracle12C RAC时可跳过gimr安装

断了今生、忘了曾经 提交于 2019-12-26 18:40:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在安装12C GI的过程中,会要求安装 GIMR 的数据库MGMTDB,当然你可能会选NO。在12.1.01版本时是可以选择GIMR不安装,但是在12.1.0.2和12.2 版本中GIMR成了强制安装,即使在这里选择了NO,这里的YES和NO的区别只是把MTMTDB是存放在OCR ASM DISKGROU还是独立的创建ASM DISKGROUP. 12C r1是GIMR的位置是有OCR的路径决定的。 MGMTDB只是1个CDB包含1个PDB的完整的数据库环境,通常不需要人维护,存储的是GIMR的信息,用于存放 cluster health monitor 生成的一些操作系统级的负载指标,存储着历史信息用于分析性能和诊断问题,是全集成在EM 12C 中。 GIMR 存放的信息更多查看 the documentation here,而对于 cluster health monitor 是可以手动停止,使用下面的命令: $ crsctl stop res ora.crf -init $ crsctl delete res ora.crf -init 我们可以在安装gi的时候增加命令行 -J-D oracle .install.mgmtDB= false 来跳过MGMTDB的安装。 来源: oschina 链接:

谈谈ASM字节码框架在Spring源码的应用

你说的曾经没有我的故事 提交于 2019-12-26 12:23:56
什么是ASM? 引用ASM官方的介绍: ASM是一个通用的Java字节码操作和分析框架。它可以直接以二进制形式用于修改现有类或动态生成类。ASM提供了一些常见的字节码转换和分析算法,可以从中构建定制的复杂转换和代码分析工具。ASM提供了与其他Java字节码框架类似的功能,但主要关注性能。由于它的设计和实现尽可能小,速度尽可能快,因此非常适合在动态系统中使用(当然,也可以以静态方式使用,例如在编译器中)。 说白了就是我们可以通过使用ASM框架,来读取和修改.class文件。相比JDK反射技术来说,ASM提供了更方便的字节码读取方式,性能上也更加高效。 简单了解如何使用ASM框架 在ASM框架中有两个主要的类,一个是ClassVisitor,一个是ClassReader。 ClassReader接收一个输入流,读取.class文件时通过accept方法 回调 ClassVisitor的各类 visit开头 的方法; InputStream is = new BufferedInputStream ( resource . getInputStream ( ) ) ; ClassReader classReader = new ClassReader ( is ) ; classReader . accept ( visitor , ClassReader . SKIP_DEBUG )

ASM Type top (current frame, locals[3]) is not assignable 问题排查

好久不见. 提交于 2019-12-25 06:19:32
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 先说遇到的问题,Hasor 在1.6 和早期 1.7 jdk 下运行 asm 动态生成的字节码无任何异常。接着有反馈在 java8下出现类似如下异常,一开始并没有里会这个异常信息。找到一个解决办法是增加一个 -noverify 参数来压制这个校验异常。 最近比较好奇想寻找一下究竟为什么会出现 VerifyError 错误,下面是这个错误的全貌。 2017-02-15 11:03:47.423 [RSF-Nio-4] INFO - connected form 127.0.0.1:60618 2017-02-15 11:03:47.440 [RSF-Biz-1] ERROR - do request(12345) failed -> service [RSF]net.hasor.website.client.ProjectService-1.0.0, error :(net.hasor.core.utils.UnhandledException)java.lang.VerifyError - Inconsistent stackmap frames at branch target 101 Exception Details: Location: net/hasor/website/manager

ASM 系列详细教程-17-ASM Tree api 类组件组成详解

淺唱寂寞╮ 提交于 2019-12-23 21:38:56
组件组成 到目前为止,我们只看到了如何创建和转换ClassNode对象,但是还没有看到如何从类的字节数组表示形式构造ClassNode,反之亦然,如何从ClassNode构造此字节数组。 实际上,这是通过组合核心API和树API组件来完成的,如本节所述。 介绍 除了图6.1中所示的字段之外,ClassNode类还扩展了ClassVisitor类,并且还提供了一个接受方法,该方法将ClassVisitor作为参数。 accept方法根据ClassNode字段值生成事件,而ClassVisitor方法执行相反的操作,即根据接收到的事件设置ClassNode字段: public class ClassNode extends ClassVisitor { . . . public void visit ( int version , int access , String name , String signature , String superName , String [ ] interfaces [ ] ) { this . version = version ; this . access = access ; this . name = name ; this . signature = signature ; . . . } . . . public void accept

ASM 系列详细教程-01-ASM 入门简介

孤人 提交于 2019-12-23 07:25:03
ASM ASM 是一个通用的Java字节码操作和分析框架。 它可以用来修改现有的类或动态地生成类,直接以二进制形式。 ASM提供了一些通用的字节码转换和分析算法,可以从这些算法中构建自定义复杂的转换和代码分析工具。 ASM提供与其他Java字节码框架类似的功能,但主要关注性能。 因为它的设计和实现都尽可能地小和快,所以非常适合在动态系统中使用(当然也可以以静态的方式使用,例如在编译器中)。 特性 ASM 并不是生成和转换已编译Java类的唯一工具,但它是最近和最有效的工具之一。 可以从 http://asm.objectweb.org 下载。其主要优点有: 它有一个简单、设计良好、模块化的API,易于使用。 为最新的 Java 版本提供支持。 它很小,速度很快,而且非常健壮。 其庞大的用户社区可以为新用户提供支持。 它的开放源码许可允许你以任何你想要的方式使用它。 快速入门 jar 引入 < dependency > < groupId > org.ow2.asm </ groupId > < artifactId > asm-all </ artifactId > < version > 5.1 </ version > </ dependency > Hello World HelloWorld.java import org . objectweb . asm .

ASM 系列详细教程-03-ASM 类文件深入学习

帅比萌擦擦* 提交于 2019-12-23 04:48:28
Java 类文件 所谓 Java 类文件,就是通常用 javac 编译器产生的 .class 文件。 这些文件具有严格定义的格式。 为了更好的理解 ASM,首先对 Java 类文件格式作一点简单的介绍。 Java 源文件经过 javac 编译器编译之后,将会生成对应的二进制文件(如下图所示)。 每个合法的 Java 类文件都具备精确的定义,而正是这种精确的定义,才使得 Java 虚拟机得以正确读取和解释所有的 Java 类文件。 Java 类文件是 8 位字节的二进制流。 数据项按顺序存储在 class 文件中,相邻的项之间没有间隔,这使得 class 文件变得紧凑,减少存储空间。 在 Java 类文件中包含了许多大小不同的项,由于每一项的结构都有严格规定,这使得 class 文件能够从头到尾被顺利地解析。下面让我们来看一下 Java 类文件的内部结构,以便对此有个大致的认识。 例子 例如,一个最简单的 Hello World 程序: public class HelloWorld { public static void main ( String [ ] args ) { System . out . println ( "Hello world" ) ; } } 经过 javac 编译后,得到的类文件大致是: 从上图中可以看到,一个 Java 类文件大致可以归为 10 个项: