代码改变世界

随笔分类 -  数据库技术(Oracle)

浅谈数据库的分割技术[转载]

2013-01-25 11:55 by 潇湘隐者, 1521 阅读, 收藏,
摘要: 浅谈数据库的分割技术 电信信息化部/周陈雄 关健词 读写分离分布,垂直分割,水平分割,虚拟化存储,wEB 缓存分割, 存储 CACHE 缓存分割 随着社会的日益进步, 各行业的运营支撑系统都面临着越来越大的压力, 承受着业务数 据量、访问并发数的飞速增长的双重巨大压力,在我们电信行业,同样面临着这样的难题, 是否有一套适合可行的方案来应对呢?本文重点描述数据库的分割技术, 如果能适当的应用在生产中, 必然能极大减缓来自与 日俱增的业务量带来的巨大压力。 如何分割?我们可以从如下六个方面来考虑: 一、读写分离分布技术 由于数据库存在这样的特性, 索引可以提升查询的性能, 但却极大... 阅读全文

数据库表分割技术浅析

2013-01-25 10:55 by 潇湘隐者, 6653 阅读, 收藏,
摘要: 一.水平分割 什么是水平分割?打个比较形象的比喻,在食堂吃饭的时候,只有一个窗口,排队打饭的队伍太长了,都排成S型了,这时容易让排队的人产生焦虑情绪,容易产生混乱,这时一个管理者站出来,增加多个打饭窗口,把那条长长的队伍拦腰截断成几队。更形象一点的理解,你拿一把“手术刀”,把一个大表猛的切了几刀,结果这个大表,变成了几个小表. 水平分割根据某些条件将数据放到两个或多个独立的表中。即按记录进分分割,不同的记录可以分开保存,每个子表的列数相同。水平切割将表分为多个表。每个表包含的列数相同,但是数据行更少。例如,可以将一个包含十亿行的表水平分区成 12 个表,每个小表表示特定年份内一个月的数据。.. 阅读全文

监听服务管理

2012-12-19 19:02 by 潇湘隐者, 9353 阅读, 收藏,
摘要: 如果你想管理(启动、关闭等)ORACLE数据库的监听服务,在Windows/Linux平台,你都可以通过lsnrctl命令来实现,下面我们主要讲一下如何用lsnrctl命令来管理监听服务(我在两台数据库(不同平台、不同版本)分别操作,暂且叫为服务器A、服务器B):1:查看服务监听命令的详细帮助信息服务器A:Red Hat Enterprise Linux Server release 6.0 (Santiago) ORACLE 10[oracle@DB-Server ~]$ lsnrctlLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 阅读全文

ORACLE同义词总结

2012-12-19 14:59 by 潇湘隐者, 95477 阅读, 收藏,
摘要: 同义词概念Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;Oracle数据库中提供了同义词管理的功能。同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词 阅读全文

ORA-12170:TNS:连接超时

2012-12-14 17:32 by 潇湘隐者, 151304 阅读, 收藏,
摘要: 在Red Hat Enterprise Linux Server Releae 5.5 成功安装ORACLE 10g 后,在客户端配置TNS后,测试是否可以连接到数据块服务器,结果报错: ORA-12170:TNS:连接超时1:首先检查网络是否能ping通,如下所示,网络是畅通的。2:检查TNS配置(TNS配置也没有问题)GSP =(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = 172.20.36.79)(PORT = 1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = gsp)))3: 阅读全文

ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME

