Temp临时表空间、文件的新特性
临时表空间是Oracle体系结构中比较特殊的结构。通常情境下,数据库使用者只需要设置对应的临时表空间(到用户),临时段分配等工作都是系统自动完成。当临时数据不需要时,Oracle后台进程SMON也会负责将临时段回收。 在Oracle的备份恢复体系中,临时文件的地位比较低。在进行备份动作时,RMAN都不会进行临时文件恢复...
修改profile实现资源限制
当我们在一台机器上跑多个实例或者需要对某个用户进行资源限制,profile可以轻松帮助你实现这些功能。profile:配置文件的名称。Oracle数据库以以下方式强迫资源限制:1、如果用户超过了connect_time或idle_time的会话资源限制,数据库就回滚当前事务,并结束会话。用户再次执行命令,数据库则返回一个错误,2、如...
详细解读Oracle用户ACCOUNT_STATUS的九种状态
DBA_USERS视图中ACCOUNT_STATUS记录的用户的当前状态,一般情况下在使用的正常用户均处于OPEN状态。例如我们查看sec用户的当前状态,此时该用户处于OPEN状态,可以正常使用。sys@ora10g> select username, account_statusfrom dba_users where username = 'SEC';USERNAME ...
通过Oracle补充日志,找到锁阻塞源头的SQL
问题背景: 有时会考虑一件事情,如果在Oracle环境下出现了锁阻塞的情况,如何定位到SQL源头(通过session、lock、transaction等视图仅能定位到会话)?或许有人会想有没有可能通过AWR相关的数据库性能历史视图找到有用的信息呢?答案是否定的,因为AWR仓库中的历史性能数据都是收集的有性能问题的会...
使用PRODUCT_USER_PROFILE禁止特定用户在SQLPlus中使用delete语句
1.在sys用户下执行脚本pupbld.sql使PRODUCT_USER_PROFILE可用pupbld.sql脚本所在目录为$ORACLE_HOME/sqlplus/admin/pupbld.sqlsys@ora10g> conn / as sysdbaConnected.sys@ora10g> @?/sqlplus/admin/pupbld.sql2.向product_user_profile中出入如下限制信息sys@ora10g> insert intoproduct_user_profile(PRODUCT,...
使用Oracle PROFILE控制会话空闲时间
客户想实现对会话空闲时间的控制,下面是做的一个例子。Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\LIUBINGLIN>sqlplus sys/Oracle123@localhost:1521/hello as sysdba SQL*Plus: Release 11.2.0.3.0 Production on 星期二 4...
如何使用Logminer来分析具体的DML操作日志
如何使用Logminer来分析具体的DML操作日志在Oracle数据库维护中,常常需要分析原来数据库都做了哪些删除、更新、增加数据的操作,所以一般需要用到Logminer这工具来分析归档日志。环境:AIX5.3+Oracle10.2.0.1 使用IBM的Tivoli Storage Manager把数据库数据、归档日志备份到带库中1、确定具体时间的DML...
如何使用 orachk 工具
Oracle RAC 安装完毕后的健壮性是一个令人头疼的问题。之前Oracle为之专门推出了raccheck工具,确实方便了我们这些个苦逼的DBA。现在Oracle在raccheck的基础之上又推出了orachk. orachk包含了EXAchk 的功能并替换了流行的 RACcheck 工具,扩大根据用户报告的最重要问题的优先次序的覆盖面,并且主动扫描E-Business...
如何估算即将创建的索引大小
SQL> startupORACLE 例程已经启动。Total System Global Area 426852352bytes &...
如何更改Oracle字符集避免乱码
国内最常用的Oracle字符集ZHS16GBK(GBK 16-bit Simplified Chinese)能够支持繁体中文,并且按照2个字符长度存储一个汉字。UTF8字符集是多字节存储,1个汉字(简体、繁体)有时采用3个字符长度存储。 Oracle支持字符集的更改,但是UTF8是Oracle中最大的字符集,也就是说UTF8是ZHS16GBK的严格超集。对于子集到超集的...
亲测 logminer挖掘
LogMiner两种使用类型,一种是使用源数据库的数据字典分析DML操作,别一种是摘取LogMiner数据字典到字典文件分析DDL操作。检查下suppplemental logging:SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;如果是YES 或者IMPLICIT则表明已经生效了,否则需要启动:安装LogMiner 查看系统中是否存在运...
批量生成sqlldr文件,高速卸载数据
SQL*Loader 是用于将外部数据进行批量高速加载的数据库的最高效工具,可用于将多种平面格式文件加载到Oracle数据库。SQL*Loader支持传统路径模式以及直接路径这两种加载模式。关于SQL*Loader的具体用法可以参考Oracle Utilities 手册或者SQL*Loader使用方法。那么如何以SQL*Loader能识别的方式高效的卸载数据呢? Tom大师为...
批量插入,更新,删除数据
--插入数据: 123456789101112131415...
从ITL到Undo前镜像提取实验
“多版本一致读”是Oracle数据库的一个重要特性。Oracle中,一个数据行,如果正在进行数据块修改操作,而且尚未提交。其他会话的用户select的数据是该事务修改之前的数据行数据,也就是其“前镜像”。这样,Oracle中的Select操作是不会被DML事务所阻塞。 读取数据块的前镜像,是基于Oracle Undo机制完成的。...
从Dump数据块看ITL
在Oracle中,数据块block上存在记录事务信息的ITL(Interest Transaction List)。当一个数据库事务涉及到数据块对应的数据时,就会在当前数据块块头(block head)后面的ITL中记录上相应的信息。 本篇从数据块逻辑结构角度入手,分析ITL中所包括的内容和与事务对应的信息。 1、 环境准备...
truncate有外键约束的表,报ORA-02266处理
问题描述:当父表有子表的外键约束时,无法直接truncate父表。报ORA-02266:unique/primary keys in table referenced by enabled foreign keys。这里使用另一种办法来解决这个问题:先把外键失效,truncate表之后再把外键生效。SQL> truncate table machine_room;truncate table machine_room*ERROR at line 1:ORA...
sqlldr的用法总结
sqlldr userid=lgone/tiger control=a.ctl 其中,a.ctl为控制文件,内容: LOAD DATA --控制文件标识 INFILE 't.dat' -- 要导入的文件 INFILE 'tt.dat' -- 导入多个文件 INFILE * -- "*" 代表要导入的内容就在control文件里,下面的BEGINDATA后面就是导入的内容 INS...
ORALCE10G 位图索引探究
1. 实验目的 研究对oracle数据库位图索引进行DML操作的探究,加深理解位图索引的原理,指导实践中的应用。2. 实验环境操作系统平台Linux MyOracle 2.6.9-78.EL #1 Wed Jul 9 15:27:01 EDT 2008 i686 i686 i3...
Oracle中将小数转换成字符丢零.截取小数.除数为零解决法
如下所示,前面少个0SQL>select money fromusers where username ='LEI';money ---------.3256解决方法:SQL>select to_char(money ,'fm9999999990.00') fromusers where username ='LEI'; money---------0.3256 ...
Oracle中sessions和processes的大小关系(10g和11g不同)
session与process的设置关系session:指定了一个实例中允许的会话数,即能同时登录到数据库的并发用户数。process: 指定了一个实例在操作系统级别能同时运行的进程数,包括后台进程与服务器进程。由上面的分析可知,一个后台进程可能同时对应对个会话,因此通常sessions的值是大于processes的值从官...