Oracle 11g SQLPlus错误日志的记录功能
1.Oracle版本信息sys@11gR2> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 11g Enterprise Edition Release11.2.0.1.0 - 64bit ProductionPL/SQL Release 11.2.0.1.0 - ProductionCORE 11.2.0.1.0  ...
删除Oracle数据库监听器下的XDB.XPT. PLSExtProc服务
监听器大家都了解,详细的概念就不过多追述,当我们使用lsnrctl status看监听器状态的时候,除了自己建立的监听器外,还有一些其他的监听器,这无形中就给自己的数据库带来一定的风险,那么我们怎么才能去掉这些监听器呢?删除XDB服务:1.试着尝试使用dbms_service来停止和删除XDB服务.SQL>Begin  ...
Oracle数据库如何进行数据拯救
最近这段时间,接二连三的接到数据拯救的项目。本来觉得数据拯救是体力活,技术含量并不是很高,但是如果客户都有这种认识,在维护工作中掉以轻心,那么出问题的机会还是很高的。其实从数据库的角度来说,数据拯救不是万能的,数据库的安全第一关还是把空在DBA手里,如何把好第一关是十分关键的。DBA要了解到从Oracle的角度...
Oracle数据库锁机制
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上...
Oracle监听器动态注册与静态注册
一.什么是注册注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务(无论何时启动一个数据库,默认地都有两条...
Oracle动态参数与静态参数
视图 v$parameter 中 ISSYS_MODIFIABLE 列能够查看参数属性,ISSYS_MODIFIABLE ='IMMEDIATE'为动态参数、 ISSYS_MODIFIABLE ='FALSE' 为静态参数 、 ISSYS_MODIFIABLE ='DERERRED' 为延迟参数(当前会话不生效,后续的会话有效) 。1. 参数总数:SQL> select count(*) from v$system_parameter where issys_modifiable='...
Oracle完全检查点和增量检查点详解
由于Oracle中LGWR和DBWR工作的不一致,Oracle引入了检查点的概念,用于同步数据库,保证数据库的一致性。在Oracle里面,检查点分为两种:完全检查点和增量检查点。下面我们分别介绍这两种检查点的作用:1、完全检查点在Oracle8i之前,数据库的发生的检查点都是完全检查点。完全检查点会将数据缓冲区里面所有的脏数据...
Oracle数据库事物详解
一、事务概念: 概念:在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么完全成功执行,完成整个工作单元操作,要么一点也不执行。 主要特性:确保数据库的完整性。二、事务的ACID特性对一组SQL语句操作构成...
Oracle密码文件详解
一、密码文件作用:主要进行DBA权限的身份认证DBA用户:具有sysdba,sysoper权限的用户被称为dba用户。默认情况下sysdba角色中存在sys用户,sysoper角色中存在system用户 二、Oracle的两种认证方式;1.使用与操作系统集成的身份验证2.使用Oracle数据库的密码文件进行身份认证 三、密码文件的位置...
Oracle服务进程如何处理用户进程的请求
服务器进程在完成用户进程的请求过程中,主要完成如下7个任务:0.sql语句的解析1.数据块的读入dbbuffer2.记日志3.为事务建立回滚段4.本事务修改数据块5.放入dirtylist6.用户commit或rollback 0.sql语句的解析下面要讲oracle服务器进程如可处理用户进程的请求,当一用户进程提交一个sql时:updatetemp s...
Oracle的sqlplus的edit命令调用vi的设置方法
SQL> edit Wrote file afiedt.buf 40我的sqlplus刚开始使用edit命令时会如上面所示,我把vi设置为默认编辑器后就没问题了:SQL> set _EDITOR=viSQL> ed但这样我设置只是会话设置,以重新登陆后就会失效。如果想不劳永逸,你还可以把编辑器设置存到配置文件,每次自动使用该配置。修改$ORACLE_HOME/sqlplu...
Oracle的sqlplus支持上下翻页
一 写在前面 Oracle的SQL Plus默认不能使用上下键翻页,对于一个长期使用SQL Plus的用户来说实在不能忍受,为了支持使用上下键翻页,我们需要安装插件,本文介绍如何安装。我们需要IO-Tty-1.07.tar.gz、Term-ReadLine-Gnu-1.16.tar.gz、uniread-1.01.tar.gz三个文件,安装顺序如下:IO-Tty-1.07.tar.gz、Term-ReadLi...
Undo_retention&Guarantee
undo_retention:指定事物commit后undo 将要保存的时间(秒),在ORACLE10g中默认的是900秒。GUARANTEE : 保证undo_retention参数所设定的时间有效,这个是10g的新功能。SQL> ALTER TABLESPACE undotbs1 RETENTION GUARANTEE;SQL> ALTER TABLESPACE undotbs1 RETENTION NOGUARANTEE;在没有guarantee的保证下,ORA...
Oracle行迁移和行连接
row migeration:当发出update导致记录行长增加,block的剩余空间不足以存放这条记录,就会产生行迁移,发生行迁移时rowid不会改变,原来的block中会用一个指针存放这条记录在新的block中的地址,发生行迁移会对性能产生影响,因为读这条记录会读两个BLOCK。row chain:当一个BLOCK不足以存放下一条记录的时候,就会发生...
选出有行连接(row chain)或者是行迁移(row migeration)的表
自己编写的一个小脚本,该脚本的主要功能是选出有行迁移或者行连接的表,并且按照行迁移/行连接降序输出OWNER.TABLE_NAME,该脚本没有统计ORACLE系统内置的表,如果表的索引状态为unusable,也不能统计,请在数据库空闲的时候运行该脚本。 严重警告:请别在生产环境中乱用该脚本,后果自负set serveroutput onset line...
Oracle清空用户下的所有对象
--清空用户所有对象的脚本DECLARE CURSOR procInfo_cur ISSELECT o.object_name,o.object_type FROM (SELECT object_name, object_type, status, last_ddl_time, object_idFROM sys.user_objectsWHERE 1=1AND object_type IN ('FUNCTION', 'PROCEDURE', 'PACKAGE', 'TABLE','VIEW','SYNONYM','DATABASE ...
两条命令彻底杀死oracle
今天编写的两条极具杀伤力的命令,它可以瞬间将Oracle杀死在无形之中。后面我将给出简单注释并展示一下它的威力。$ ps -ef |grep $ORACLE_SID|grep -v grep|awk '{print $2}' | xargs kill -9$ ipcs -m | grep oracle | awk '{print $2}' | xargs ipcrm shm 这两条命令的来由:今天处理了三起Oracle数据库无故无...
查询一个月以来表空间的变化情况
自己写的一个小脚本,该脚本可以查询一个月一来表空间的变化情况,注意,该脚本只能在10g以及以上版本中运行,因为9i没有dba_hist_tbspc_usage这个视图select a.name,b.* from v$tablespace a,(select tablespace_id,trunc(to_date(rtime,'mm/dd/yyyy hh24:mi:ss'))datetime,max(tablespace_usedsize*8/1024) used_size ...
查询session的闲置时间
SELECT s.username, s.status,s.machine,s.osuser,spid, 'kill -9 '||spid, 'alter system kill session ' ||''''||s.sid||','||s.serial# || ''';', TO_CHAR (logon_time, 'dd/mm/yyyy hh24:mi:ss'),&n...
Oracle查看日志切换时间
两个sql,原理是一样的,第二个用到了统计函数。 时间单位:分钟 set linesize 200set pagesize 200select * from v$log where a.THREAD# = 1 set linesize 200set pagesize 200select b.SEQUENCE#, b.FIRST_TIME, a.SEQUENCE#, a.FIRST_TIME,  ...