一些没听过的名词

今天开始大量留坑,慢慢填吧,갈길이 멀어... 갈길이

1.IBM

一家公司

2.EM

就是那个网页上打开的那个oracle管理的应用

 

3.linux虚拟内存

这是个大坑啊,操作系统得重看一遍了。。。。。

 

4.slab

装oracle时要把slab设几倍大?????说啥呢????

防止内存耗尽,但是尽量不要用slab,

5.内存泄漏

使用完了释放不了,内存用完了

6.padding out padding in

7.oracle 安装完第一步是打补丁,然后才建库,再打补丁,再升级库

库里有数据的时候,升级数据库要谨慎,按照readme一步一步,而且要备份,阿曼备份或者冷备,推荐阿曼

8.dct

9.report

10.Oracle压力测试

11.集群环境

12.aca???ap???rac

数据库高可用

rank 排名函数

13.oracle配置

14.Oracle备份恢复

15.归档

不能放在存储上,也不能放本地,最好单独放nars上,作为网卡????

16.oracle 是按cpu卖的????

17.关系型数据库

解决了数据冗余,数据库最怕的是不一致,冗余了改一个就要全改

18.性能转换

19.相关子查询???表和表的关联关系

20.buffer catch???

 

21.第二范式,第三范式

设计冗余以后可以加快查询速度

22.share pool 放的是执行计划

redo log buffer 放的是redo日志

buffer cache 数据文件,数据块

streams pool

large pool

      

           RMAN的存储进程会用到,共享服务器模式,并行的时候

java pool session用java实现的时候才会用到java pool

 

23.刷内存

所有常用的表的数据块都在buffer cache里面

LRU 最近最少使用

这里进行页置换的时候,选择最少使用的页

FIFO选择最先进来的页置换掉,可能出现Belady现象,就是明明分配的页面数增多了,但是缺页率反而升高了

 

 

24.keep buffer cache里面的东西轻易不会被调出来

keep里的一直放到lru的热端????

db_cache_Size是默认使用的

db_recycle_cache_size和db_keep_cache_size是自己定义的

buffer cache 是上面三个池加一块

25.oracle启动顺序:

listener先

startup是干啥的???

26.共享池 shares pool

shared pool 里面是sql语句,执行计划,数据字典

uga 放到shared pool里面是很愚蠢的,为啥?

期望是运行的时候shared pool不要进进出出

sql共享做的不好,shared pool 越大越严重

27.缓存的命中率

28.large pool

往往一天一次,性能问题不大

一般不要共享服务器模式,连接量大的话内存空间pg不足,除非并发大,不要共享

尽量不要并行查询,什么叫并行查询,晚上跑批的时候,做报表的时候,可以并行,其他的时候不要并行,一个sql快了,其他的都死了

29.专用服务器模式

循环处理所有请求

pga放栈信息,主要是地址信息

pga里大部分是uga,uga理想是放在large pool里面

30.redo log buffer

写redo log,一般默认值就够,

commit 会计redo

数据库每秒钟可能几十个事务,可能提交几十次,每次都会触发redo

archived log还要专门跑????加网卡干啥????

redo log达到三分之一满的时候会触发log writer

也有周期性触发

有问题会出现等待事件

往往不是大问题

31.asmm技术

自动共享内存管理,整个s机的空间自动调整

夜间跑批的时候,把large pool变大点

没那么智能,不能全信

32,memory manager

33 sga是啥啊。。。。

改SGE_MAX_SIZE要重启数据库

SHOW PARAMETER SGA_TARGET

SGE_MAX_SIZE 不能超过500M

太大可能导致服务器内存耗尽

34.统计信息

statistics_level 有一个参数,可以选则all,typical,basic,all要慎重,因为会记录所有的统计信息,basic是禁用记录统计信息,tyoical会收集内存的动态信息,不会影响性能,all会影响10%以上的性能,记录每一步的实际运行时间,可以帮助优化,但是非常影响性能

35.awr addm

awr会触发addm

但是他俩是谁?????

36.assm和asmm是不一样的,所以他俩是谁????

37.connect as 为什么sys要选sysdba,其他用户不能选????

权限

38.svn是什么?

用来版本管理的软件

39.分区表

 

40.事务的TPS是啥??????

41.OCI是Oracle Call Interface

42.sqlplus 有@和没@是有区别的,没@走sid,有@走tnsname解析

43.desc 可以看表,也可以看包

44.为什么一般不用select * 呢,性能会低下,和数据存储有关,什么数据块什么的

45.order by 排序

排序是在pga里发生的,pga的sort area set 里,如果pga很小,可能会发生disk 磁盘排序,关键是pga里面有没有磁盘排序

rowde by sort 这个参数可以看排序的行数,行数多要扩大pga

46.什么叫事务

一个事务一次提交

开始一个事务oracle 做了什么,oracle提交的时候做了什么?延迟提交是什么?

一个事务执行时间很长老是不提交怎么办

47.commit rollback

提交是将修改保存,保存到日志里。回滚是将修改再做修改,再提交

48.锁

行级锁,修改一行时加个行级锁别人改不了

锁行的时候,同时以共享的方式把表锁了

修改某一行的时候加个排他锁,再将表加个共享锁,别人就删不了这个表了

锁非常多会造成内存紧张

锁还要再研究一下啊。。。。

行级锁的实现方式是在行前面加一个锁定标志

锁粒度又是啥

锁是用来解决并发问题的,pga里没有锁的概念,sga里才有,pga里只有一个进程没人抢所有不用锁。

锁会降低并发

锁机制不好,并发会很差,在线用户会很少,那rb_acct怎么办?那么多人同时修改一个表???

应用开发人员应该尽快提交事务!

49.dml logs

50.ora155错误

51.for update 怎么用

和merge有区别嘛?

52.索引和集群因子的关系

找索引->找树->找rowid->找数据块->找到数据

先看rowid在不在一个块里,在一个块里的只读1次数据块,不在一个块里就读2个块,假设有10个被找到了,要找这10个的rowid

那么最右是指读一次数据块,最差是读10次数据块,这就叫集群因子,是索引非常重要的一个参数

 clustering_factor就是集群因子,desc dba_indexes的时候可以看到

dba_tables里面有blocks和num_row,可以和clustering_factor比较一下

通过索引取出的数据是有序的,加了order by也不消耗资源,算集群因子的时候,只看相邻的两个是不是在一个块里,假如1和3在一个块,2和4在一个块,集群因子算4个,不是2个

53.分区索引

全局分区索引

select * from A where id = 5

先确认在第几个分区里,实现了分区消除,然后取数据

可以在任何表的任何列上建全局分区索引,可是有啥用啊

在分区表上建索引的时候,可以建两种

1.本地分区索引 2.全局分区索引

全局分区索引普通表和分区表是一样的

本地分区索引相当于在分区内建了一个索引

假设一个表A按字段id分区,按字段name建本地分区索引

select * from A where name = 'lalala'时走所有分区和所有索引

select * from A where id = 5 and name = 'lalala'时走一个分区一个索引,因为id = 5可以选中唯一的分区

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值