pb9,连oracle数据库,isql session执行sql就崩溃。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pb9,连oracle数据库,isql session执行sql就崩溃。相关的知识,希望对你有一定的参考价值。

sql写在代码里一点事情没有,都能查出来,只要写到datawindow里就报错崩溃,在isql session里执行也报错。(sql就是很简单的select '1' from dual也报错,崩溃。)

参考技术A 具体报错内容截个图看看。

翻译自mos文章使用asm来部署 超大数据库(10TB到PB 范围)--针对oracle 10G


使用asm来部署 超大数据库(10TB到PB 范围)

參考原文:
Deployment of very large databases (10TB to PB range) with Automatic Storage Management (ASM) (Doc ID 368055.1)


范围:
本文适用于在全部平台上的asm配置。包含使用rac 和单实例 环境。
本文适用于超大数据库的创建。而且该数据库会增长到超过10TB级别。


挑战:
asm 元数据存储

解决方式:

au(分配单元) 是asm磁盘组中的主要的分配单位。默认情况下。asm au的大小被设置为1MB

asm data extents 裸设备,该裸设备来存放asm file的内容。
在oracle database 10g里边,每个data extent 是一个单独的au(分配单元)
因为这个extent 和au 的  1对1的映射(map)关系。在一个超大的数据库中。一个asm file extent map 能够增长到GB。在这个情况下。内存使用和打开文件的性能上,效率是及其低下的。

asm 提供了2个隐含參数,这两个參数同意你创建au大小为16MB 和 fine grain striping 大小为1MB(之前为128KB)  的 asm 磁盘组
这降低extent map size 到原来的1/16.  au 參数仅仅能用在磁盘组 建立的时候。当一个磁盘组被建立后,你不能改变这个磁盘组的au的大小

为了改变au size(也就是data extent size),你必须reset 以下的asm 隐含參数:从1MB改为16MB,fine grain stripe size 改为1MB
asm实例必须被关闭。_asm_ausize and _asm_stripesize 必须在asm实例的init.ora參数文件里被重置(reset),然后asm实例被重新启动,以继承该參数的新值。
o _asm_ausize=16777216
o _asm_stripesize=1048576
--->注意:以上值的单位为Byte

你必须改动asm file template 。为全部的file types 设置 stripe type 为‘FINE’,以使用1MB的striping。
这必须在asm diskgoup 被创建完之后做。


为了让这两个參数值生效,asm实例必须被重新启动。

当设置了这个两个隐含參数并重新启动了asm 实例之后,不论什么被创建的asm 磁盘组将会使用新的au size 和FINE  stripe size

为了在创建asm 磁盘组时。使用正常的1MB au size 和 128K FINE stripe size。这两个隐含參数应该被移除而且asm 须要被重新启动。


样例:
以下的样例建立 了一个au size(即:data extents size ) 为16MB的asm 磁盘组,而且对全部的datafile 来说,FINE striping size 为1MB

1. 关闭 asm 实例

2. 在asm 的init.ora文件里加入例如以下參数:
   _asm_ausize=16777216
   _asm_stripesize=1048576
3.重新启动asm 实例。

4.建立一个磁盘组:
CREATE DISKGROUP diskgroup_name disk ‘/devices/diska1‘,‘/devices/diska2‘;

5. 将all asm file 模板 改为 FINE grained:
   o ALTER DISKGROUP diskgroup_name ALTER TEMPLATE <tmpl> ATTRIBUTES (FINE);
   o Repeat this command for all ASM file types. Attributes types are listed
     below:
   o CONTROLFILE, DATAFILE, ONLINELOG, ARCHIVELOG, TEMPFILE, BACKUPSET,
     PARAMETERFILE, DATAGUARDCONFIG, FLASHBACK, CHANGETRACKING, DUMPSET,
     XTRANSPORT, AUTOBACKUP


16MB的 ausize 和  1MB的FINE grain striping 能有效的提供 1MB的 data striping 。同一时候。减少了asm file extent的过载。


这个配置 能在打开 asm file时更快,而且更有效的支持10TB 到PB 范围内的asm database

注意:
Apply the fix for Bug 5100163 in 10.2.0.4

This patch should be applied if you have created ASM Diskgroups with the AU size greater than 1MB and have fewer than 3585 user files.
The following command must be ran on each Diskgroup after applying the patch:
        ALTER DISKGROUP <DG_NAME> CHECK ALL REPAIR


 



































以上是关于pb9,连oracle数据库,isql session执行sql就崩溃。的主要内容,如果未能解决你的问题,请参考以下文章

oracleoradb10g_home1isql*plus无法启动错误1067

Firebird isql 和 ODBC 连接的区别

PB9.0数据窗口入门

zabbix odbc连接oracle报错libsqora.so.XX.1找不到的解决办法

用STM32中的PA11和PA12做CAN口,之前用PB8和PB9时心跳报文正常,管脚改成PA口就没了,发送接收正常。

在AIX上配置unixODBC - 驱动程序管理器无法打开lib