Oracle概述
不同版本区别
8i、9i 的 i 表示 :internet
10g 、11g 的 g 表示:grid网格计算
12c的 c 表示:cloud
服务启停
windows下命令行启动oracle服务:
# 启动服务:OracleService+服务名
net start oracleserviceorcl
数据库启停:
SQL> startup
SQL> shutdown immediate;
连接描述符
在使用 sqlplus mydata/tiger
连接数据库时,连接的是本地数据库。
使用 sqlplus mydata/tiger@orcl
时,@
为连接描述符,oracle会将连接描述符后面内容作为监听器连接。
Oracle基本使用
dual是什么
是Oracle下的一个字典表,属于sys用户。用于构造一个标准的SQL。
对优化器有一定影响。
SQL语句种类
- DML(data manipulation language)
- select
- insert
- update
- delete
DDL(data definition language)
- Create
- Drop
Truncate
截断。将表中的数据清空后,将表分配的空间进行回收。delete只删数据不回收空间。
Alter
- DCL(data control language)
- Grant
- revoke
Oracle执行SQL的过程
select语句执行过程
- SQL解析(语法分析、语义分析)
- 执行计划
- 执行SQL
- 从磁盘中读取数据(如果内存中没有)
- 数据处理
- 返回结果
Insert、Update语句执行过程
- SQL解析
- 执行计划
- 执行SQL
- 从磁盘中读取数据块(如果内存中没有)
- 修改回滚段数据块(同时产生redo log)
- 修改原始数据块(同时产生redo log)
Create语句执行过程
- SQL解析
- 执行计划
- 执行SQL
- 给对象分配初始化的存储空间(段),产生一些 undo 和 redo 日志
- 在Oracle字典表中创建新的对象相关信息(表,字段,各种属性),产生一些 undo 和 redo 日志
Drop语句执行过程
- SQL解析
- 执行计划
- 执行SQL
- 收回对象占用的空间,产生一些 undo 和 redo 日志
- 在 Oracle 字典表中删除对象的相关信息(表,字段,各种属性),产生一些 undo 和 redo 日志