




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库监听器停止与启动切换至安装oracle数据库的那个用户,一般为oracle(在root下是安装或是启动不了oracle的);# su oracle然后启动监听器# lsnrctl start会看到启动成功的界面;停止监听器命令.lsnrctl stop可以修改oracle的ora文件,对数据库进行配置,在opt/oracle/product/9.2.0/network/admin 目录中,修改相应的ora文件即可.就目前网络上出现的有关“Oracle缓存表”的疑问,小编在网上查找整理了一些,希望能帮助到大家。Oracle缓存表(db_buffer_pool)由三部分组成:buffer_pool_defualtbuffer_pool_keepbuffer_pool_recycle如果要把表钉死在内存中,也就是把表钉在keep区。相关的命令为:alter table 表名 storage(buffer_pool keep); 这句命令把表示表如果缓存的话是缓存在keep区。可以通过语句:select table_name from dba_tables where buffer_pool=KEEP;查询到该表是放在keep区中的。 但是不意味着表已经被缓存了。下面的语句把表缓存:alter table 表名 cache; 可以通过select table_name from dba_ tables where rtrim(cache)=Y 查询到该表已经被缓存了。加入到keep区的表不是说不能被移出内存,不过是比较不容易移出内存。也可以手工来移出内存,命令如下:alter table . nocache; Cache Connect to Oracle 是 Oracle 内存数据库 TimesTen 的一个选件,可以为 Oracle 数据库提供实时的可更新缓存。缓存表驻留在应用程序层,并从后端系统卸载计算周期,从而实现响应能力极强且可伸缩的实时应用程序。(产品数据表)企业数据库中的大部分数据都是历史数据,并且很少有人访问。但是,掩藏在这些数据下面的信息应该能够在被请求时可即时访问。您的最佳客户、未完成的订单、最近的事务以及产品目录都是很好的示例。Cache Connect to Oracle 能够在 Oracle 内存数据库 TimesTen 中自动复制和管理这些信息,以供他人实时访问。Cache Connect to Oracle 提供了 Oracle 数据库与 Oracle 内存数据库 TimesTen 之间的连接和双向数据传输。 大多数缓存产品都是只读的,因此只限于一组很少的功能。由于 Cache Connect to Oracle 支持完全的 SQL 读/写操作,因此可以用于众多不同种类的应用程序。例如,以网速捕获和处理数据、在线商务、证券交易系统、计费、实时业务流程监控、实时数据分析,以及只读缓存不适用的其他事务处理系统。其他示例还包括引用数据(如订阅者配置文件)以及查询表以了解授权和网络配置,其中缓存在每个处理周期开始时加载,随后在发生更改时更新。Cache Connect to Oracle 是为使用 Oracle 数据库特性和界面专门设计的。该产品支持与 Oracle 数据库相同的推荐数据库字符集和主流数据类型,以确保能够通过兼容的语义和操作存储和处理数据。Cache Connect to Oracle 使用了“缓存组”的概念,来描述一组映射到 Oracle 数据库中的所有表或部分表的内存数据库表。缓存组可以包含这些表的所有或部分行和列。可以使用多个缓存组来缓存 Oracle 数据库中不同的相关表集合。对 Oracle TimesTen 中缓存表的更新可以同步或异步地写入 Oracle 数据库,这取决于性能和一致性之间的折衷。 对于只读缓存组,Oracle 数据库的增量更新只能异步刷新到 Oracle TimesTen 中的缓存表。Cache Connect to Oracle 的设计为即使在 Oracle 数据库服务器或网络连接丢失的情况下也能继续运行。 系统可以跟踪向 Oracle TimesTen 中的缓存表提交的事务,并在连接恢复时立即将其传送到 Oracle 数据库。 同样,系统还可以跟踪向 Oracle 数据库中的缓存表提交的事务,并在与 Oracle 数据库的连接恢复时立即将其刷新到 Oracle TimesTen。2008-06-28Oracle 高速批量速插入数据 解决方案最近做短信群发项目有一个需求,需要客户大批量(十万级)导入数据.开始是用insert单条数据,10万条数据要20分钟后来发现可以用insert all 一条sql一次导入500条记录,这样10万条数据只用了1.5分钟,导入速度提高了近来20倍下面就使用insert all的心得体会记录如下.使用方法:insert all into table_name(col_1,col_2) values (value_1,value_2) into table_name(col_1,col_2) values (value_1,value_2) into table_name(col_1,col_2) values (value_1,value_2) . into table_name(col_1,col_2) values (value_1,value_2)select 1 from dual需要注意几点:1.此sql语法上要求后面有select,在本例中,select 1 from dual其实是没有意义的,但必须加上,维护语法上的完整性.2.所有列数不能超过1000,超过抛出异常3.oracle 9i版本及以上版本支持此语法大量Insert时ORACLE在做什么首先ORACLE遵循一下一些原则:1. Insert的数据首先保存在内存中,SGA的块高速缓冲区中(以下简称 Block Buff)。2. Insert操作将产生回滚信息,保存在回滚段中。回滚段信息同样首先在SGA块Buff中缓存(简称 Rollback Buff)。3. 1和2都将产生重做日志信息。重做日志同样先在SGA的重做日志高速缓冲区中缓存(简称 Redo Buff)。4. Commit时,ORACLE只是将Rollback Buff和Redo Buff中的数据写到相应的文件中。为方便讨论,假设Insert的每条记录刚好占用一个块,Block Buff可缓存200块的数据。case 1:在Insert 200条记录时,部分数据无法在Block Buff中缓存,将出现什么情况?在Commit之前,在Block Buff满时,进行块的置换操作。同时所有的Insert操作都会产生Rollback记录。在Commit之后重新进行Select All将会产生什么情况(这时Block Buff无法保存所有的数据)?剩余的数据何时写入到磁盘中?ORACLE insert 性能比较在Oracle数据库中,不是提交越频繁越好。恰恰相反,批量提交可以得到更好的性能。这篇文章给大家简单展示一下在Oracle数据库中逐行提交于批量提交两者之间的性能差别。最后再给出一种可以极大改变性能的方法。1.创建表t_ref,并初始化880992条数据,用于后面的。实验secora10g create table t_ref as select * from all_objects;secora10ginsertinto t_ref select * from t;220248 rows created.secora10g /secora10g /secora10g /secora10g /secora10g /440496 rows created.2.编写一个简单的PL/SQL块来模拟逐行提交的情况,注意观察执行时间。我们的目标是将t_ref表中的数据全部插入到t中。secora10g set timing onsecora10g DECLARE 2 BEGIN 3 FOR cur IN (SELECT * FROM t_ref) LOOP 4 INSERT INTO t VALUES cur; 5 COMMIT; 6 END LOOP; 7 END; 8 /PL/SQL procedure successfully completed.Elapsed: 00:03:12.77逐行提交的情况下,一共用时3分12秒。3.再来模拟批量提交的情况。secora10g truncate table t;Table truncated.secora10g DECLARE 2 v_count NUMBER; 3 BEGIN 4 FOR cur IN (SELECT * FROM t_ref) LOOP 5 INSERT INTO t VALUES cur; 6 v_count := v_count + 1; 7 IF v_count = 100 THEN 8 COMMIT; 9 END IF; 10 END LOOP; 11 COMMIT; 12 END; 13 /PL/SQL procedure successfully completed.Elapsed: 00:01:27.69此时共用时1分27秒,大约是逐行提交方法一半的时间。由此可见,对于Oracle应该尽量以批量提交的方式来完成工作。4.最后我们使用Oracle更高级的方法完成上面的任务,体验一下极限速度。secora10g DECLARE 2 CURSOR cur IS 3 SELECT * FROM t_ref; 4 TYPE rec IS TABLE OF t_ref%ROWTYPE; 5 recs rec; 6 BEGIN 7 OPEN cur; 8 WHILE (TRUE) LOOP 9 FETCH cur BULK COLLECT 10 INTO recs LIMIT 100; 11 FORALL i IN 1 . recs.COUNT 12 INSERT INTO t VALUES recs (i); 13 COMMIT; 14 EXIT WHEN cur%NOTFOUND; 15 END LOOP; 16 CLOSE cur; 17 END; 18 /Elapsed: 00:00:09.75此时我们仅仅使用了不到10秒的时间就完成了曾经需要几分钟才能完成的任务。5.小结在Oracle数据库中,频繁的COMMIT会引起大量Redo Log的物理I/O,会极大的限制的性能。因此,为提高数据库性能,尽可能的批量提交。数据库海量数据插入的各种方案试验,大家来分析下前提:源表:一千万条以上记录,54个字段.exp导出文件2.8G以上。目的表:无索引,空表试验:A.本地插入。B.跨库插入初始化SQL select count(*) from A; COUNT(*)- 11387512已用时间: 00: 00: 47.08SQL create table test as select * from A where 1 alter table test move tablespace mydata;表已更改。已用时间: 00: 00: 00.00默认表空间太小。A.本地插入1。直接insert intoSQL insert into test select * from A;已创建11387512行。已用时间: 00: 07: 22.022。nologingSQL insert into test NOLOGGING select * from A;已创建11387512行。已用时间: 00: 07: 18.013。append参数SQL insert /* +append*/into test nologging select * from A;已创建11387512行。已用时间: 00: 07: 29.044。copy命令爆慢,等了一个小时以上,把进程关了。(当时看见进程在“锁”中,不知为何,我菜,不懂)B跨库插入1。直接insert intoSQL insert into test select * from Aora1;已创建11840772行。已用时间: 00: 15: 29.092。nologingSQL insert into test nologing select * from Aora1;(nologing和nologging有区别吗?)已创建11840772行。已用时间: 00: 14: 15.013。append参数SQL insert /* +append*/into test nologing select * from Aora1;已创建11840772行。已用时间: 00: 14: 17.01另外,有人说是nologing,有人说是nologging,昏了,再做了次SQL insert /*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络视频内容智能审核技术创新创业项目商业计划书
- 电竞主题酒店与度假村创新创业项目商业计划书
- 透明可视包装解决方案创新创业项目商业计划书
- 环保生活行为追踪应用创新创业项目商业计划书
- 精准医疗睡眠改善方案创新创业项目商业计划书
- 2025年中级专利导航项目分析师专业考试指南
- 生鲜食品配送工作流程管理
- 软件开发存在的不足及改进措施
- 2025年乡镇小学教师招聘面试技巧与模拟题集
- 2025年初级程序员代码能力测试模拟题
- 电气试验(第二版)11-057职业技能鉴定指导书职业标准试题库(仅高级工)
- 把未来点亮歌词打印版
- 全国211大学名单和985高校名单(表格+文档)
- 家长陪读承诺书【模板】
- 健康安全危险源识别、风险评估和风险控制表
- 深圳市失业人员停止领取失业保险待遇申请表样表
- 《诗经》英文简介PPT
- 四年级上册音乐全册西师版教案
- 圆锥滚子轴承产品设计
- SMT元器件焊接强推力测试标准doc
- ELA基础介绍PPT课件
评论
0/150
提交评论