编译程序报 libclntsh.so.9.0: Permission denied
Exception in thread "main" java.lang.UnsatisfiedLinkError: /export/home/oracle/product/9.2.0/lib32/libocijdbc9.so: ld.so.1: java: fatal: /export/home/oracle/product/9.2.0/lib32/libclntsh.so.9.0: Permission denied [@more@]报权限不够,增加权限 # chmod 755 /export/home/oracle/product/9.2.0/lib32/libclntsh.so.9.0# ls -ltra /export/home/oracle/product/9.2.0/lib32/libclntsh.so.9.0
aq 引起的latch free 的完美解决方案
查出热点块 热点sql优化sql 问题解决 [@more@]oracle aq 问题,版主帮忙,江湖救急252 processes: 216 sleeping, 31 running, 3 stopped, 2 on cpuCPU states: 0.0% idle, 91.5% user, 8.5% kernel, 0.0% iowait, 0.0% swapMemory: 4096M real, 147M free, 5835M swap in use, 5522M swap free PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND10215 mpaper 17 43 0 547M 402M run 45:22 5.30% java22646 oracle 1 33 0 2230M 2223M run 22.0H 4.51% oracle22648 oracle 1
solaris 信号量,共享内存可编辑参数 含义
solaris 信号量,共享内存可编辑参数 含义[@more@]semsys:seminfo_semmni(Solaris 9 发行版)在 Solaris 10 发行版中已过时。说明 指定最大信号标识符数。数据类型 带符号整数缺省值 10范围 1 到 65,535是否为动态 否 验证 与 SEMA_INDEX_MAX(当前为 65,535)进行比较,如果数值较大,则重置为该值。警告消息会写入到控制台或消息文件中,或者同时写入到两者中。何时更改 当缺省集数不够时进行更改。通常根据软件供应商的建议进行更改。如果尝试创建的集数多于当前配置的集数,则不会显示任何错误消息。相反,应用程序会收到来自 semget
solaris 消息队列各参数含义 :
solaris 消息队列各参数含义 :[@more@]msgsys:msginfo_msgmni(Solaris 9 发行版)在 Solaris 10 发行版中已过时。说明 可以创建的最大消息队列数。数据类型 带符号整数缺省值 50范围 0 到 MAXINT是否为动态 否。已装入 msginfo 结构的 msgmni 字段中。验证 无何时更改 当 msgget(2) 调用返回错误 ENOSPC 时或者根据软件供应商的建议进行更改。承诺级别 不稳定msgsys:msginfo_msgtql(Solaris 9 发行版)在 Solaris 10 发行版中已过时。说明 可以创建的最大消息数。如果 msgsnd 调用尝试超过此限制,则请求会被延迟直到消息标题可用为止
rename 数据文件,在线文件路径
干净的关闭数据库,rename 数据文件,日志文件 [@more@]$ ls -llttotal 27709826-rw-r----- 1 oracle dba 7553024 Dec 25 16:47 control01.ctl-rw-r----- 1 oracle dba 7553024 Dec 25 16:47 control02.ctl-rw-r----- 1 oracle dba 7553024 Dec 25 16:47 control03.ctl-rw-r----- 1 oracle dba 524288512 Dec 25 16:47 redo02.log-rw-r----- 1 oracle dba 4194312192 Dec 25 16:47 sysaux01.dbf-rw-r----- 1 oracle dba 4194312192 Dec 25 16:47 system01.dbf-rw-r----- 1 oracle dba 4194312192 Dec 25 16:47 undotbs01.dbf-rw-r----- 1
动态sql 用法二 :
动态游标 的使用 : [@more@]游标声明: type tcur is ref cursor;c_corp tcur;v_qury :=’’打开动态游标open c_corp for v_query loop fetch c_corp into exit when c_corp not found ;end loop;close c_corp;
动态sql 的 用法 1:
1. 其中v_query 变量 可以是 ddl ,select,dml [@more@]create or replace procedure create_test(p_date varchar2) isv_date date;v_sqlstr varchar2(1024);beginv_date := to_date(p_date, 'YYYYMMDD') + 1;-- Create tablev_sqlstr := 'create table aa.test' || to_char(v_date, 'YYYYMMDD') || ' ' || '(' ||' ISDN VARCHAR2(21) not null,' || ' HOST VARCHAR2(4),' ||' R_FROM VARCHAR2(4),' || ' R_TO VARCHAR2(4) not null, ' ||' RECORD_TIME DATE default sysdate ' || ')';execute immediate v_sqlstr;end;==========
9i 10g 检查点的增强
v$instance_recovery fast_start_mttr_target [@more@]SQL> show parameter fastNAME TYPE VALUE------------------------------------ ----------- ------------------------------fast_start_io_target integer 0fast_start_mttr_target integer 300fast_start_parallel_rollback string LOWsql>select t.RECOVERY_ESTIMATED_IOS REIO,t.ACTUAL_REDO_BLKS ARB,t.LOG_FILE_SIZE_REDO_BLKS TRB,t.LOG_CHKPT_TIMEOUT_REDO_BLKS LCTRB,t.LOG_CHKPT_INTERVAL_REDO_BLKS LCIRB,t.TARGET_REDO_BLKS TMTTR,t.ESTIMATED_MTTR EMTTR,t.CKPT_
临时表空间被删除,恢复的办法
创建新的temp2修改数据库的临时表空间到temp2drop 原来的temp[@more@]创建新的temp2create temporary tablespace temp2 tempfile 'C:oracleoradataora101ttemp2_01.dbf' size 100m extent management local uniform size 128k;修改数据库的临时表空间到temp2alter database default temporary tablespace temp2; drop 原来的tempdrop tablespace temp including contents and datafiles ;
一个更新语句
update user_order s set s.area_code = (select t.area_code from isdn_head t where substr(s.user_isdn,1,6)=t.exchg_code or substr(s.user_isdn,1,7)=t.exchg_code or substr(s.user_isdn,1,8)=t.exchg_code )[@more@]user_order 表,字段user_isdn,area_codearea_code现在是空的,还有号段表 exchg_code,area_code能不能一条语句把area_code填上update user_order s set s.area_code = (select t.area_code from isdn_head t where substr(s.user_isdn,1,6)=t.exchg_code or substr(s.user_isdn,1,7)=t.exchg_co
数据库恢复的理解
理解数据库恢复的过程 :数据库在 open 的时候,进行2次检查 :[@more@]理解数据库恢复的过程 : 在数据库immediate 关闭的的时候,oracle 数据库将进行一系列的检查点的操作,使结束scn (v$datafile 中的last_change# ) 由无穷大变成 开始 scn (v$datafile_header中的checkpoint_change#)在数据库abort 关闭的的时候,oracle 数据库不进行一系列的检查点的操作所以结束scn 为无穷大,也就是空值。 数据库在 open 的时候,进行2次检查 : 1. 检查数据文件头中 v$datafile_header (checkpoint_count) 的值和控制文件的中的ch
ckpt 的 理解
何时触发检查点 检查点作写什么: [@more@]切换日志会触发checkpoint什么是checkpoint?checkpoint是一个数据库事件,它将已修改的数据从高速缓存刷新到磁盘,并更新控制文件和数据文件。什么时候发生checkpoint?我们知道了checkpoint会刷新脏数据,但什么时候会发生checkpoint呢?以下几种情况会触发checkpoint。1.当发生日志组切换的时候2.当符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL(8i),fast_start_io_target,fast_start_mttr_target(9i)参数设置的时候3.当运行ALTER SYSTEM SWITCH LOGFILE的时候4.当运行ALTER SYSTEM C
数据库正常运行,正常关闭,非正常关闭,各个scn 对比,试验
数据库正常运行,正常关闭,非正常关闭,各个scn 对比,试验[@more@]数据库正常启动后 系统检查点: SQL> select checkpoint_change# from v$database;CHECKPOINT_CHANGE#------------------ 1272827629数据文件检查点: SQL> select file#,checkpoint_change# from v$datafile; FILE# CHECKPOINT_CHANGE#---------- ------------------ 1 1272827629 2 1272827629 3 1272827629 4 1272827629 启动scn和 SQL> select file#,checkpoint_chan
oracle 常用命令
日志管理,表空间管理,用户管理,备份恢复管理[@more@]Oracle 常用命令大汇总 第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> alter system checkpoint; 3.adding online redo log groups sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m; 4.adding online redo log members sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1,
delete 后空间还可以继续使用测试:
create tablespace test datafile '/oracle/oradata/nindb/test01.dbf' size 10m;创建用户:赋权限 create user cs identified by cs default tablespace test temporary tablespace temp profile default; grant dba,resource ,connect to cs; alter user cs quota 10m on test;[@more@] delete 后空间可以继续使用 [折叠] 创建表空间: create tablespace test datafile '/oracle/oradata/nindb/test01.dbf' size 10m;创建用户:赋权限 create user cs identified by cs default tablespace test temporary
excel 到 oracle 数据库
方法一: 生成sql =" insert into tangyu_1 (aa,bb,cc,dd,ee,ff,gg) values ('"&A2&"','"&B2&"','"&C2&"','"&D2&"','"&E2&"','"&F2&"','"&G2&"'); "方法二生成csv 文件: 利用sqlldr 进行 导入数据库 [@more@]方法一: 生成sql =" insert into tangyu_1 (aa,bb,cc,dd,ee,ff,gg) values ('"&A2&"','"&B2&"','"&C2&"','&q
测试热备时scn 的情况
测试热备时scn 的情况[@more@]1.在没有热备份前: SQL> select checkpoint_change# from v$database;CHECKPOINT_CHANGE#------------------ 1272750703SQL> select file#,checkpoint_change#,last_change# from v$datafile; FILE# CHECKPOINT_CHANGE# LAST_CHANGE#---------- ------------------ ------------ 1 1272750703 2 1272750703 3 1272750703 4 1272750703SQL> select file#,checkpoint_change# from v$datafile_header; FILE# CHEC
scn 的理解
系统检查点scn(v$database(checkpoint_change#))数据文件检查点(v$datafile(checkpoint_change#))数据文件终止scn(v$datafile(last_change#))数据文件中存放的检查点启动scn (v$datafile_header(checkpoint_change#)[@more@]系统检查点scn(v$database(checkpoint_change#))数据文件检查点(v$datafile(checkpoint_change#))数据文件终止scn(v$datafile(last_change#))数据文件中存放的检查点启动scn (v$datafile_header(checkpoint_change#)1、系统检查点scn 当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中。 s
restore ,recover 时 scn 的变化:
restore ,recover 时 scn 的变化:[@more@]restore 后没有恢复,时的scn 情况SQL> select checkpoint_change# from v$database;CHECKPOINT_CHANGE#------------------ 1272749453SQL> select file#,checkpoint_change#,last_change# from v$datafile; FILE# CHECKPOINT_CHANGE# LAST_CHANGE#---------- ------------------ ------------ 1 1272750081 2 1272750082 3 1272750134 4 1272750135SQL> select file#,checkpoint_change# from v
oracle 日志分析
1. 确定那个日志文件2.日志分析[@more@]SQL> show parameter utlNAME TYPE VALUE------------------------------------ ----------- ------------------------------utl_file_dir string /u01/oracle/admin/test/cdumpsqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Sun Nov 20 21:58:37 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected.SQL> exec dbms_logmnr_d.build('oradic.ora','/u01/oracle/admin/test/cdump');PL/SQL procedure successfully co