Oracle在各类操作上LOCK_SGA的设置
AIX 5L(AIX 4.3.3以上)1. aix参数v_pinshm=1,默认是0,表示aix将支持pin住内存,设置方法为#vmo -p -o v_pinshm=12. aix参数maxpin%=内存百分比,默认80%,表示支持的最大的可pin住内存的比例,设置方法为#vmo -p -o maxpin%=903. oracle参数LOCK_SGA=true,表示oracle将使用这部分被pin住的内存,其实就是告诉oracle使用另外一种内存调用方法。HP UNIX1. root用户,创建权限配置文件/etc/privgroup# touch /etc/privgroup# vi /etc/privgroup添加"dba MLOCK"到该文件2. root用户,执行命令# /etc/setprivgrp -f /etc/privgr
使用Logmnr恢复误删的数据
1. 确认测试表T1当前的记录数SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';会话已更改。SQL> select count(*) from t1;COUNT(*)----------222. 测试delete操作,并记录前后时间戳(实战中,为了尽可能准确定位数据,也需要尽可能准确的获取时间戳)SQL> select sysdate from dual;SYSDATE-------------------2008-09-22 11:32:25SQL> delete from t1 where rownum<11;已删除10行。SQL> commit;提交完成。SQL> select count(*) from t1;COUNT(*)----------12SQL> select sysdate from dual;SY
创建测试物理Standby日志
操作系统: WindowsOracle版本:10.2.0.1主库SID: ALEX (192.168.217.1)从库SID: MYDG (192.168.217.201)一、创建过程:1、在主库执行force loggingSQL> alter database force logging;2、设置主库的参数文件和从库的参数文件:主库确认以下参数:--主库必要db_name='alex'DB_UNIQUE_NAME='alex'SERVICE_NAMES='alex'INSTANCE_NAME='alex'control_files='D:/oracle/oradata/alex/control01.ctl','D:/oracle/oradata/alex/control02.ctl','D:/oracle/oradata/alex/control03.ctl'LOG_ARCHIVE_CONFIG='DG_CONFIG=(alex,mydg)'LOG_ARCHIVE_
关于Listener Log的信息的深度挖掘
原址:http://aluocp.itpub.net/post/17417/4709521. 创建一个目录,以创建外部表,目录指向Listener_Log的目录create directory LISTENER_LOG_DIR as 'D:\oracle\ora92\network\log' /2. 创建一个完全读取L...
Oracle开发路线
A pretty simple mantra when it comes to developing database software:1. You should do it in a single SQL statement if at all possible.我们应该尽量使用单个SQL语句来实现应用需求;2. If you cannot do it in a single SQL Statement, then do it in PL/SQL.如果单个SQL无法实现,考虑使用PL/SQL来实现;3. If you cannot do it in PL/SQL, try a Java Stored Procedure.如果PL/SQL无法实现,接下来可以尝试使用Java存储过程来实现;4. If you cannot do it in Java, do it in a C external procedure.如果Java过程也不行,尝试使用
关于library cache lock和library cache pin严重等待的问题
今天系统出现严重等待问题,表现如下:1. 现象SQL> select count(*) from v$session; COUNT(*)---------- 379SQL> select count(*) from v$session where status='ACTIVE'; COUNT(*)---------- 120当前情况,较正常时候,total session有所减少,active session增加了9倍。[@more@]SQL> select * from v$session_wait where event not like 'SQL%' and event not like 'rdbms%';发现大量的library cache lock和library cache pin等待,最长等待session约为半小时。此时CPU使用率和内存使用率呈趋势性下降。2. 查看
在Oracle 10g下单机Physical Standby
参见: http://aluocp.itpub.net/post/17417/457564操作系统: WindowsOracle版本:10.2.0.1主库SID: ALEX从库SID: ALUOCP一、创建过程:1、在主库执行force loggingSQL> alter database force logging;...
使用BBED
1. 创建测试表空间SQL> CREATE TABLESPACE test DATAFILE2 'Y:/TEST01.DBF' SIZE 10M AUTOEXTEND OFF3 LOGGING4 ONLINE5 PERMANENT6 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M7 BLOCKSIZE 8K8 SEGMENT SPACE MANAGEMENT AUTO;Tablespace created[@more@]2. 创建测试表SQL> create table bbed tablespace test as select * from dba_tables;Table createdSQL> select count(*) from bbed;COUNT(*)----------4068SQL> select segment_name,file_id,block_id from dba_extents where segment_name='BBED';SEGMENT_NAME FILE_ID B
自动生成Statspack的脚本
以下为Oracle数据库,自动生成Statspack的脚本。可以设置在每天的23点许,一次性生成当天的数据库Statspack Report,时间范围为9:00~18:00的工作时间,抓取周期为1小时一次。以下为sql的脚本,shell部分可以根据具体OS环境确定,笔者环境为Windows 2003 Server。[@more@]set serveroutput onset feedback offset trims onspool sp_temp.sqldeclarecursor cursnap(sdate varchar2) isselect a.snap_id beginid,b.snap_id endid,'Z:dbashellmonitordba_logspcas_' || substr(sdate,5) || '_' || a.snap_time || b.snap_time ||'.log' repna