oracle课堂笔记--第二十一天

死锁:

session1:

SQL> select * from t1;

X

----------

1

2

SQL> update t1 set x=11 where x=1;

session2:

SQL> update t1 set x=22 where x=2;

session1:

SQL> update t1 set x=222 where x=2; 阻塞

session2:

SQL> update t1 set x=111 where x=1; 死锁

ERROR at line 1:

ORA-00060: deadlock detected while waiting for resource

$ vi /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

锁和外键

select … for update     select * from t1 for update;

撤销管理

什么是撤销数据:

1.交易的回退:没有提交的交易可以rollback

2.交易的恢复:数据库崩溃时,将磁盘的不正确数据恢复到交易前

3.读一致性  :被查询的记录有事务占用,转向回滚段找改前镜像

4.闪回数据  :从回滚段中构造历史数据

事务与撤销数据:

redo和undo:

AUM:

3个参数,两个表空间属性

undo_management=AUTO 回滚表空间段的段管理模式,管理员只需要备足够的表空间容量,oracle会自动管理扩展回滚段的数量。只能使用一个UNDO表空间。

undo_tablespace:只有在自动管理模式下才可以使用。指明使用哪个UNDO表空间

undo_retention=900 :

提交之后旧的镜像保持在回滚段中的时间。

非强制的回退保持时间.(回滚空间不足老的镜像就会被覆盖)

autoextend:表空间自动扩展

强制保持:但是对空间要求较大,要慎用。(10g开始支持)

alter tablespace UNDOTABS1 RETENTION GUARANTEE;

select  tablespace_name,RETENTION from dba_tablespaces;

UNDO_RETENTION specifies (in seconds) how long already committed undo information is to be retained. The only time you must set this parameter is when:

?The undo tablespace has the AUTOEXTEND option enabled

?You want to set undo retention for LOBs

?You want to guarantee retention

undo advisor:

调度作业

$ ps -ef | grep cjq

SQL> show parameter job_queue_processes

后台预先设置的自动化管理作业:

自定义作业:

SQL> create table session_history(snap_time timestamp with local time zone, num_session number);

em中创建作业:

使用plsql块:

declare

session_count  number;

begin

select count(*) into session_count from v$session;

insert into session_history values (systimestamp, session_count);

commit;

end;

select * from session_history;

全球化支持

$ vi .bash_profile

#export NLS_LANG=american_america.AL32UTF8

#export NLS_DATE_FORMAT=‘yyyy-mm-dd hh24:mi:ss‘

$ unset NLS_LANG

$ unset NLS_DATE_FORMAT

SQL> select sysdate from dual;

时间: 2024-11-08 02:12:56

oracle课堂笔记--第二十一天的相关文章

oracle课堂笔记--第十八天

Oracle NET 1.客户端通过@ora10g的名字去tnsname.ora文件获取服务器的具体连接信息 2.客户端通过tnsname.ora中的描述向服务器发出链接请求服务器端 3.服务器的监听器接收到连接请求后,验证请求的服务的有效性 4.服务器端产生一个服务进程和客户端进程建立连接 查看会话建立过程: $ netstat -tlnp | grep 1521 $ sqlplus sys/[email protected] as sysdba $ netstat -tnp | grep s

oracle课堂笔记--第十三天

自连接: empid ename mgrid 100 abc 101 def 100 102 xyz 100 emp: mgr: empid ename mgrid empid mgrname 100 abc 100 abc 101 def 100 102 xyz 100 101 def 100 100 abc 102 xyz 100 100 abc select emp.ename, mgr.mgrname from emp, mgr where emp.mgrid=mgr.empid emp

oracle课堂笔记--第十二天

分组函数   ,多行函数 对非空的数据总结 只有在列里才先把空值排除 分组不需要 SQL> select count(*), sum(salary), avg(salary), min(salary), max(salary) from employees; SQL> create table t1(x int); SQL> insert into t1 values (null); SQL> insert into t1 values (1); SQL> commit; S

Oracle课堂笔记

/* *创建表空间(以system的身份) */CREATE TABLESPACE spc_myself--表空间名称(spc_myself)DATAFILE 'E:\datafiles\MYSELF.DBF'--DATAFILE指定表空间的一个或多个数据文件,'数据文件的路径和名称'SIZE 30M--文件大小,M兆的字节大小AUTOEXTEND OFF--禁止数据文件自动扩展 /* *删除表空间 */DROP TABLESPACE spc_myself /* *创建用户 */CREATE U

oracle 课堂笔记

分页查询语句 语法简介  三重嵌套 select * from ( Select emp.*,rownum as rn from (seect * from emp ) where rownum <=9 ) where rn>=7 一.表字段的增删改: 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modif

九章算法系列(#2 Binary Search)-课堂笔记

前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一节课,说真的很实用,特别是对于我这种算法不扎实,并且又想找工作,提高自己的情况. 那就不多说废话了,以后每周都写个总结吧,就趁着这一个月好好把算法提高一下.具体就从:课堂笔记.leetcode和lintcode相关习题.hdu和poj相关习题三个方面来写吧.希望自己能够坚持下来,给大家分享一些好的东

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

2017年5月12号课堂笔记

2017年5月12号 星期五 空气质量:轻度污染(昨天的北风转今天的南风) 内容:html表格的基本使用,表格跨行跨列,高级表格,播放音乐,播放视频,网页布局,iframe内联框架: 文本框,密码框,单选按钮,复选框,下拉框  备注:周日晚想起来补上的周五课堂笔记(一带一路今天开会天气好晴朗) 一.html表格的基本使用 模仿老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset=&q

oracle学习笔记之用户管理-3

用户权限机制 1.不同用户表权限的赋予 grant select on scott.emp to software; ---当前登录用户为表所有者,则表名前不用指定所属用户 2.用software登录后 select * from scott.emp; ---software才有权限查询到scott的emp表 方案(schema) 当用户创建好后,如果该用户创建了一个数据对象(如表),此时dbms会创建一个对应的方案与改用户对应,并且该方案的名称和用户名称一致. system与scott都拥有自