oracle,oracle 载

1、B数索引适合于唯一值较多字段的表结构,位图索引适合于唯一值较少字段的表结构;
2、B数索引适合于OLTP,位图索引适合于OLAP;
3、重建索引比重建索引块--锁定,并重建;
4、创建索引是对象权限,不是系统权限;
5、dba_sys_privs视图中保存的直接授予用户的系统权限;
6、角色,角色,角色--简华权限管理,实现动态权限管理,可选择可用的权限!
7、创建安全用户的步骤:
a.创建角色 ;
b.权限授予角色;
c.角色授予用户;
d.选择默认角色;
e.启用|禁用角色;
f.移除角色;
g.删除角色。
8、正常情况下,用户没有设置默认角色,连接后所有角色都是默认角色;
9、RMAN备份、恢复更快,而且还能方便地进行块在线级恢复;
10、Oracle容灾--Dataguard,两套数据库系统,基本原理:异地恢复;
11、直接路径导出--快,因为省略了转换的发生(数据类型和字符集);
12、在客户端:tnsnames.ora和sqlnet.ora,服务器端:listener.ora;
13、监听器状态看到例程为unknow和ready的原因:动态注册导致,监听器启动时读文件,启动(unknow);动态注册的例程是ready;
14、在LSNRCLT>下,输入show current_listener 可以查看当前的监听器,在多个监听器并存时,需要用show和set两个命令结合进行切换;
15、10G中支持easy connnect,不需要配置本地服务名,可以直接使用完整的TCP/IP协议和连接字符串进行连接;
16、主机命名方式相对于本地命名解析方式麻烦,且不支持一些高级应用,不推荐是;
17、在配置监听的时候,配置service_name和instance_name意义是不一样的,前者是整个数据库服务器,数据库自动分配连接到哪个实例;后者直接连接实例。
18、在共享模式下,如果没有dispatcher,将无法连接数据库;默认是专用模式,不需要有dispatcher;
19、监听负载均衡,可以加上LOAD_BALANCE=yes,可以让每个会话随机地对监听器进行连接访问;
20、调优:充分合理地利用资源+合理划分任务;
21、在设计时,时间和空间上,将各种任务划分开;
22、尽可能写出相同的代码,可以减少硬解析;
23、调优的种类:
a.预期式调优(系统设计);
b.主动式调优(健康检查);
c.被动式调优(用户抱怨);
代码共享,减少硬解析:防止语句分配空间的不足而过去,防止碎片;
2、IO优化:
a.最小化数据访问(减少IO操作的设计、优化大规模访问数据的SQL、使用LMT代替DMT);
b.均衡IO分布(数据文件放在RAID5,redo和控制文件放在磁盘或者RAID 1)
c.合理使用临时表空间(8i为用户手动指定,9i指定缺省的全局临时表空间,10g使用临时表空间组);
d.
3、索引没有使用的三种情况:
a.没有索引;
b.有索引,但是SQL书写时不走索引;
c.计算代价后,发现全表扫描比索引代价要小;
4、RAID条带化最好是区大小的整数倍或者整数分之一;
5、归档日志文件的配置:
a.启用多归档进程归档多个文件;
b.减少归档对重做日志的影响(将redo和arch文件分散在不同的磁盘);
6、竞争的优化:
a.锁存器latch(9i后,latch由数据库根据CPU数量自动管理);
b.锁lock;
c.回滚段(大事务和长事务都很明显);
7、锁分DML锁(数据锁)--通常所指的锁,和DDL锁(字典锁);
8、阻塞的会话能看到锁竞争,我们只关心锁竞争;
9、回滚段的区中,每个区中只允许存在一个活动的事务;
10、在进行数据导入时,commit=y,每导buffer中规定大小的数据,进行一次提交;sqlloader通过rows参数,没导入多少行就提交一次;
11、shared pool使用的前提条件:代码是可共享的;
12、如何绑定变量:更改语句;修改cursor_sharing(force|exact|similar),不建议使用强制的绑定变量;
、数据冗余多了,拆分;不经常在一起访问的字段,拆分;
2、应用对调优的影响很大,占一半以上;
3、在调优实施时,最好分步进行,不能所有方法一并实施;
4、块检查数:db_block_checking和db_block_checksum。关乎校验,避免逻辑块故障,关闭时会提高IO。
5、statspack:能得出最××的SQL语句;
6、10G的数据库信息收集新工具:awr,ADDM可以做分析;
7、可以根据进程号来查询完整的SQL语句;
8、最大的操作系统进程与数据库进程比:40/60;
9、vmstat 看r值和b值,值应该小于或者等于CPU个数;pi高,说明内存不够;
10、sppurge和sptrunc可以删除和清空statspack信息;
11、statspack以短为宜;
12、连续读等待时间太长--索引有问题;
13、消耗CPU的动作:排序、硬解析、多表融合的对比等;
14、等待事件信息在v$event_name视图中;
15、等待事件:
a.buffer busy waits
b.db file parallel write--写得速度慢
c.db file scattered read
d.db file sequential read
e.db file single write
f.direct path read--临时数据和排序数据,都不在内存中排序
g.enqueue--锁资源竞争
h.free buffer waits--dbwr写脏数据不够快,db_cache不够大
i.latch free--锁存器空间不足,调内存
j.log buffer space--log buffer太小;LGWR写redolog失败或者慢;
k.log file parallel write
l.log file single write
m.log file switch(archiving needed)
n.log file switch(checkpoint incomplete)
o.log file sync
p.timer in sksawat(归档过慢)
q.事务
r....
16、LRU队列和Dirty队列用来管理数据高速缓冲区的存储和数据操作;
17、收集信息的时机;
18、命中率高,不一定性能很好;还是要取决于等待事件;
19、对于数据库告诉缓冲区,使用多池对不同类型(KEEP|Recycle|DEFAULT)的数据进行存放,能够提高效率;
20、Free list管理着一个大的块,块中经常发生数据状态改变,将容易导致块竞争;
extent--区,连续的数据库块,不能跨数据文件、segment--段,段不能跨表空间、建议让一张大表的数据跨文件;
2、system表空间最好只存放数据字典表和系统回滚段;
3、表空间创建后无法更改的参数:
a.大文件表空间(一个表空间最大可以达到128T,但每个表空间只能单个文件组成)or小文件表空间--TB级数据库可以考虑大文件表空间?
b.本地管理表空间or数据字典管理表空间?--推荐本地管理,9i开始。
4、临时表空间文件创建时,命名为tempfile,而其它表空间文件命名为datafile,临时表空间不参与同步,数据字典dba_datafiles没有;
5、初始创建临时表空间并不真正分配空间,只是写了做了个标记;
6、表空间只读时,执行DDL操作,只有修改数据字典的能成功,对数据进行操作都不会成功;
7、表空间的offline后,还是能对数据字典进行操作的;
8、对数据文件进行resize的时候,只能将文件进行收缩,而不能整理,也就是说收缩到最后的数据空白记录开始处;如果需要,DBA可以分析数据文件的使用,然后进行收缩。
9、10g开始将文件从表空间中删除,前提是此文件没有任何数据;
10、段类型的种类很多,每种类型都有各自的特点。
11、Oracle9i开始:SYSTEM和TMP表空间都必须以标准块为IO单位,其它表空间可以以非标准块为IO单位;为了适合不同的应用业务。
12、数据块和文件块区别:前者无碎片,后者有碎片;
13、块空间利用参数中PCTFREE:数据块中为update所预留的空间;剩余空间<PCTFREE,块空间不可用;可用空间>PCTUSED,块空间可用。
14、自动段空间管理(ASSM)的限制:不能在包含LOB类型数据的表空间中使用;
15、Cluster table是聚簇表,适合多表联合查询;
16、创建小写或者保留关键字的对象,使用""引起来。
17、drop table时加入purge。
18、timestamp增加了date数据类型秒级的精度,最多支持到小数点后第九位,同时支持全球化特性,加入了时区的内容(with time zone);
19、dbms_rowid包可以将rowid的物理地址进行转换;
20、10g新特性:可以根据Segment Advisor的建议在业务繁忙其对松散的表进行收缩,减少锁表对表的影响;
21、删除表的时候,索引、约束和触发器都会随之消失,删除的语句:drop table tablename cascade constranits;
22、删字段在系统崩溃时在redo中是找不回来的;
23、不想让用户看到表中某个字段、也不想删除,可以将字段标记为不可用,这个动作是不可逆的;
24、回滚段--暂存事务中的原始数据,事务提交,暂存结束;
25、回滚段的功能:
a.事务回滚;
b.事务恢复(在实例恢复时);
c.读一致性;
d.闪回查询(9i),利用回滚段中残留的事务内容。
26、自动管理回滚段:每个实例使用独自的undo表空间;
27、offline掉的undo段,在一段时间不用后,将自动删除,如果要用,online即可;
28、undo_retention:数据在事务结束后保留的时间,单位为秒;
29、undo_retention x undo信息产生速率(UPS x db_block_size) =undotbs大小;
、DBWn写的条件(时机):超时发生具体指寻找缓存空间超时;RAC的ping发生(内存融合技术大大缓解);...
2、LGWR写的条件(时机):因为每隔3秒、日志大小达到1M、达到三分之一满时都要写日志,所以LOG_Buffer一般设为1-3M,但是在大规模操作时,产生批量日志,LOG_BUFFER可能要调大些;
3、临时表空间满:
a、用光了,需要重新申请空间;
b、分配光了,不需要重新申请空间,甚至可以是好的情况。
4、临时表空间不能收缩吗???
5、Ctrl+C中断的事务是异常结束,关闭窗口是正常结束;
6、RMAN能备份spfile,不能备份pfile;
7、alter system set parameter=×××,scope=×××,scope默认为both(文件和内存都修改),可选的为memory(只改内存)或spfile(只改文件);
8、spfile文件中每一条记录前都有"*.",对于RAC来讲,在进行alter system set 命令时,加上sid=*,意味着所有实例都修改;在spfile文件中*.代表统一管理,而oracl代表单独管理;
9、在nomount(已经分配了内存和进程)状态下,可以修改参数;创建数据库;创建(重建)控制文件;
10、mount阶段(读取了控制文件信息),可以做recover(介质),也可以做备份(尤其是RMAN冷备份),归档和非归档模式的切换(必须)...
11、在数据库未打开之前,只能使用sysdba身份才能连接数据库;因为数据字典dba_users对普通用户进行口令验证,数据库没开打之前,数据字典还未载入,所以普通用户身份都无法验证和登录;但是特权身份是用口令文件或者系统身份验证,所以可以连接访问;
12、shutdown immeiate选项相对快,不等待事务和连接的中断,但是要回滚未完成的事务,断开连接,也许要等待时间;
13、shutdown abort相当于数据库掉电,不推荐使用;
14、alert日志可以改名或者删除,Oracle写日志进程如果找不到将会生成1个新的文件重新记录;
15、bdump中的trc文件命名规则:SID+错误进程名+PID。
16、udump中有用户跟踪的SQL语句,包括SQL的统计信息和执行计划,可用于SQL调优;
17、alter session set SQL_TRACE=TRUE 可以开启会话级跟踪,执行DBMS存储过程(dbms_systemn.SET_SQL_TRACE_IN_SESSION)也可以;不建议在实例级开启(SQL_TRACE参数设为TRUE),影响性能。
18、所有的TCP/IP连接都被Oracle认为是不安全的连接,必须进行口令文件认证;
19、重建口令文件:orapwd file=123.ora password=change_on_install entries=10
20、DB name和SID名通常一样,在RAC中可能不同;
21、手动创建数据库失败可能的原因有:SQL脚本中有语法错误,要创建的文件存在(表空间文件Reuse可以解决),操作系统错误(没权限或者空间不足);
22、ASM概念提出来后,可以使用OMF(Oracle Managed Files)来创建数据库--指定数据文件和日志文件的位置即可,取名默认、大小默认、自动扩展;
23、ASM是Oracle自身的一个存储管理工具,拥有卷管理的功能,同时还拥有Oracle文件管理的功能,自动平衡磁盘IO,避免了从操作系统的误删除操作;
24、数据字典信息是只读的对象,但是数据库的操作会影响数据字典内容的被动变化;
基础表:数据库创建时自动创建;
数据字典视图:基础表的简化、总结和格式化显示;
25、数据字典DICTIONARY是数据字典的字典。desc dictionary:字典名称 字典描述。
26、查询以DBA开头的数据字典:
Select table_name from dict where table_name like "DBA%";
27、在sqlplus状态下,要想编辑前一个已经执行的SQL语句,可以使用ED,修改后:wq!保存退出,l列出语句,用/运行编辑后的SQL语句;
28、动态性能视图临时来自内存和控制文件的信息;
29、控制文件可以dump出来,dump出来后,能够看到关于数据库的很多信息;
30、PFILE和SPFILE多重镜像控制文件,在操作步骤上,需要注意,在修改参数和创建新的控制文件时步骤不一样;
31、对于redolog的建议:
a.足够多的组
b.足够大的文件
c.分布在不同的磁盘上
32、可以强制执行检查点;
33、inactive的redolog文件既不是当前的,而且检查点已经操作完成;current是当前正在使用的redolog文件;active不是当前的redolog文件,但是该日志相关的检查点还没完成;
alter system checkpoint;
34、fast_start_mttr_target参数,设置实例恢复最长时间,单位为秒,根据用户规定的时间,oracle自动将这个时间结合当前IO速度和其它参数做了转化(9i);在8i中是fast_start_io_target和log_checkpoint_interval两个参数一起决定的;10G开始根据数据库的运行情况自动调整,系统忙时保证性能;系统不忙时,保证恢复时间。
35、alter database 一般是对控制文件的操作;alter system一般是对内存(参数文件)的操作;
36、非OMF管理的redolog,在数据库中被删除后,操作系统并不会删除;
37、alter database clear logfile group #;清除log日志;inactive的redolog损坏或者丢失后,只需要执行这个命令即可(重建或者清空那个日志文件)。因为不需要用到这个做实例恢复。
如果数据库是归档模式,当时存在故障的redolog文件没有归档,加入unarchived选项;
Tags:  oracle下载 oracle

延伸阅读

最新评论

发表评论