明日科技"/>
Oracel从入门到精通@明日科技
一,基本操作
- 登录用户 SYSTEM 或者SYS
- 开启关闭数据库 STARTUP ,SHUTDOWN
二,ORACLE体系
- ORACLE逻辑存储结构:ORACLE>表空间>表,索引,视图>段>数据区>数据块
- SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME='DB_BLOCK_SIZE'; --查看块大小
- 在执行CREATE INDEX,SELECT ORDER BY , SELECT DISTINCT 和SELECT GROUP BY 等,会在临时表空间分配临时段。
- 表空间是最大逻辑划分,任何数据对象,在创建是都必须指定某个表空间。
三,SQL*PLUS 命令
- SET system_variable value : 常用变量设置
- DESC;
- SPOOL 查询结果输出到文件;
- SAVE 缓冲区SQL保存到文件; GET同SAVE相反;
- START/@ 执行一个SQL脚本文件;
- 格式化: COL , HEADING, ON/OFF, TTI;BTI
四,SQL语言基础
- SQL 结构化查询语言;在关系数据库中定义和操纵数据;
- 数据定义语言(CREATE TABLE,ALTER TABLE )自动COMMIT;
- 数据控制语言(GRANT ,REVOKE )自动COMMIT;
- 模式是一个数据库对象的集合
- 账户被锁定: alter user scott identified by tiger; alter user scott account unlock;
- WHERE 子句比较筛选 : any , all
- 下划线_表示匹配一个字符
- 空值是不存在,空字串是长度为0; IS NULL , IS NOT NULL
- 分组用来汇总,HAVING 子句对GROUP BY 子句折结果进行过滤,可以包含聚合函数 。
- 多表关联; JOIN表示内连接; 关联的查询效率高;子查询要慢些;
- 常用函数 : acii(i) , chr(i), concat(s1,s2), initcap(s), instr(s1,s2,n), LTRIM,RTRIM,TRIM(S1,S2) REPLACE, SUBSTR
- CEIL,ROUND , POWER,SYSDATE,ADD_MONTHS,
- truncate 删除表中所有记录(推荐命令,而不是delete)
- 事务:原子性 ,一致性,隔离性和持久性
五,PL/SQL
- PL/SQL是一种过程化语言,可以控制程序的执行流程,是对标准SQL的扩展
- 与ORACLE类型区别:varchar2最大32767而sql 最大4000 ; char最大32767默认1后面补空格,而oracle最大2000;long最大32767而oracle最大2GB
- %rowtype 类型:一种能够存储表中一行数据的结构类型
- for语句使用Reverse 时计数器循环递减
- 游标使用:声明-打开-读取-关闭
- 隐式游标:update ,delete 中自带
- 游标属性:%found %notfound %rowcount %isopen
六,过程,函数 ,触发器
- 存储过程是已经编译好的代码,执行效率非常高,入参可以有default
- 函数必须有返回值
- 触发器:强化安全性,启用业务逻辑,日志记录操作,
- 程序包:由规范和包体组成;DBMS_OUTPUT是程序包
七,管理控制文件和日志文件
日志文件和数据库备份文件用来恢复到最近一次记录日志时状态
八,管理表空间和数据文件
创建表空间时必须创建数据文件,增加数据文件时也要指定表空间;
如果表上大量INSERT操作,设置较大的PCTFREE
九,数据表对象
- 每一个表都被一个模式或者用户拥有,是一种典型的模式对象。
- char存储固定长度;varchar2 根据实际字符长自动调整;
- lob型:BLOB 存储二进制128MB;CLOB存储字符128M对象,oracle首先把字符思考unicode格式再存储;BFILE字段;
- rowid:伪列类型,保存记录的物理地址,可以获得最快的访问速度
- alter table XXX add / drop (col)/ modify / rename to / move tablespace /read only(write)
- 主键约束:constraint XX_PK primary key(Y); 或者alter table XX add constraint XX_PK primary key(Y);
- 系统自动分配名称: alter table XXX add primary key(Y);
- alter table XX drop constraint XX_PK
十,其它数据对象
- 索引:包含字段值 +ROWID,加快查找
- 将索引和对应的表放在不同硬盘的不同表空间,能提高并行查询速度
- 索引应建在WHERE子句频繁引用列上,建在经常使用排序的列上,限制表索引个数(会降低DML),不要在小表上建索引,使用NOLOGGING,多表连接时要在连接列上建索引
- 视图:是一个虚拟表,
- 同义词对象:表/索引/视图的别名,
- 序列对象:以提供唯一主键
十一,表分区与索引分区
- 使用分区来提高查询性能,简化日常维护工作,
- 创建索引分区:
十二,用户管理与权限分配
- 角色 是一组权限集合
十三,系统调优
- 调优参数:
- SGA优化:调整内存分配,日志缓冲区,共享池,缓冲区
- 排序区优化:
十四,优化SQL查询
- 不要用*代替列名
- 用TRUNC代替DELET
- 多用COMMIT
- 减少表查询次数(子查询)
- 用(not) exists 代替 (not) in
- 表连接前WHERE过滤掉的越多越好
- 合理使用索引
- 避免扫描全表:没有索引 ,返回全部行,like % ;使用了函数 ,is null, is not null, !=
十五,备份与恢复
RMAN 的使用
十六,导入导出
EXPDP,IMPDP
十七,闪回技术
------------------------------------------------------------for comments:
更多推荐
Oracel从入门到精通@明日科技
发布评论