• 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;

  • 相关阅读:
    ArcGlobe组件开发之动画4——加载保存动画
    ArcGlobe组件开发之3D符号化——接口篇
    ArcEngine 3D开发之3D符号化——接口篇
    ArcEngine 3D开发之IGlobeDisplayRendering2 接口
    ArcGlobe组件开发之IGlobeDisplayRendering2 接口
    oracle 11g各种下载地址
    redis memcached 和 mongoDb三者优缺点
    高并发 有哪些解决方案
    秒杀活动的高并发问题和超卖问题的解决方案
    php的运行原理,cgi和fast-cgi, php-cgi和php-fpm之间的联系区别
  • 原文地址:https://www.cnblogs.com/Matilda/p/7355966.html
Copyright © 2020-2023  润新知