当前位置:  数据库>其它
本页文章导读:
    ▪What's ASM?      什么是ASM     automaticsotrage management-ASM,是Oracle 10g新推出的一个功能,对文件系统和逻辑卷进行整合统一管理,实现最佳性能和最大化资源利用。用来简化管理、存储数据库的:数.........
    ▪是否可以在网络共享磁盘上创建数据库?      在网上看到有人遇到数据库空间不够用,问是否可以创建数据库到网络共享磁盘? 答案是可以的。但是这种做法是不推荐的,性能可能会受到影响。   1.      2005/2008 .........
    ▪oracle创建触发器调用含参数存储过程      背景:在向数据表中插入数据时调用已定义的存储过程,对插入数据进行xml解析,该存储过程含参数, 解决方法:为插入数据表建立触发器,在触发器中调用存储过程 存储过程:请参见上一.........

[1]What's ASM?
    来源: 互联网  发布时间: 2013-11-07

什么是ASM

    automaticsotrage management-ASM,是Oracle 10g新推出的一个功能,对文件系统和逻辑卷进行整合统一管理,实现最佳性能和最大化资源利用。用来简化管理、存储数据库的:数据文件、控制文件和日志文件等等。

    ASM通过使用磁盘组以替代之前的管理众多单个文件的方式,使得这个过程变得简化了。ASM可以看做是Oracle Managed Files(OMF)的延伸出来的,在此基础上包含了条带化和镜像功能,以实现了平衡和安全的数据存储。ASM可以使用原始的裸设备、文件系统分区、NFS和SAN存储等。

    ASM通过ASM Instance来实现相关功能,ASM实例和RDBMS实例类似,不过更为小巧和轻量级,没有包含类似RDBMS物理数据文件,只需要几个参数即可启动一个ASM 实例,启动ASM实例之后会产生几个后台进程。

    ASM最总要的组件就是磁盘组(diskgroup)了,磁盘组包含若干物理磁盘组成一个单元,对应的物理磁盘就成为asm disk,具体的数据库文件的存放和命名则是通过ASM OMF自己控制的,这个你无法完全控制文件的所有属性(你可以通过使用aliases别名和目录结构使之变得更加友好)。

 

ASM带来的好处

 

减少管理工作的复杂性

Ø  简化和减少日常管理工作

Ø  自动进行I/O负调优

Ø  减少需要管理的对象,取而代之是管理DISKGROUP\DISK等,以及OMF的优势

Ø  简化数据库存储配置,在线存储迁移

Ø  减少人为的在操作系统层面误操作带来的删除文件操作风险,因为只能通过ASM Instance进行管理

 

    减少像管理数据和存储的工作的复杂性,使得数据库安装、增加或减少磁盘的工作大大简化,通过管理磁盘组而不是众多文件来减少工作量,把众多磁盘聚合成DISKGROUP作为一个管理单元。

    DBA可以通过SLQ*PLUS、Enterprise Manager、DBCA和ASMCMD等工具来管理ASM,通过几条简单的命令来实现磁盘的增删改,ASM会自动在后台重新分布数据到所有磁盘,但是同时保持数据库不间断地运行。

    ASM的条带花是有别于传统的RAID的方式,ASM无需重新条带花所有数据,这将会减少I/O的操作以提高性能。

    在RAC环境中,使用ASM可以让DBA不在需要系统管理员或者存储管理员的全程配合就可以完成数据库的文件使用,以往需要针对数据文件预先创建LV,但是现在DBA使用使用一条简单的命令就可以了,此外,ASM还隐藏了系统路径的复杂因素,这在RAC环境中无疑消除了更多的复杂性。

 

分散I/O压力

    ASM在所有磁盘上分布数据以带来性能,通过ASM特有的条带花功能,提供更加灵活的磁盘配置,更重要的是减少了磁盘争用和高I/O吞吐量。ASM提供1MB大小的分配单元(AU Allocation Unit),ASM使用指针链接的方式来表示文件块位置,这使得ASM在移动数据的操作中最小化工作量;对于某些需要快速I/O返回的操作,比如日志文件和控制文件,ASM提供了128k的细粒度的条带化,这将允许并行操作多个磁盘以便减少延迟。

 

