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. jenkins解决jenkins内存溢出问题

    在jenkins master-slave配置中,总是出现内存溢出问题,更换了机器设备仍然跑不起来: 问题如下: Status Code: 500 Exception: org.apache.comm ...

  2. printk函数日志级别的设置【转】

    本文转载自: 下面执行cat /proc/sys/kernel/printk 打印出的四个数字分别代表: 控制台日志级别.默认的消息日志级别.最低的控制台日志级别和默认的控制台日志级别 只有当prin ...

  3. jQuery : eq() vs get()

    .get(index) and .eq(index) both return a single "element" from a jQuery object array, but ...

  4. php socket的一些问题

    在php手册看到了php socket的例子 但有些socket_read的循环判断有一些问题 造成进程的阻塞 实例是用phpsocket实现 客户端连接到socket server 发送文本 接受文 ...

  5. zigbee学习之路(九):串口(发送)

    一.前言 今天,我们来学习和实验串口模块方面的,串口通信是我们常用的通信手段,通过串口交互,我们可以很容易的和pc机进行数据的交换和发送,所以我们今天就来学习一下.这个实验所进行的功能是一开始CC25 ...

  6. (1) 第一章 Java体系结构介绍

    1.网络带来的挑战和机遇 (1).挑战一: 网络包含的设备越来越广泛, 硬件体系不同, 操作系统不同,用途不同. java解决办法: 通过创建与平台无关的程序来解决这个问题.一个java程序可以不需要 ...

  7. MariaDB链接超时优化

    查看mysql server超时时间: MariaDB [(none)]> use xspeeder; MariaDB [xspeeder]> show global variables ...

  8. Linux Shell 文本处理工具集锦

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...

  9. Await Async Task

    class Program { static void Main(string[] args) { Console.WriteLine("=======Start Main!======== ...

  10. HDU-4526 威威猫系列故事——拼车记 动态规划

    分析:该题有2个地方要注意:所有的车要么不坐要么就坐满,这个贪心策略很容易证明是正确的,还有一点就是最后一辆车除外. #include <cstdlib> #include <cst ...