`
pqcc
  • 浏览: 125228 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 学习笔记

阅读更多

1. An oracle server:
  由oracle instance 和 oracle database 组成.
2. An oracle instance:
  用于访问oracle database.
  打开且仅能打开一个database.
3. Oracle 的内存结构包括两个重要的内存区域:
 (1). System Global Area(SGA): 分配内存公供 instance startup 及进行数据操作,是oracle instance的基础组成部分.
 (2). Program Global Area(PGA): 是一个内存区,包含单个进程的数据和控制信息,所以又称为进程全局区,在server process
      被建立起来后使用。
4. (1). SGA 是动态可变的,其大小由 SGZ_MAX_SIZE 决定。
 (2). SGA 作用:
  包含一个数据库实例的数据或控制信息,如果多个用户同时连接到同一个实例时,在实例的SGA中数据可分为多个用户所共享, 
  所以又称为共享全局区。
  - 当实例被启动时,SGA 的存储 自动地被分配;当实例被关闭时,该存储被回收.所有连接到多进程数据库实例的全部用户均可     自动地被分配;
  - 在 SGA 中存储信息将内存划分成几个区:共享池,数据缓冲存储区,日志缓冲区等。
5. SGA 包含以下内存储结构:
 - Shared pool.
 - Database buffer cache.
 - Redo log buffer.
 - Other structures(e.g. lock and statistical data)
 还有两个可选的内存结构:
 - Large pool
 - Java pool
 SHOW SGA.

6. Shared Pool: (Library cache and Data dictionary cache):
 - library cache 中包含 SQL 语句的文本信息,编译代码和执行规划.
 - data dictionary cache 包含table,column,和其他对象定义信息和权限设置信息。
 - shared pool 的大小由 SHARED_POOL_SIZE 决定.
7. Database buffer cache:
 - 存储最近使用过的数据块.
 - 大小由 DB_CACHE_SIZE 决定。
 - DB_nK_CACHE_SIZE
 
 几个关键参数:
 - DB_CACHE_SIZE
 - DB_KEEP_CACHE_SIZE
 - DB_RECYCLE_CACHE_SIZE
 
 Database buffer cache 可以被动态地进行分配来改变其尺寸大小:
 ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

 DB_CACHE_ADVICE 参数基于对不同尺寸的统计结果而提出优化 DB_CACHE_SIZE 大小的建议.

8. Redo Log Buffer:
 - 记录 instance 产生的改变信息.
 - 大小由 Log_BUFFER 决定.
 - 连续使用.
 - 具有循环的特点.

9. Large Pool:
 - 用于: 共享服务器的会话内存, I/O服务器进程备份与恢复操作.
 - 不同于 shared pool, large pool 不使用 LRU list 规则。
 - ALTER SYSTEM SET LARGET_POOL_SIZE = 64M.

10. Program Global Area(PGA):
 主要包括:
 - Sort area.
 - Session information. 
 - Cursor state.
 - Stack space.
11. 进程结构:
 - 用户进程: 在数据库用户请求连接到 Oracle Server 时启动。
 - Server进程: 与 Oracle instance 相连接,在用户建立session 时启动.
 - 后台进程: 在 Oracle instance 启动时启动.

12. 用户请求时进行请求与Oracle server 交互的程序.
 - 必须先建立连接。
 - 不与Oracle server 直接交互.

13. server 进程是直接与oracle server 交互的程序:
 - 执行生成的调用并返回相关结果。
 - 可以是专用服务器或共享服务器.
14. Database Writer(DBWO)
 DBWO 在以下情况下写入:
 (1). 很多的dirty buffers.
 (2). 很少的free buffers.
 (3). 出现超时.
15. 连接符的使用:
 SELECT ename||job AS 'Employees'
 FROM emp;
16. -I[nput] 增加一行或多行.
 -I[nput] text 增加一个由TEXT 组成的行.
 -L[IST]  显示 SQL 缓冲区的所有行。
 -L[IST]n 显示某一行。
 -L[IST]m n 显示从 m 到 n 多行。
 -R[UN]  重复执行。
 -A[PPEND]text text 行尾增加内容.
 -C[HANGE]/old/new 在当前行中将 old 改为new。
 -DEL n  删除某行.
 -DEL m n 删除从m到n行内容.

17. 字符串和日期要用单引号括起。
 日期的缺省格式: 'DD-MON-YY'
18. 优先规则:
 所以的比较运算符 > NOT > AND >OR.
19. ROUND(45.926,2) ------------- 45.93
 TRUNC(45.926,2) ------------- 45.92
 MOD(1600,300)   ------------- 取余.

19. SYSDATE 是一个返回当前日期和时间的函数。
 select SYSDATE from dual
20. 两个缺省的数据库管理员用户:
 SYS: change_on_install
 SYSTEM: manager

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics