Secure CRT, putty, 等终端工具

DML :u, d, i, m 增,删,改,合并

DDL :

DCL :

DQL :

数据字典 :存放在数据文件中,SYSTEM表空间里,纪录数据的变化。

逻辑数据库结构

表空间tablespace :每个表空间由一个或多个数据库文件组成

段 segment:数据段,索引段,回退段,临时段

区 extent:磁盘空间分配的最小单位,存储于段中,由连续的数据快组成。

数据块block :数据库中最小的数据组织单位与管理单位,其大小有DB_BLOCK_SIZE参数决定,不同Oracle版本DB_BLOCK_SIZE的默认值不同

模式对象:表,聚簇,视图,索引序列生成器,同义词,哈西,程序单元,数据库链等

方案schema : 用户名,权限,数据结构等。

物理数据库结构

数据文件 :用户数据(用户表,DML语句可调整),数据字典数据

控制文件 :DB信息,日志序列号,归档信息,RMAN备份信息, 最后一次同步的SCN信息。大小一半不变。

eg : show parameter control

为保护控制文件使用多路复用的方法,同时使用多个控制文件,将其分开存放在不同的磁盘上。

日志文件 :按照时间顺序纪录数据的改变,大小不变,顺序写入,循环覆写,至少两组日志,日志成员冗余。

参数文件 : 纪录定制的数据参数,定义数据实例的属性,

eg :

show parameter spfile;

alter system set processes=300 scope=spfile;

口令文件 :

归档日志文件 :重做日志历史,长期保存日志以便恢复,个数=当前日志数-1, 大小<=在线日志文件大小,命名唯一

database buffer cache数据高速缓存区 :缓存数据文件的读取

redo log buffer重做日志缓存区 :缓存重做日志的写入

shared pool : library cache, data dictionary cache

shared pool : library cache(存放执行计划), data dictionary cache

内存分配单位 :

SGA_TARGET :

eg :

show parameter sga_

MEMORY_TARGET :

eg :

show parameter memory_

程序全局区

大池 :

java池 :

进程结构:用户进程,服务器进程,后台进程

DBWn数据库写进程 (n表示多个)发生的条件:

发生检查点checkpoint

脏缓存达到限制

无自由缓存

超时发生

表空间离线,只读

表被删除或截断

热备份表空间开始动作

eg :

commit;

rollback;

conn hr/hr

create table test (id number)

insert into test values(1);

select * from test;

quit(正常退出(quit),自动执行commit操作,异常退出(rollback),自动执行rollback操作)

select * from test;(有结果)

打开宁一个终端,连接进hr

conn hr/hr

select * from test;(无结果)

insert into test values(2);

LGWR(日志写进程)写的条件:

commit时

达到三分之一满

日志的大小到1M

每个三秒

在DBWn进程写之前

eg :

note :

脏数据(内存中和数据文件中不一样的数据,内存中数据改动了)

空闲状态 :

干净数据(内存中和数据中一样的数据)

ping住(你改了,别人改不了了)

操作系统块 :

SYSTEM表空间是在数据库创建或安装时zidong创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。

eg :

desc dba_extends;

select * from dba_extends where rownum<2;

desc dba_segments;

select  * from dab_segments where

create tablespace jilili datafile ‘u01/app/oracle/oradata/ENMOEDU/jilili01.dbf size 10m; :创建表空间

create table test (id number); : 创建段(表)默认表空间

drop table test purge;

create table test (id number) tablespace jilili; : 创建表并制定表空间

insert into test values (1);

desc dba_extends;

select * from dba_extends where segment_name=‘TEST’;

v$instance : v$开头表示oracle自己的动态性能视图。

select * from v$instance;

dba_users : 所有dba_,你权限下的all_, 你自己的user_开头表示, 权限不同

select * from dba_users;

select tablespace_name from dba_tablespaces;

SYSTEM, SYSAUX, UNDOTBS1, TEMP, USERS, EXAMPLE,

自动内存管理的配置和使用方法 :

eg :

show parameter  pga_agg

show parameter size

show parameter sga

show parameter shared

show parameter pool

show parameter memory

show parameter cache

show parameter log_buffer

commit为什么不会写出脏数据?

commit只能触发LGWR的写进程,

批量提交(按需提交) VS 频繁提交?

Oracle提倡按需提交

undo表空间tablespace存放数据块前镜像。

insert

select

读写分开

SCN系统改变号 : Oracle内部的时钟

不提交会导致undo表空间过大

系统监控进程SMON :实例恢复(),释放临时表空间temp tablespace

进程监控进程PMON : 清楚失败进程(回滚事务,释放锁,释放其他资源,重启死掉的dispatchers, 动态注册监听器)

note : 监听器listener使用1521端口连接用户进程和服务器进程(通过网络访问服务器)

检查点进程CKPT(check point) : 给DBWn信号,更新数据文件头,跟新控制文件,协调DBWn和LGWR进程,查看DBWn进程写到的脏块,并记录到控制文件中(ctl)

