ORACLE
文章平均质量分 85
小学生汤米
这个作者很懒,什么都没留下…
展开
-
Oracle checkpoint优化及原理分析
Purpose本文档旨在使数据库管理员更好地了解增量检查点(Checkpoint),并对检查点(Checkpoint)优化所用的下列四个初始化参数进行了描述:-FAST_START_MTTR_TARGET-LOG_CHECKPOINT_INTERVAL-LOG_CHECKPOINT_TIMEOUT...转载 2019-03-13 11:01:28 · 831 阅读 · 0 评论 -
Oracle 配置TAF Service 实现rac间节点的迁移
--ORACLE RAC TAF 配置(透明故障转移)TAF(Transparent Application Failover)即透明应用程序故障转移技术。当初始化连接出现问题无法连接时,该功能可以保证应用程序重新连接到可用服务。在重新连接过程中,之前的活动事务将会被回滚,但在“具体条件”下TAF可以保证SELECT语句不被终止。这也是RAC亮点之一。所谓的“具体条件”指的就是FAILOVER...原创 2018-08-07 09:43:08 · 1025 阅读 · 0 评论 -
Oracle 修改统计信息时间Gather_stats
1. 查看当前统计信息收集时间select t1.window_name,t1.repeat_interval,t1.duration from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2 where t1.window_name=t2.window_name and t2.window_group_name in ('M...原创 2018-07-10 15:39:50 · 1136 阅读 · 0 评论 -
Oracle 查看Oracle 安装组件component
CONNECT / as sysdbaSET lines 90 NUMWIDTH 12 PAGES 10000 LONG 2000000000ALTER SESSION SET nls_date_format='YYYY-MM-DD HH24:MI:SS';COL version FORMAT a12COL comp_id FORMAT a8COL schema LIKE versionCOL c...原创 2018-06-07 16:15:30 · 6223 阅读 · 0 评论 -
Oracle 如何以最快方式干净的关闭数据库的shutdown?
用于:Oracle Database - Enterprise Edition - 版本 9.0.1.0 到 11.2.0.2 [发行版 9.0.1 到 11.2]本文档所含信息适用于所有平台目标如何以最快方式干净的关闭数据库的?解决方案SHUTDOWN ABORT 是关闭数据库的最快方式。 但是,以这种形式关闭数据库会使数据库处于不一致的状态(没有回滚),在这种情况下的备份在下次启动时需要恢复...转载 2018-06-07 15:53:55 · 4565 阅读 · 0 评论 -
Oracle INDEX索引诊断脚本
1. 大多数脚本都依赖 index_stats 动态表。此表使用以下命令填充: analyze index ... validate structure;尽管这是一种有效的索引检查方法,但是它在分析索引时会获取独占表锁。特别对于大型索引,它的影响会是巨大的,因为在此期间不允许对表执行 DML 操作。虽然该方法可以在不锁表的情况下在线运行,但是可能要消耗额外的时间。一下索引诊断方式不需要使用上面的脚...原创 2018-06-07 15:37:09 · 646 阅读 · 0 评论 -
Oracle 数据挖掘logmnr使用
1. 测试数据准备create table test(a number(5),c varchar2(20));insert into test values(1,'lty');commit;2. 设置数据挖掘表空间,如果挖掘日志不多可以占用users表空间:create tablespace logmnrtps datafile '/home/dbfile/oradata/tstrisk1/log...原创 2018-06-07 14:12:56 · 405 阅读 · 0 评论 -
Oracle 重建控制文件ControlFile
重建控制文件要求:库未mount或open创建控制文件备份:alter database backup controlfile to trace;查看trace位置:oradebug setmypid;Statement processed.oradebug tracefile_name;或:show parameter user_dump_dest Trace内容如下:CREATE CONTRO...原创 2018-06-11 14:31:08 · 1826 阅读 · 0 评论 -
ORACLE 生产数据库数据迁移完善步骤
1. 设置新库为非归档模式,关闭flashback节点2执行:srvctlstop database -d prdweb sqlplus/ as sysdba;startupmountalterdatabase flashback off;alterdatabase noarchivelog;alterdatabase open;exit;srvctlstart instance -d...原创 2018-05-16 17:32:06 · 1612 阅读 · 0 评论 -
Linux 修改密码策略
1.安装一个PAM模块来启用cracklib支持,这可以提供额外的密码检查功能。在Debin,Ubuntu或者Linux Mint使用命令:sudo apt-get install libpam-cracklib 这个模块在CentOS,Fedora或者RHEL默认安装了。所以在这些系统上就没有必要安装了。 如要强制执行密码策略,我们需要修改/etc/pam.d这个与身份验证相关的文...转载 2018-08-16 15:09:27 · 10753 阅读 · 0 评论 -
Oracle 根据操作系统进程号查看会话
我想,根据操作系统进程号查看oracle对应的SQL语句内容,这一需求对sql优化有一定作用,今天整理了一下。1、 先用ps -aux查询,发现有个进程占用大量CPU,记录下PID2、查看哪个会话在执行什么SQL语句,进程号是多少:2.1 查看所有会话对应的sqlSELECT c.spid,b.sql_text, a.sid, a.serial#, osuser, machine ...转载 2018-08-27 09:40:58 · 3197 阅读 · 0 评论 -
Oracle 如何查看latch或row cache objects
1、业务现象:业务高峰期时,数据库处理能力陡降,超时严重。截图如下:查询active_session_history 发现均是平时的业务语句占用:select t.sql_id,s.SQL_TEXT, count(*) from v$active_session_history t,v$sqlarea s where t.SAMPLE_TIME > ...原创 2019-03-08 09:51:54 · 1498 阅读 · 0 评论 -
Oracle 数据库用户登录hang死问题处理
问题:用户登录数据库持续时间很长,sqlplus sysdba可以正常登录,其他用户可以正常登录。分析:通过尝试其他用户创建登录,均正常,监听正常。查看awr日志发现大量的如下等待事件。Statistic Name Time (s) % of DB Time connection management call elapsed time 2,316,700.1...原创 2019-03-07 13:46:51 · 1779 阅读 · 3 评论 -
Oracle删除大分区表
1. 查看数据总量,查看要删除的数据量,查看是否有索引,或全局索引。select sum(bytes)/1024/1024/1024 from dba_segments t where t.segment_name='MS_CUST_PRDT_DAY_PFT_D' and t.partition_name like 'P2016%';select t.partitioned, t.* fr...原创 2019-01-10 09:43:36 · 1042 阅读 · 0 评论 -
Oracle 设置sqlplus登录提示显示数据库名
cd $ORACLE_HOME/sqlplus/adminvi glogin.sql define _editor=viset trimspool onset pagesize 9999column plan_plus_exp format a80column global_name new_value gnameset termout offdefine gname=id...原创 2018-10-23 15:54:13 · 1136 阅读 · 0 评论 -
Oracle sql tune report使用
首先,sql必须是绑定变量的,其中如果有常量,常量应该是不变的。使用sqltrpt脚本进行分析,会得到分析报告的:sqlplus / as sysdba@?/rdbms/admin/sqltrpt分析报告中,主要关注5种建议:1)重新收集统计信息2)重写sql where中的不佳部分,例如,有索引列被放到函数中的3)建议建立相关表的索引4)通过分析sql找到的新的执行计划...原创 2018-10-08 16:08:45 · 771 阅读 · 0 评论 -
Oracle Sys用户删除其他用户下的dblink
Create or replace procedure Drop_DbLink(schemaName varchar2, dbLink varchar2 ) is plsql varchar2(1000); cur number; uid number; rc number...原创 2018-09-07 11:15:37 · 2124 阅读 · 0 评论 -
Oracle 查询SQL执行慢,多个只读节点,某个节点高,执行计划改变
1、查询执行计划改变的sqlselect sql_id,count(*) from (select t.SQL_ID,t.PLAN_HASH_VALUE from v$sql_plan t group by t.SQL_ID,t.PLAN_HASH_VALUE) group by sql_id order by count(*) desc 2、查询自启动起来SQL执行平均时间se...原创 2018-09-17 14:42:00 · 426 阅读 · 0 评论 -
Oracle 设置开机自启动
1. 首先修改/etc/oratab添加tst110:/u01/app/oracle/product/11.2.0/db:Y上面三个参数的意义分别为,实例名、ORACLE HOME、是否允许使用dbstart启动数据库2. 修改文件/etc/rc.d/rc.local,添加如下行:su oracle -lc "/u01/app/oracle/product/11.2.0/db/bin/l...原创 2018-09-06 20:43:54 · 324 阅读 · 0 评论 -
Oracle 根据SQL_ID查询并杀会话,清空执行计划缓冲池
1. 查询最近五分钟内最高频次SQL,查看eventselect t.SQL_OPNAME,t.SQL_ID,count(*) from v$active_session_history t where t.SAMPLE_TIME>to_timestamp('20180906-09:55:00','YYYYMMDD-hh24:mi:ss') and t.SESSION_TYPE='FOR...原创 2018-09-06 10:31:40 · 6064 阅读 · 0 评论 -
Oracle 查看补丁版本(OS层和数据库层)
#检查DB的当前的补丁情况 set linesize 500 col version for a10 col bundle_series for a8 col comments for a20 select version, bundle_series, comments from dba_registry_history; set linesize 100 col prod...原创 2018-08-29 13:23:10 · 7721 阅读 · 0 评论 -
Oracle 获取历史访问连接和当前连接
cat htef1_listener.log | grep -i zxapp |awk -F"[C][O][N][N][E][C][T]" '{print $2}'|awk -F"[P][O][R][T]" '{print $1}' |awk '!a[$0]++'netstat -anp|grep 1521|grep -i zxapp|awk '{print $5}'|awk -F"[:...原创 2018-08-24 09:34:23 · 3923 阅读 · 0 评论 -
Oracle 索引重建
alter index RCDATA.SYS_C007917 rebuild online;select bytes/1024/1024/1024 from dba_segments t where t.segment_name='SYS_C007917'select id,count(*) from RCDATA.TEXT_BASICINFO t group by t.id having cou...原创 2018-04-26 10:39:19 · 206 阅读 · 0 评论 -
Oracle 查看大表
select owner, table_name, sum(size_m) from (select s.owner, s.segment_name as table_name, s.bytes / 1024 / 1024 as size_m from dba_segments s, dba_tables t...原创 2018-04-24 17:30:01 · 2455 阅读 · 0 评论 -
Oracle undo表空间爆满的解决
1. 查找数据库的UNDO表空间名,确定当前例程正在使用的UNDO表空间:Show parameter undo_tablespace。 2. 检查数据库UNDO表空间占用空间情况以及数据文件存放位置;select file_name, bytes / 1024 / 1024 / 1024 from dba_data_files where tablespace_原创 2017-10-27 13:42:13 · 958 阅读 · 0 评论 -
ORACLE 各类博客
1. http://www.oratechinfo.co.uk/http://www.oratechinfo.co.uk/2. oracle官方文档汇总1> 10.2官方文档http://www.oracle.com/pls/db102/homepage2> 11.2官方文档http://docs.oracle.com/cd/E11882_01/index.htm转载 2017-09-26 17:08:46 · 545 阅读 · 0 评论 -
ORACLE 杀死锁进程
select t.SESSION_ID,s.SERIAL#,t.PROCESS,t.ORACLE_USERNAME,o.object_namefrom v$locked_object t, v$session s,dba_objects owhere t.SESSION_ID=s.SIDand t.OBJECT_ID=o.object_id; Alter system ki原创 2017-09-14 16:21:39 · 374 阅读 · 0 评论 -
Oracle 数据库异机升级
Oracle数据库异机升级环境:A机:RHEL5.5 + Oracle 10.2.0.4B机:RHEL5.5需求:A机10.2.0.4数据库,在B机升级到11.2.0.4,应用最新PSU补丁程序。目录:一、 确认是否可以直接升级二、 B机安装11g软件,打好PSU补丁三、 B机环境变量检查四、 B机创建需要的目录五、 A机原库升级前检查转载 2017-07-10 10:32:40 · 1043 阅读 · 0 评论 -
Mysql,Oracle,Pgsql 比较
MySQL 使用太广泛了,以至于我不得不将一些应用从mysql 迁移到postgresql, 很多开源软件都是以Mysql 作为数据库标准,并且以Mysql 作为抽象基础的,但是具体使用过程中,发现Mysql 有很多问题,所以都迁移到postgresql上了,转一个Mysql 和Postgresql 对比的文章: PostgreSQL由于是类似Oracle的多进程框转载 2017-07-17 16:24:40 · 2307 阅读 · 0 评论 -
ORACLE 一个简单的存储过程逐行处理
create or replace package packttt is type cur_ttt is ref cursor;end packttt;/create or replace procedure procttt(p_id number,p_cur packttt.cur_ttt)is v_sql varchar原创 2017-06-28 11:33:15 · 1123 阅读 · 0 评论 -
ORACLE 死锁问题剖析
检查alert.log,发现有死锁发生:Thu Nov 18 09:32:59 2010Global Enqueue Services Deadlock detected. More info in file /oracle/app/oracle/admin/tradeb/bdump/tradeb1_lmd0_2306186.trc.打开该trace 文件显原创 2017-06-14 17:08:42 · 1042 阅读 · 0 评论 -
ORACLE 手动创建或删除snapshot
--如果需要的话DBA可以通过DBMS_WORKLOAD_REPOSITORY过程手动创建、删除或修改snapshots.调用DBMS_WORKLOAD_REPOSITORY包需要拥有DBA权限。--1.手动创建Snapshots 手动创建Snapshots通过DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT过程--例如exec dbms_w原创 2017-06-27 10:18:26 · 7925 阅读 · 0 评论 -
ORACLE 快照过旧 ora1555
ORA-01555产生的过程我们先来看看ORA-01555是怎样产生的:错误记录在哪?通常,这个错误可能会在以下文件中出现:1Alert 告警日志文件报错信息类似:ORA-01555: snapshot too old: rollback segment number 107 with name "_SYSSMU107_1253191395$" too small2转载 2017-06-26 11:04:04 · 6662 阅读 · 0 评论 -
ORACLE 数据文件重命名(批量重命名,单独重命名)
1. 所有数据文件更换路径,包括control file,datafie,redo(1) create pfile='/home/oracle/tsto32.ora' fromspfile;(2)关闭数据库(3)更改参数文件中control file的文件位置(4)将所有文件拷贝到指定目录(5)startup nomount pfile='/home/oracle/tsto32原创 2017-06-12 13:21:28 · 2417 阅读 · 0 评论 -
ORACLE undo表空间满查询占用sql
select start_time, --事务起始时间 username, --用户名 s.MACHINE, --机器名称 s.OSUSER, --登录名 r.name, --回滚段名称 ubafil, --Undo block address (UBA) fi原创 2017-10-12 11:04:03 · 9007 阅读 · 0 评论 -
ORACLE 表和索引迁移表空间
表做空间迁移时,使用如下语句: 例1:alter table tb_name move tablespace tbs_name; 索引表空间做迁移,使用如下语句: 例2:alter index index_name rebuild tablespace tbs_name; 对于含有lob字段的表,在建立时,oracle会自动为lob字段建立两个单独的segm原创 2017-10-23 11:30:52 · 6453 阅读 · 0 评论 -
Oracle 创建用户profile和密码验证函数
1.创建用户脚本DROP USER ERMP CASCADE;CREATE USER ERMP IDENTIFIED BY <password> DEFAULT TABLESPACE ERMP TEMPORARY TABLESPACE TEMP PROFILE PROFILEUSER ACCOUNT UNLOCK; -- 1 System Privilege for ERM...原创 2018-03-14 09:58:53 · 2665 阅读 · 1 评论 -
Oracle 查看库所有大表(包括大字段,索引,子分区等)
Oracle 查看库所有大表(包括大字段,索引,子分区等)select owner, table_name, sum(size_m) from (select s.owner, s.segment_name as table_name, s.bytes / 1024 / 1024 as size_m from dba_se...原创 2018-03-02 17:12:31 · 2867 阅读 · 0 评论 -
Oracle 设置访问限制,IP层,用户层
Oracle 设置访问限制,IP层,用户层(特定用户禁止访问)1. 通过SQLNET.ORA文件配置IP地址白名单,黑名单sqlnet.oratcp.validnode_checking = yes #需要设置成yes,方可激活生效 tcp.invited_nodes=(10.240.1.8,10.240.1.7) ...原创 2018-03-16 09:49:24 · 1403 阅读 · 0 评论 -
Oracle 复杂监听配置
1.一个监听配置多个IP地址1)默认单个监听的监听LISTENER配置LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = tst104)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY原创 2018-02-07 11:40:52 · 341 阅读 · 0 评论