镜像功能

    ASM提供了3种级别的镜像冗余:正常、高级别和外部冗余。默认情况下是正常级别的,需要设置至少两组的故障组;高级别需要至少三组故障组;而外部级别则不提供故障组,使用基于存储硬件的冗余功能,这个也是Oracle推荐的方式。

 

直接I/O,避免OS缓存;

可以使用异步I/O;

自动实现I/O性能最大化;

使用条带化分散热点区域;

提供文件块级别的镜像功能;

在线添加、删除存储磁盘,并在所有磁盘上均匀的重新分布数据;

突破文件系统文件大小限制;

最大化利用资源;

-The End-

作者:gtlions 发表于2013-2-26 10:19:26 原文链接
阅读:50 评论:0 查看评论

    
[2]是否可以在网络共享磁盘上创建数据库?
    来源: 互联网  发布时间: 2013-11-07

在网上看到有人遇到数据库空间不够用,问是否可以创建数据库到网络共享磁盘? 答案是可以的。但是这种做法是不推荐的,性能可能会受到影响。

 

1.      2005/2008 在网络共享磁盘上创建数据库

 

在2005和2008上默认是不可以在网络共享磁盘上创建数据库的,因为可能会因为网络原因导致数据库的完整性出现问题,同时伴随着IO性能损失导致数据库出现问题。Microsoft KB #304261.但是我们可以通过开启Trace Flag 1807使SQL Server在网络共享磁盘上创建数据库:

 

Step 1. 启动Trace Flag 1807

 

DBCCTRACEON(1807, -1)

 

Step 2. 确保SQL Server Service账户对网络共享磁盘有Full Control权限。

 

Step 3. 创建数据库

 

