首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > Oracle的皮毛
【标  题】:Oracle的皮毛
【关键字】:Oracle
【来  源】:http://blog.csdn.net/killlkilll/archive/2006/12/16/1445444.aspx

Oracle的皮毛

听李彪老师讲Oracle的一点笔记


set autotrace on;
SQL语句的分析、跟踪,有点像 Ctrl+L

select instance_name,status from v$instance;
列出实例名和状态

FAST_START_MTTR_TARGET=600
控制DBW0的每次写的时间

show parameters db_block_size;
数据库操作的一个块的大小

show parameters multi;
多块连读的数量

select * from v$log;
alter system switch logfile;
select * from v$log;
查看日志并且,将当前日志切换

alter database add logfile group 4
( 'D:\Oracle\mylog\loga.log','D:\Oracle\myLog\logb.log')
size 10M;
添加一个互为镜像的第四组日志文件

select * from tab;
列出当前用户可以看到的所有表和视图

alter system set log_archive_dest_1
= 'location=D:\Oracle\myLog\Oracle' scope=spfile;
alter system set log_archive_start=true scope=spfile;
alter system set log_archive_format ='primary_%s.arc'
scope=spfile;

shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
archive log list;
将数据库设置为归档模式

select * from v$tablespace;
select * from dba_data_files;
查看表空间,和所在的位置

create tablespace killkillData
Datafile 'D:\Oracle\TableSpace\killkillData.tbs' size 20M
extent management Local uniform size 512K
创建表空间

create undo tablespace undoXX
DATAFILE 'D:\Oracle\Undo\undo01.dbf' size 40M;
创建UNDO表空间,以前叫作RollBack空间

对于大量的数据更改,我们不应该一次性删除,
需要分段删除,其中一种方法是用分区表,另一种是每几十行提交一次,
换一种说法是化整为0

alter tablespace userdat offline;
alter tablespace userdat online;
将表空间挂上或者挂起

删除表空间
drop tablespace userdata
including contents and datafiles;
数据和表空间都被删除,但是实际文件还是存在的

create user yaya
identified by yaya
default tablespace killkillData
quota 30M on killkillData;
grant create session,create table to yaya;
创建用户,并且将该用户授予连接的权利

explan 和 autotrace

实现自动跟踪
@?\rdbms\admin\utlxpls.sql
grant plustrace to scott;

set autotrace traceonly explain -- 只是现实执行计划,不实际执行

create index emp_func_ename_idx on emp ( upper(ename)) -- 可以创建这样的索引,基于函数的索引

analyze table emp compute statisics; -- 分析表的结构,改变算法

oracle 的索引是排序的,也可以建反序索引

RBO 优先级最低的是Table Access Full
最高是用RowID进行索引
RBO越简单的语句越好

CBO 根据优化信息产生优先算法

全表扫描的效率取决于表内数据的稀疏程度

select table_name,num_rows,blocks from user_tables;
查看表的统计信息

整理表用 alter table emp1 move;
但是索引要重建

重建索引的脚本建设
select 'alter index '||index_name||' rebuild online;' from user_indexes;
|| 是连接字符串的操作符

SQL调整过程
高频使用的SQL
调整SQL
添加索引
更改优化器模式
添加提示
使调整持久化

update emp set sal=1000 where ename='SMITH'
update emp set sal=1200 where ename='FORD'
update emp set sal=1200     where   ename='FORD'
是不会共享的,认为都是不同的SQL
对于2、3句来说需要程序员良好的风格
可以依靠存储过程,封装语句,
里面参数将会被认为邦定参数,所以整个存储过程内部的将会被缓存,所以SQL的共用将会大大提高

 SQL调整目标
去掉不必要的大表扫描
缓存小的全表扫描
检验优化索引的使用
检验优化的连接技术

alter table scott.emp cache ;
强制使该表缓存在内存里面

 关于提示:
/*+ XXXXXXXXXXXXXXX*/ 表示提示,提示系统用户用什么算法
e.g:
select /*+ ordered */ empno , ename,dname
from emp,dept
where emp.deptno=dept.deptno
and emp.deptno=10
and dept.dname='sales';
emp 将会作为驱动表,即按照顺序驱动.

truncate table emp;
将使用的指针移到开始位置
不用提交
是 delete from emp;

use_hash( emp , dept ) 使用哈希连接

------故障排除
rman 进入 recover manager
/****************************************************/
rman
connect target sys/oracle@orcl
backup database format='D:\Oracle\Back\MyBackup';

查找所有的文件
select NAME from v$datafile
union
select NAME from v$controlfile
union
select member from v$logfile
creating recovery catalog:【上一篇】
Check if index is fragmented (needs reorg or coalesce):【下一篇】
【相关文章】
  • Oracle的数据类型(一):char/varchar2
  • ORACLE汇总
  • oracle-错误集
  • 一个Oracle难题的解决
  • Oracle Concepts Guide学习笔记
  • Oracle10g新特性:Recycle Bin回收站
  • 转 ORACLE高效分页存储过程代码
  • oracle 学习笔记 --join 范式
  • oracle 环境变量设置 语言设置
  • Hibernate中Oracle保存出现没有反应的情况
  • 【随机文章】
  • 自己如何制作RPM包
  • ASP相关站点收藏
  • 面向服务的一般原则---摘自《SOA概念、技术与设计》第八章
  • 导致互联网瘫痪的“2003蠕虫王“大揭密
  • VxVM Encapsulated Disk With UFS Logging Enabled。。
  • 高性能集群系统方案
  • 最新无线局域网标准
  • Windows隐身符——OuttaSight简述
  • 让PowerBuilder制作查询系统的界面更加酷
  • 在系统菜单中添加自定义菜单项
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.