Tag Archive for 'oracle'

AWR报告生成

一.生成AWR报告

[ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ cd $ORACLE_HOME/rdbms/admin
[ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Sun Jan 27 20:47:38 2008
Copyright (c) 1982, 2007, Oracle. All Rights Reserved/span>.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> @awrrpt
......

//根据Oracle提示生成报告……

 注:报告生成在$ORACLE_HOME/rdbms/admin/目录下。

二.修改awr的默认设置

//半小时采集一次,采集信息保存3天。

SQL>EXEC dbms_workload_repository.modify_snapshot_settings (INTERVAL=>30,retention =>3*24*60);

三.关闭AWR自动收集

SQL>EXEC dbms_workload_repository.modify_snapshot_settings (INTERVAL=>0,retention =>24*60);

:10g默认是自动开启awr信息收集的,会对系统有一定的影响(很小);如果要关闭awr信息收集,只需设置interval参数为0即可。但interval设0后,AWR报告无法生成。


Oracle常用命令

一.基础SQL语句

  • 查:select * from employees;
  • 增:insert into employees (Name , Birthday , Location , Salary) values (‘hyddd’,’1984-10-1′,’guangzhou’,999999);
  • 改:update employees set Salary=999999999 where Name=’hyddd’;
  • 删:delete from employees where name=’zhangsan’;

更多技巧请参考:SQL基本语句

 

二.PFile,SPFile管理

  • SPFile->PFile:
  • ##用生成对应SID的spfile生成pfile,生成的pfile位置:$ORACLE_HOME/dbs/init$ORACLE_SID.ora
    SQL
    > create pfile from spfile;
    ——
    ##自己指定生成文件的位置
    SQL
    > create pfile=/home/oracle/initorcl.ora from spfile;

  • PFile->SPFile
    • SQL> create spfile from pfile;

     

    三.启动,关闭数据库

    • 启动
      • SQL>startup

    • 关闭
    • SQL>shutdown normal
      SQL
      >shutdown transactional
      SQL
      >shutdown immediate
      SQL
      >shutdown abort

    四.修改SGA参数
    • 修改SGA的原则
      1. sga_target <= sga_max_size
      2. SGA加上PGA等其他进程占用的内存必须少于机器物理内存。
    • 命令
      • SQL>alter system set sga_max_size=2048m scope=spfile;
        SQL
        >alter system set sga_target=2048m scope=spfile;
        ##修改SGA的相关参数,只能spfile,然后重启数据库。不能直接scope
        =both!

    五.查询Oracle配置参数
    • 命令
      • SQL>show parameter;

    • 具体查询某个Oracle参数,只需输入部分关键字即可,比如:查询sga_target的值。
      • SQL> show parameter sga;

        NAME                                 TYPE        VALUE
        ———————————- ———– ——————————
        lock_sga                             boolean     FALSE
        pre_page_sga                         boolean     FALSE
        sga_max_size                         big 
        integer 2G
        sga_target                           big 
        integer 2G
        SQL
        >

    Continue reading ‘Oracle常用命令’

    Oracle的redo和undo区别

    写的次序:

    redo → undo → datafile
    insert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信息会放进硬盘上. 故障时, redo 便可恢复那些已经commit 了的数据.

    redo → 每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新把数据更新到数据文件
    undo → 记录更改前的一份copy,但你系统rollback时,把这份copy重新覆盖到原来的数据

    redo → 记录所有操作,用于恢复(redo records all the database transaction used for recovery)
    undo → 记录所有的前印象,用于回滚(undo is used to store uncommited data infor used for rollback)

    redo → 已递交的事务,实例恢复时要写到数据文件去的
    undo → 未递交的事务. Continue reading ‘Oracle的redo和undo区别’

    为什么叫oracle1.com

    凡是名都有意义,字就是代号。博客名从前一直叫”Fred Chu’s Weblog”,当然是不知道该叫什么好才取了这个名,现在叫Oracle One,一是因为有了自己的顶级域名,虽然不是那么牛,几个字母加数字的混合.

    但是在这个年代,注册一个简短但又有意思的域名真的太难了,本来想叫做DBA什么的,但是因为Oracle公司现在收购了SUN,所以就注册了oracle1.com这域名,意思就是说Oracle是No1的意思,虽然BLOG内容似乎与Oracle并没什么联系,但是这却成了一个可以填补的空白,就好像这是一支潜力股。

    网络的未来属于Web与HTML.

    Oralce master-slave replication

    不停地安装Oracle

    今天在Xen上运行了两个2GB内存实例的CentOS5.3虚拟机安装oracle10g, 可是一直出现

    Configuration assistant “Oracle Net Configuration Assistant” failed

    1
     ./runInstaller -silent -ignoreSysPrereqs -responseFile   /home/oracle/database/install/response/ee.rsp

    我想这是因为网络问题引起监听没有启动,所以,安装完成后直接运行

    1
    /opt/oracle/product/10.2.01/db_1/cfgtoollogs/configToolAllCommands

    接着在另外一个终端启动监听

    1
    lsnrctl start

    由于是动态监听.所以要大概30秒之后启动成功,注意是要在 PMON 服务进程启动成功之后才能运行 lsnrctl start. 也就是说要在 /opt/oracle/product/10.2.01/db_1/cfgtoollogs/configToolAllCommands 脚本建立数据库完成,创建实例并成功启动之后,也就是大概脚本运行到80%左右的时候.最后启动 em Web管理.

    1
     emctl start dbconsole

    EM启动有问题(我就遇到1158的java进程一直defunct状态,但是emangent却起来了),重新建立EM资料库,重新启动服务器.

    1
     emca -config dbcontrol db -repos recreate

    (*)update

    后来发现是因为缺少 libXp.so.6 而不能启动的(我想oracle应该有trace的工具,但是我现在还不知道怎么用,就想gdb或者strace一样?),于是在CentOS5.3上安装了 libXp 的RPM问题解决.

    Oracle Workforce Development Program

    Oracle Workforce Development Program 简称WDP,中文为“甲骨文职业发展计划”,目的在于让更多的非专业DBA拿到OCP认证,目前WDP在国内大力推广,在重庆我也报名了。15天的课程被压缩到12天(每天多上几个小时?)。价格为10700,优惠为10350。但是今天却有人说(免费给C-BASE广告一下):

    重庆ORACLE WDP_suki(1142980521) 2010-2-4 11:25:15
    ORACLE WDP西南中心和成都高新区合作.如公司在高新区注册及办公的公司员工学习OCP原厂培训三门课程+三门考试+1K的原厂教材仅需5350元…详情咨询023-78563505 刘小姐
    QQ客服-1142980521
    我头都气大了,1W的费用降为5000,我靠这不是变向降价吗,要不是冲着OCP的国际认证,我真的要置疑WDP的含金量,其实这也反应出成都市在科技方面的投入,而重庆政府呢?大家都看得到。

    Oracle

    Hello Oracle One

    今天把从2006开始的BLOG迁移到了DH上面,域名换成了Oracle1.com。因为我现在已经是Oracle的fans了 ;)

    JAVAMYSQL,再到LINUX,乃至根本的ORACLE DATABASE。都是我的研究方向,因为他们都属于ORACLE的业务!

    Oracle One, This is!

    Oracle Startup Script

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #!/bin/sh
    #
    # dbora   This scripts starts and shuts down the
    # oracle database
    #
    # chkconfig: 345 99 10
    # description: This script calls the dbstart script
    # to start Oracle
    #              and dbshut to stop it
    # processname: oracle*
    # config: /etc/oratab
    #
    # Set ORACLE_HOME to be equivalent to the $ORACLE_HOME
    # from which you wish to execute dbstart and dbshut;
    # Set ORA_OWNER to the user id of the owner of the
    # Oracle database in ORACLE_HOME.
    export ORACLE_BASE=/opt/oracle10
    export ORACLE_HOME=/opt/oracle10
    export ORACLE_SID=DSSDB
    ORACLE_HOME=/opt/oracle10
    ORA_OWNER=oracle
    if [ ! -f $ORACLE_HOME/bin/dbstart ]
    then
      echo "Oracle startup: cannot start"
      exit
    fi
    case "$1" in
    'start')
      su $ORA_OWNER -c $ORACLE_HOME/bin/dbstart &
      su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" &
    ;;
    'stop')
      su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop " &
      su $ORA_OWNER -c $ORACLE_HOME/bin/dbshut &
    ;;
    'restart')
      su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop " &
      su $ORA_OWNER -c $ORACLE_HOME/bin/dbshut &
      sleep 15
      su $ORA_OWNER -c $ORACLE_HOME/bin/dbstart &
      su $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl start " &
    ;;
    esac