2012-12-14 15:27 by 潇湘隐者, 120129 阅读, 收藏,
摘要: 客户端配置好服务名后,用PL/SQL Developer连接数据库时,报错:ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME。一般这种情况请检查tnsnames.ora文件中TNS是否配置正确,如下所示,SERVICE_NAME 名字弄错了,结果报如上错误:GSP = (DESCRIPTION = (ADDRESS =(PROTOCOL = TCP)(HOST = 172.20.36.79)(PORT = 1521)) (CONNECT_DATA= (SERVER = DEDICATED) ... 阅读全文

iSQL*PLUS配置设置

2012-12-11 20:08 by 潇湘隐者, 7782 阅读, 收藏,
摘要: iSQL*PLUS介绍iSQL*PLUS是从ORACLE 9i开始提供的新功能,是SQL*PLUS的Web形式(ORACLE 11g已经不支持)。是基于三层结构设计的。其client、middle、server可以位于同一台机器上也可以位于不同的机器。iSqlPlus不需要单独安装,通过isqlplus,用户可以不需要安装任何ORACLE客户端,就能够通过浏览器方式的使用SQL*PLUS进行数据操作与数据库管理。普通的数据库用户可以直接通过isqlplus的网址http://ip:port/isqlplus登陆,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆;但如果是 阅读全文

ORACLE——重做日志文件管理

2012-08-09 22:53 by 潇湘隐者, 16061 阅读, 收藏,
摘要: 联机重做日志文件概念联机日志文件又叫重做日志文件,记录了对数据库修改的信息,包括用户对数据修改和数据库管理员对数据库结构的修改。它主要用于在发生故障的时候和数据库备份文件配合恢复数据库,一般发生故障有2个情况:一个是介质损坏另外一个是用户误操作。每个数据库至少有两个日志文件组,每组至少包含1个或者多个日志成员,这里要多个日志成员的原因是防止日志文件组内某个日志文件损坏后及时提供备份,所以同一组的日志成员一般内容信息相同,但是存放位置不同。在Oracle数据库中,执行数据修改操作后,并不是马上写入数据文件,而是首先生成重做信息,并写入SGA中的一块叫LOG_BUFFER的固定区域,LOG_BUF 阅读全文

ORACLE——Instant Client配置SQL*LDR、EXP等命令工具

2012-07-06 00:18 by 潇湘隐者, 15397 阅读, 收藏,
摘要: 在Linux系统中安装了ORACLE客户端Instant Client,但是它缺少SQL*LOADER、IMP等工具,那么怎么安装这些工具呢?直接从同版本的数据库服务器的安装文件中拷贝sqlldr文件过来,执行sqlldr会报如下错误:Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL[etl@m1 instantclient_10_2]$^C 事实上也只能通过拷贝文 阅读全文

ORACLE查看数据库安装补丁情况

2012-06-30 15:32 by 潇湘隐者, 24349 阅读, 收藏,
摘要: 查看ORACLE数据库的版本以及补丁情况,可以通过opatch lsinventory命令来查看,Linux版本和Windows版本几乎差不多(测试的两台机器都没有打补丁。呵呵!):先看一下Windows平台的设置:首先转到ORACLE_HOME目录,然后切换到OPatch目录:(如下所示)E:\>cd E:\app\kerry\product\11.2.0\dbhome_1E:\app\kerry\product\11.2.0\dbhome_1>cd OPatch如果首先没有设置ORACLE_HOME目录,则会报如下错误:E:\app\kerry\product\11.2.0\d 阅读全文

断开网线后监听服务器配置

2012-06-30 15:14 by 潇湘隐者, 1089 阅读, 收藏,
摘要: 笔记本拔掉网线后,从服务启动ORACLE监听服务器时报错(如下图所示)通过命令启动查看具体错误信息如下所示:查看具体的报错日志信息log.xml,如下所示:代码<msg time='2012-06-30T13:58:04.381+08:00' org_id='oracle' comp_id='tnslsnr'type='UNKNOWN' level='16' host_id='KERRY-PC'host_addr='fe80::bdcd:f603:9ae2:a99%16'> 阅读全文

ORA-00060错误

2012-06-27 21:21 by 潇湘隐者, 5653 阅读, 收藏,
摘要: 今天有个同事说生产机有个PERL脚本老是报死锁的错误,脚本里面开启了并行度:错误如下:Failure: ORA-12801: error signaled in parallel query server P126, instance NMS_ODS_NDB1:wgods1 (1)ORA-00060: deadlock detected while waiting for resource (DBD ERROR: OCIStmtExecute)检查了所有的脚本后,发现没有其他会话、进程造成脚本里面ODS表的死锁,后来搜索发现http://jidongzheng.itpub.net/post/3 阅读全文

ORACLE数据库查看执行计划

2012-05-24 22:28 by 潇湘隐者, 38031 阅读, 收藏,
摘要: 基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明。一、什么是执行计划(explain plan)执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述。二、如何查看执行计划1: 在PL/SQL下按F5查看执行计划。第三方工具toad等。很多人以为PL/SQL的执行计划只能看到基数、优化器、耗费等基本信息,其实这个可以在PL/SQL工具里面设置的。可以看到很多其它信息,如下所示2: 在SQL*PLUS 阅读全文

Linux平台ORACLE INSTANT客户端安装

2012-05-19 22:57 by 潇湘隐者, 7399 阅读, 收藏,
摘要: 下载安装文件先去ORACLE官方网站下载所需版本的Instant Client Package 和 Instant Client Package - SQL*Plus安装包,(千万注意版本)http://www.oracle.com/us/solutions/linuxx86-64soft-092277.htmlhttp://www.oracle.com/technetwork/topics/linuxsoft-082809.html这两个地址分别是linux 32和64位操作系统的下载地址。我下载了如下几个安装文件basic-10.2.0.4.0-linux-x86_64.zipsqlplu 阅读全文

ORACLE数据库链接

2012-05-17 22:43 by 潇湘隐者, 13177 阅读, 收藏,
摘要: 在ORACLE里面,远程数据访问,像查询、更新等可以通过Database Link来实现。数据库连接需要在建立Database Link的两台机子上都运行Oracle Net(以前叫SQL*NET 和NET 8)。 语法如下1 Database Link 的创建:有两个数据库服务器A/B, 其中A的IP地址为172.20.36.245, 服务器B为本机。服务器B上的数据库实例名为ORCL,在本机上的服务监听配置上有服务器A上实例配置:BIWG_TEST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.36.245)(PORT = 阅读全文

ORA-12154: TNS:could not resolve the connect identifier specified

2012-05-16 23:48 by 潇湘隐者, 10022 阅读, 收藏,
摘要: 在安装ORACLE安装的时候,报如下错误:ORA-12154: TNS:could not resolve the connect identifier specified。如下图所示: 折腾了很久才找到罪魁祸首:原来在安装数据库时,设置用户密码的时候里面包含了@符号,引起了这个错误,这个错误倒是有点诡异,应该是ORACLE连接DB时就把口令@后面的串当连接字用了。所以切记注意这个,否则很难发现问题。 阅读全文

Rhel-Server 5.5 安装ORACLE10

2012-05-15 23:44 by 潇湘隐者, 2738 阅读, 收藏,
摘要: VMWARE + REDHAT + ORA10先说一下环境,操作系统为Microsoft Windows Server 2003,安装的是虚拟机VMware Workstation Version 7.1.2 build-301548,虚拟机上选择安装的是Redhat Enterprise Linux 5。1:安装虚拟机工具:虚拟机工具是VMware虚拟机中自带的一种增强工具,相当于VirtualBox中的增强功能(Sun VirtualBox Guest Additions),可以大幅度的增强虚拟机和主机的交互能力,和显著提供虚拟机的性能。比如,安装虚拟机工具后,虚拟机的显示效果会增强。另一 阅读全文

ORACLE约束总结

2012-05-13 08:36 by 潇湘隐者, 39590 阅读, 收藏,
摘要: 你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了。ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本ORACLE是否不同)?视图有约束吗?约束是否会影响SQL性能? 约束信息存储在哪些系统视图、数据字典中?约束能否修改名称?能否禁用约束?延迟约束有啥好处.......约束定义约束是强加在表上的规则或条件。确保数据库满足业务规则。保证数据的完整性。当对表进行DML或DDL操作时,如果此操作会造成表中的数据违反约束条件或规则的话,系统就会拒绝执行这个操作。约束可以是列一级别的 也可以是表级别的。定义 阅读全文

裸设备知识介绍【转载】

2012-05-08 23:50 by 潇湘隐者, 931 阅读, 收藏,
摘要: 【转自http://www.chinaunix.net/jh/19/272188.html】裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。本文收集裸设备和Oracle问答20例。 1.什么叫做裸设备? 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。 2.如何辨别裸设备? 在Unix的/dev目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。 字符设备特殊文件进行I/O操作不经过操作系统的缓冲区,而块设备特殊文件... 阅读全文

ORA-27125: unable to create shared memory segment

2012-04-23 19:38 by 潇湘隐者, 4183 阅读, 收藏,
摘要: 平台环境:Linux Red Hat Enterprise Linux Server release 6.0 (Santiago)数据库版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi安装好ORALCE数据库后,启动数据库就会报如下错误参考http://www.eygle.com/archives/2011/12/hugepageshugetl.html 文章,说跟hugetbl有关,只需按如下操作[root@DB-Server ~]#id oracle uid=501(oracle) gid=502(oin 阅读全文