归档进程ARCn : 可选的后台进程

完全检查点:把所有脏块全部写到数据文件中

增量检查点:根据链表把新的脏快写到磁盘

注 :链表纪录改变的块

一致性关闭数据库:脏块已经写到磁盘(数据文件)上,

手动执行check point :

非一致性关闭数据库 :脏块没有写到磁盘(数据文件)上,只有shutdown abort.

shutdown normal : 正常关闭,关闭前退出所有会话

shutdown immediate :立即关闭,

shutdowntransactional :关闭前结束所有事物

shutdown abort :断电关闭,

eg :

su - oracle

sqlplus / as sysdba

alter system checkpoint; : 刷新所有脏快(把脏块写到磁盘)

open cursor

语法检查

语义检查

将语句转为hash值 (软解析)

解析

执行

获取,返回结果

close cursor

绑定变量 :为了让sql语句实现共享, 只能执行全表扫描(更适合OLTP,不适合OLAP)

eg :

select * from test where id := x;

注:

游标格式:

DECLARE 游标名称 CURSOR FOR SELECT 字段1,字段2,字段3,。。。FROM 表名 WHERE …

管理框架组建:

C/S :客户端服务器端

B/S : 浏览器服务器端

OEM :oracle enterprise manager 企业管理器

emctl start dbconsole : 启动OEM

通过一个sql语句的执行流程体现出整个体系结构图。

能画出体系结构图

emca

emca -config dbcontrol db -repos recreate

lsnrctl start

sqlplus / as sysdba

先启动监听器,后启动数据库

cd /u01/app/oracle/product/11.2.0/dbhome_1/sqlplus/admin

ls

vi glogin.sql

添加下面这行

SET SQLPROMPT “_USER’@‘_CONNECT_INDENTIFIER> ”

登陆浏览器:

用户名:sys

密码:oracle

create user user_name identified by pass_word :创建用户

alter user user_name identified by new_password :修改密码

工具:

sqlplus

SQL Developer

PL/SQL

desc v$instance;

select * from v$instance;

select INSTANCE_NAME, STATUS from v$instance;

set lines 200

column host_name format a10 : 规范特定列的长度

col host_name for a10 : 省略形式

select THREAD# from v$instance;

col thread# for 999

set pagesize 300

eg :

select * from v$instane

define _EDITOR=vim

ed

重新编辑上面的任务,保存

; :查看

/    :   执行

!ls : 不用退出sqlplus 执行操作系统命令

! : 跳到操作系统执行命令,不用退出sqlplus

exit : 回到sqlplus

note : ! 作用等于host

在 .bash_profile里写入 :

alias sqlplus =rwlrap sqlplus

alias rman=‘rlwrap rman’

可以实现滚动查找命令纪录

enmo_day_02的更多相关文章

随机推荐

  1. 文件上传插件uploadify详解

    官网:http://www.uploadify.com/ 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上 ...

  2. Asp.net MVC进入请求管道的过程

    Asp.net MVC进入请求管道的过程 Asp.Net MVC 跟AspNet 入口解释 Asp.Net MVC请求处理过程 mvc 请求模型 mvc的原理 mvc模型 NewMVCPipleLin ...

  3. 函数柯里化(Currying)示例

    ”函数柯里化”是指将多变量函数拆解为单变量的多个函数的依次调用, 可以从高元函数动态地生成批量的低元的函数.可以看成一个强大的函数工厂,结合函数式编程,可以叠加出很BT的能力.下面给出了两个示例,说明 ...

  4. 转 C# 装箱和拆箱[整理]

    1.      装箱和拆箱是一个抽象的概念 2.      装箱是将值类型转换为引用类型 :拆箱是将引用类型转换为值类型       利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的 ...

  5. IntelliJ IDEA使用(3)——IDEA连接Git

    摘要: Intellij IDEA作为最强大智能的IDE,内部已经集成了Git的功能,所以不用安装插件,连接Git@OSC也非常容易 首先安装git for windows 推荐使用这个:http:/ ...

  6. 3D数学基础学习之向量一

    向量-数学定义 对数学家而言,向量就是一个数字列表,对程序员而言则是另一种相似的概念,数组. 向量-几何定义 a.向量的大小就是向量的长度(模),向量的长度非负 b.向量的方向描述了空间中向量的指向. ...

  7. Writing Text Files On The Client in Oracle Forms 10g

    Below is the example to write file on client in Oracle Forms 10g with webutil library package.Note:  ...

  8. [Oracle] SQL*Loader 详细使用教程(1)- 总览

    SQL*Loader原理   SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高. ...

  9. Matlab图像处理基本函数(1)

    表13   灰度形态学(或二值图像)处理函数 函数                       说明 conndef               创建连通矩阵 imbothat             ...

  10. Linux跨用户copy文件

    foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录.Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root ...