CREATEDATABASE [networked]ON PRIMARY
( NAME = N'networked', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked.mdf' , SIZE =3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'networked_log', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked_log.ldf' ,SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

 

2. 2008 R2及之后版本:

 

从2008R2以后就没有了之前的限制,可以直接创在网络共享磁盘创建数据库(UNC path).

 

Step 1. 确保SQL Server Service账户对网络共享磁盘有Full Control权限。

 

Step 2. 创建数据库

 

CREATEDATABASE[networked_r2] ON PRIMARY
( NAME = N'networked_r2', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked_r2.mdf' , SIZE= 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'networked_r2_log', FILENAME = N'\\varund-win7\ATOMNETWORKDB\networked_log_r2.ldf' ,SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

 

更多信息参考:

http://blogs.msdn.com/b/varund/archive/2010/09/02/create-a-sql-server-database-on-a-network-shared-drive.aspx

 

作者:SmithLiu328 发表于2013-2-26 12:04:05 原文链接
阅读:6 评论:0 查看评论

    
[3]oracle创建触发器调用含参数存储过程
    来源: 互联网  发布时间: 2013-11-07

背景:在向数据表中插入数据时调用已定义的存储过程,对插入数据进行xml解析,该存储过程含参数,

解决方法:为插入数据表建立触发器,在触发器中调用存储过程

存储过程:请参见上一篇博客文章  oracle中使用存储过程解析xml字符串

插入语句为:insert into t_xml(2,  ‘<item><cpu_name>name1</cpu_name><value>80%</value></item>’)

触发器建立:

create or replace trigger TRG_t_PARSE

  before insert on t_xml

  referencing

  for each row

declare

  -- local variables here

  --pragma autonomous_transaction;--自治事务,子事务可以有commit

begin 

  p_parse(:new.id);  --调用存储过程,传参数:new.id

  --commit;

endTRG_t_PARSE;

作者:whx_1113 发表于2013-2-26 12:55:06 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
▪gc buffer busy/gcs log flush sync与log file sync    ▪让你的PL/SQL更好用    ▪ADO.NET中的非脱机数据库查询
▪参数job_queue_processes与Oracle jobs    ▪11gR2游标共享新特性带来的一些问题以及_cursor...    ▪_library_cache_advice和latch:shared pool、latch:shared poo...
▪SQL: Date Utility    ▪DB2 分区表增加分区    ▪DB2第一步 — 创建表
▪oracle 数据库    ▪插入10万条记录测试    ▪rebuild index VS. rebuild index online
▪如何处理undo tablespace 表空间太大的问题    ▪ado执行存储过程中包含结果集获取输出参数为...    ▪oracle函数的demo
▪Entity Framework 学习建议及自学资源    ▪存储过程的编写    ▪Linux/Unix shell 自动发送AWR report(二)
▪第二章 Oracle恢复内部原理(基础数据结构)    ▪Redis源码学习之【Tcp Socket封装】    ▪Java Jdbc减少与Oracle之间交互提升批量处理性能...
▪南大通用GBase8a Vs Oracle11g 单机测试亲测    ▪oracle 中行列转换    ▪rhel下安装oracle10g+asm---测试环境搭建
▪Redis系列-主从复制配置    ▪MySQL索引与查询优化    ▪INDEX受到NULL值的影响
▪测试人员的SQL语言 系列    ▪SQL数据库基本语句    ▪MySQL Replication常见错误整理[持续更新...]
▪eclipse下建立esper的demo    ▪把oracle rac 转化为单机数据库    ▪Redis系列-存储篇sorted set主要操作函数小结
▪基本的SQL*Plus报表和命令    ▪druid简单教程    ▪11g调度--scheduler使用
▪EF基础一    ▪db2存储过程中循环语句while do的continue有没有...    ▪oracle 创建DBLINK
▪DB2数据库备份还原    ▪Warning: prerequisite DBD::mysql 1 not found错误解决方...    ▪innotop性能监视mysql,innodb工具
▪数据迁移:DataGuard配置    ▪QX项目实战-19.跨库数据同步    ▪Mysql EXPLAIN
▪Oracle 11g AWR 系列七:Active Session History (ASH) 报...    ▪Oracle 11G新特性(共36个)    ▪父子节点问题
▪OEM简介及按钮乱码问题    ▪NoSql之MongoDB的常用类管理    ▪ORA-39700: database must be opened with UPGRADE option
▪node.js 访问redis数据库,pub/sub    ▪使用DBMS_REDEFINITION在线重定义分区表    ▪SQL Developer 使用问题与解决方法汇总
▪oralce 11g dataguard 概念    ▪ORA-30004 错误处理    ▪oracle分组函数rollup,cube
▪Sql Developer 使用问题与解决方法汇总    ▪Configure Oracle Dataguard Primary-ASM to Physical-ASM    ▪Oracle Data Guard 理论知识
▪Control File 恢复    ▪Oracle数据文件收缩    ▪Oracle 11g AWR 系列五:如何生成 AWR 报告?
▪Wireshark数据包分析实战(第2版)    ▪MySql用户权限控制    ▪db2和oracle查询序列区别
▪更新blob字段的存储过程    ▪MySQLReport分析报告三    ▪DB2中的序列
▪Oracle中DBMS_RANDOM.STRING 的用法    ▪SQL SERVER无法安装成功,sqlstp.log文件提示[未发...    ▪Data Guard 部署物理备库的 10 大注意事项
▪万能数据库查询分析器使用技巧之(九)    ▪SQL 自定义Split函数    ▪视图 v$sql,v$sqlarea,$sqltext,v$sqltext_with_newlines 的...
▪Data Guard Standby_archive_dest 和 Log_archive_dest_n 的...    ▪机房收费系统数据库设计(一)    ▪利用putty的SSH tunnel连接Oracle
▪DBCA建库偶遇ORA-27125    ▪使用PowerPivot建立简单的分析模型    ▪Linux/Unix shell 自动发送AWR report
▪写入到blob字段的存储过程    ▪关于JDBC中ResultSet接口的一点细节探究    ▪Data Guard 配置 Standby Redo Log
▪linux下redis的安装    ▪windows下redis的安装    ▪手动创建数据库步骤(简单翻译官方文档)
▪Ubuntu安装Mongodb    ▪SQL CLR应用    ▪redis的配置文件参数--详细说明
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3