* sql
    * 多表连接
        * nature join
            * 相同属性名称,值相同作为连接条件
* 体系结构
    * 表空间
        * 代表一个文件,mysql一个表即存放一个文件
        * 管理方式
            * 段
                * 
            * 簇
                * extent
                * sf_get_extent_size
            * 页
                * page
                * 具体表
        * 物理文件
            * 控制文件
                * dm.ctl
                * dmctlcvt  控制文件和文本文件相互转换
            * 配置文件
                * dm.ini
                * v$parameter,v$dm_ini
                * alter system set  + spfile和memory和both 
                    * 指定修改参数位置
                    * 修改文件数值
                    * 修改内存数值
                    * value会话值,sys_value内存值,file_value文件值
                * 参数类型
                    * read only
                        * 手动参数
                        * 不可通过sql命令或者函数进行修改
                        * 需重启数据库
                    * sys
                        * 动态参数 - 系统级
                    * session
                        * 动态参数 - 会话级
                    * in file
                        * 静态参数
                        * 可以通过sql命令或者函数修改
                        * 也许重启数据库
            * 数据文件
                * *.DBF
            * 重做日志文件
                * *.log
        * 内存结构
            * 数据缓冲区
                * BUFFER、FAST_POOL_PAGES、RECYCLE、KEEP
                * v$bufferpool
                * 存放数据页
            * 日志缓冲区
                * RLOG_BUF_SIZE
                * 存放redo日志
                * commit做日志刷盘而非数据的刷盘
                    * 数据的刷盘是在检查点执行时进行的
            * sql缓冲区
                * CACHE_POOL_SIZE
                * auto_parameter_adjustment.sh 自动适用(内存)参数设置
                * 存储执行计划,结果集等
                * 数据字典
                    * V$CACHESQL sql缓冲区
                    * V$CACHEPLN 执行计划缓冲区
                * 优化sql的执行效果
                * sql得到的结果不是真实的结果
                    * 获取到了sql缓冲区的数据 -- 执行清理sql将缓冲区执行计划的函数
                * 动态sql
                    * 
            * 字典缓冲区
                * DICT_BUF_SIZE
                * 数据字典信息存放在SYSTEM.DBF
            * 主内存池(共享内存池)
                * memory_%
                * 排序区
                    * SORT_BUF_SIZE
                * 哈希区
                    * HJ_BUF_SIZE
                * 保持会话会一直占用内存池的内存
            * 线程结构
                * dm单进程多线程,Oracle为多进程
                * 视图数据
                    * V$process 进程
                    * v$threads 线程
                * IO线程
                    * 读写数据
                        * 物理读
                        * 写脏块
                * 日志刷新线程
                    * 日志的刷盘
                * 日志归档线程
                * 日志重做线程
                * 调度线程
                * 工作线程
* 表空间管理
    * dba_data_base
    * 最大逻辑存储单元,对应有单独的数据文件
    * 预定义 SYSTEM、ROLL、MAIN、TEMP、HMAIN 五个表空间
        * system
        * temp
            * TEMP_SIZE
            * 数据库启动的时候会重建temp表空间
            * 收缩temp表空间的方法
                * 重启数据库
        * main
            * 默认表空间
    * 重做日志文件
        * 联结日志
            * 循环使用,不断覆盖
            * v$rlog
        * 归档日志
            * 切换和删除
        * 归档
            * v$dm_arch_ini(视图),dmarch.ini(文件)
                * 归档配置
            * alter database ARCHIVELOG
                * 需要在mount状态下进行
* 其他内容
    * rlwrap插件
        * sql语句上下翻滚
        * 源码安装
    * 从表user_segments查询表所占用的空间
    * v$ifun动态视图记录了数据库所有的函数和存储过程
    * v$ifun_arg 查看函数参数