enmo_day_02
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的更多相关文章
随机推荐
- 如何知道btree树的高度
来自网络,总结到这里: 当我想看btree树高度的时候,筛选出来这篇文章"为什么 B-tree 在不同著作中度的定义有一定差别?",知道了高度的算法是这个公式:但是里面又提高t和出 ...
- usermod
环境: [root@vm-xiluhua][/]# cat /etc/redhat-release CentOS Linux release (Core) usermod usage:(本人使用的版本 ...
- 2016年上半年金融类App成绩单,手机银行优势尽显! (转自Analysys易观(ID:enfodesk))
2016已悄然时过大半,金融各领域经过了开年大战,二季度末尾的6月更是几家欢喜几家愁,其中频繁出现的黑马更是足够让人惊喜.我们基于易观千帆6月移动应用大数据,筛选了百款金融类App为您揭晓TOP100 ...
- JAVA基础知识之JDBC——ResultSet的滚动和更新(statement的额外参数)
ResultSet不仅可以内存中的一张二维表一样保存statement执行SQL的结果集,还能通过结果集修改DB的数据.ResultSetMetaData则可以用来获得ResultSet对象的相关信息 ...
- SELinux深入理解
ps:今天在远程给服务器配置https的时候,一直乱码,以前做系统的系统第一件事情,就是关闭selinx,今天忘记了,然后就悲剧了... 弄了半天才弄好,镇定思痛,好好的来看下selinux 1. 简 ...
- [问题2014S03] 复旦高等代数II(13级)每周一题(第三教学周)
[问题2014S03] 设 \(A\in M_n(\mathbb R)\) 是非异阵并且 \(A\) 的 \(n\) 个特征值都是实数. 若 \(A\) 的所有 \(n-1\) 阶主子式之和等于零, ...
- loadrunner常用术语
1.场景 在loadrunner中主要表现为controller中设计与执行测试用例中的用户场景.主要工作有,在controller中选择虚拟用户脚本.设置虚拟用户数量.配置虚拟用户运行时的行为.选择 ...
- C#中调用Matlab人工神经网络算法实现手写数字识别
手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化 投影 矩阵 目标定位 Matlab 手写数字图像识别简介: 手写 ...
- servlet学习笔记_1
一.动态页面和静态页面 动态页面&静态页面:如果浏览器在不同时刻不同条件下访问web服务器的某个页面,浏览器所获得的页面内容会发生变化,那么这种页面称之为动态页面.动态页面和静态页面的区别在于 ...
- IAR更改代码字体&快速模板设置。——Arvin
1.是用软件提供的字体 如果只想简单的设置,可进行如下设置Tools->IDE Options->Editor->Colors and Fonts->Editor Font-& ...