oracle
文章平均质量分 73
践行见远
暂时喜欢做技术希望能够学到更多东西
展开
-
11g参数之deferred_segment_creation
deferred_segment_creation 布尔型默认值为true这个参数10gR2中是没有的,11g中才有从字面意思也可以看出来,当这个参数设置为true时,当创建一个表的时候,不给它分配segment,即不分配空间,当向这个表中插入第一条数据的时候才开始分配segment。设置为true的优点:在创建一系列表的时候,若事先已知许多表并没有数据,可以指定这个参数为原创 2014-11-20 15:10:43 · 14489 阅读 · 0 评论 -
oracle错误密码导致library cache lock
问题现象: 数据库批量更换了登录密码后,客户端连接数据库特别慢,需要等好长时间才能返回登录结果。提取数据库awr,发现大量的library cache lock事件。问题分析:1、 由于数据库更换密码之后,有部分应用没有及时更换为正确密码,应用持续的以错误密码重试。2、 Oracle 11g中增加了用户密码错误延迟登录。用于防止通过猜测口令攻击。问题解决:原创 2017-12-10 18:00:40 · 836 阅读 · 0 评论 -
【inernal】oracle中number类型存储解析
首先需要回答的两个问题。1、number类型跟指定精度的number类型相比是否浪费存储空间? number类型不指定精度即相当于设置了number的最大精度(38位)。 number类型的实际存储机制与varchar雷同,即存储多少数据占用多少空间。 number类型下存储的23.23和number(9,3)下存储的23.23都是一样的。 所以绝大多数情况下n原创 2017-12-10 17:58:37 · 4815 阅读 · 1 评论 -
【sql】oracle运维之rman备份情况统计
------查看备份量select to_char(start_time, 'yyyymmdd'), round(sum(a.output_bytes) / 1024 / 1024 / 1024, 2) gb from v$rman_status a where a.start_time between trunc(sysdate - 16) and trunc(sy原创 2017-12-10 17:38:31 · 379 阅读 · 0 评论 -
【sql】oracle运维查看隐含参数
oracle的隐含参数无法通过v$parameter 或show parameter 查看,只能通过以下语句进行查找。SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ FROM SYS.x$ksppi x, SYS.x$ksppcv y WHERE x.inst_id = USERENV('Instance原创 2017-12-10 17:36:40 · 221 阅读 · 0 评论 -
【sql】oracle运维sql之权限
oracle权限分为系统权限、角色权限、对象权限三个级别。有时候梳理个别用户的权限需要把以上三类都查个遍才能完整知道该用户的权限信息。-------系统权限,直接通过grant create table to username此类赋权语句赋权。select b.grantee, b.privilege, b.admin_option from dba_users a, dba原创 2017-12-10 17:33:01 · 359 阅读 · 0 评论 -
【sql】oracle运维sql之event
首先,应用反映数据库有问题的时候,需要先查一下数据库当前活动会话都在干什么。然后根据最大的等待事件,判断下一步,比如top 事件是db file sequential read、db file scattered read、direct path read等io事件,则要查一查系统io情况。比如是一些enq tx row lock contention、enq index contenti原创 2017-12-10 17:22:36 · 451 阅读 · 0 评论 -
【tool】bbed的安装及使用
1、11g下bbed的安装windows环境下没有提供bbed,以下操作均为linux环境下操作。11g下编译安装bbed缺少文件,需要从10g中拷贝相关文件 其中把sbbdpt.o和ssbbded.o拷贝到$ORACLE_HOME/rdbms/lib/目录下。 把bbedus.msb和bbedus.msg拷贝到$ORACLE_HOME/mesg/目录下。然后手动编译c原创 2017-02-20 11:42:00 · 1386 阅读 · 0 评论 -
【internal】oracle数据块解析
首先区分两组函数dump('字符',1016)utl_raw.cast_to_raw('字符')utl_raw.cast_to_varchar2('十六进制编码')dump字符后为格式,分为8,10,16,分别表示其进制,如果加上1000,如1010,1016,1008则要显示字符集信息。这组函数翻译raw类型和字符类型数据,默认是读取定长分割的十六进制数据。对于GBK编码原创 2017-02-20 11:35:24 · 826 阅读 · 0 评论 -
【tool】ADDM和STA
1、ADDM(Automatic Database Diagnostic Monitor)自动诊断监视工具ADDM是分析快照区间的信息提出的优化建议,它的建议大部分是实例级别的,比如内存参数建议,比如提示硬解析过高这种。这个工具使用非常简单,不需要安装或配置,只需要系统参数STATISTICS_LEVEL设置为typical或all就行了。具体操作取出要进行诊断的快照ids原创 2017-02-20 11:27:48 · 473 阅读 · 0 评论 -
scn及检查点概念解析
1、SCN的概念SCN可以理解为oracle的内部时钟,是oracle内部自己维护的一个只增不减的序列,oracle的每个事物都是靠SCN来标示发生的先后顺序。因为若是以系统时间为依照,若发生系统时间调整,则oracle的内部事物顺序就乱套了。获取系统当前SCN号有两种方式 select a.CURRENT_SCN from v$database a; select原创 2017-02-20 11:26:42 · 2360 阅读 · 0 评论 -
【event】tx:allocate ITL entry
ITL(Interested Transaction List),也叫事务槽,是存储在数据块头部的一部分记录对该数据库进行操作的事务的信息。其格式如下Itl为事务槽编号,1,2,3,4……Xid为事务槽记录的事务信息。以点分割,分别对应v$transaction中的XIDUSN、XIDSLOT、XIDSQN。Uba为事务槽记录的undo信息。以点分割,分别对应v$transac原创 2017-02-20 11:25:07 · 776 阅读 · 0 评论 -
undo管理
undoundo是保存你过去数据的地方,即如果你update了一行,则原值会放在undo segment中,或者你delete了一行,原值也会放到undo中。作用1、rollback回退。也包括flashback。2、consistent读。存放位置11g中是存放在专门的表空间,undo表空间内的,如果系统没有undo表空间,则undo segment会存放在system表原创 2017-02-20 11:05:40 · 1300 阅读 · 2 评论 -
pl/sql developer创建job
1. 鼠标右键点击 jobs 弹出 Create Job 对话框,如下图: 2. 在对话框中输入相应的值,如下图: 其中: What ——作业执行时将要调用的存储过程; Next date ——下一次作业执行时间; Interva转载 2017-02-20 11:02:39 · 1075 阅读 · 0 评论 -
静态表oracle迁移greenplum方案
1、 流程 Sqluldr2:这个是楼方鑫大神开发的一个基于oracle oci的导出工具。需要单独下载。是一个直接可用的可执行文件。这个工具依赖一些oracle的动态链接库,需要在装有oracle环境(装client也行)执行。https://yq.aliyun.com/articles/210400?utm_content=m_30850平面文件:就是用文本工具直接可读的原创 2017-12-10 18:14:32 · 1764 阅读 · 0 评论 -
【internal】oracle增删字段影响分析
1、Oracle中值为null的column如何存储dumporacle块后发现列总数不同其中发现了*NULL* ,应该为空的存储为 *NULL*。这样的话就应该所有的行列数都相同,等于表的列数才对。验证过程:表结构如下 插入不同的数据,其中第二行第三行分别对首列及二三列做了空置处理。 insert into wjf_002 (id,fst_name原创 2017-12-10 18:09:47 · 836 阅读 · 0 评论 -
【internal】redo生成机制
redo生成流程oracle10g之后引入的IMU(in memory undo)机制,这个机制改变了部分redo的生成机制,所以,redo生成流程必须分两部分介绍:传统流程IMU机制下的流程。 先说下如何区分系统是否使用了IMU。10g以后,默认是启用了IMU的,但有些条件下IMU被关闭。这些条件有1、RAC环境中2、数据库级别启用了supplement lo原创 2017-12-10 18:29:22 · 463 阅读 · 0 评论 -
【oracle】STA基本使用步骤
STA 使用方法--- 传入sql_id进行解析declare my_tuning_task varchar2(30);begin my_tuning_task := dbms_sqltune.create_tuning_task(sql_id => '&sqlid', ...原创 2019-07-30 16:59:44 · 1413 阅读 · 0 评论 -
【oracle】清理单个sql在share pool中执行计划的方法
一个清理单个sql执行计划的方法----dbms_shared_pool.purge:#-------首先根据sql_id取出内存地址和hash_value,语句如下select address, hash_value, sql_text from v$sqlarea where sql_id = '3nvuzqdn6ry6x';#-----...原创 2019-07-30 16:59:59 · 859 阅读 · 0 评论 -
【oracle】根据oracle表生成mysql 建表语句的存储过程
写了一个从oracle表生成mysql 建表语句的过程如下。有些部分是定制化需求,需要根据实际使用场景微调。create or replace procedure p_wjf_ora_to_mysql(i_tablename in varchar2, i_tab_owner in varchar...原创 2019-07-30 17:00:53 · 718 阅读 · 0 评论 -
Oracle函数之LISTAGG
原文链接:https://www.cnblogs.com/ivictor/p/4654267.html前面刚说了wm_concat函数,没过几天用的时候,就报这个函数找不到了。于是有找到了新的替代函数,listagg,而且用起来更好用了。下面我们来看看其具体用法。用法:对其作用,官方文档的解释如下:For a specified measure, LISTAGG ord...转载 2018-11-12 18:07:09 · 17471 阅读 · 0 评论 -
MySQL中函数CONCAT及GROUP_CONCAT 对应oracle中的wm_concat
1、concat()函数1.1 MySQL的concat函数可以连接一个或者多个字符串,如mysql> select concat('10');+--------------+| concat('10') |+--------------+| 10 +--------------+mysql> select concat('11','22','33')...转载 2018-08-13 17:05:56 · 8321 阅读 · 1 评论 -
ORACLE GOLDENGATE: WHAT IS ADD TRANDATA REALLY DOING?
原文:https://www.bersler.com/blog/what-is-add-trandata-really-doing/ In the process of data replication using Oracle GoldenGate the first step is assuring that all the needed information has been wr...转载 2018-07-25 13:58:06 · 3405 阅读 · 0 评论 -
转个sqlplus报告模板
-----定义工具名称define v_tool_name=wjf_tool-----定义输出文件名define fileName=wjf_tool_fileprompt prompt +----------------------------------------------------------------------------+prompt | ...转载 2018-05-28 15:05:05 · 261 阅读 · 0 评论 -
oracle 批量commit程序块
declare cursor c1 is select rowid from wjf.wjf_t01 where state is null; type typ_row_id is table of urowid index by binary_integer; v_doi typ_row_id;begin open c1; loop fetch c1 bulk collec...原创 2018-05-02 14:50:41 · 1960 阅读 · 0 评论 -
oracle 限制IP访问
出于数据安全考虑,对Oracle数据库的IP做一些限制,只有固定的IP才能访问。修改$JAVA_HOME/NETWORK/ADMIN/sqlnet.ora文件增加以下内容(红色表示注释):#开启ip限制功能tcp.validnode_checking=yes#允许访问数据库的IP地址列表,多个IP地址使用逗号分开tcp.invited_nodes=(192.168.1.110)#禁止访问数据库的I...转载 2018-02-08 11:09:07 · 1740 阅读 · 0 评论 -
After new files are added to primary, rman fails at Standby with ORA-20079: Full Resync From Primary
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.APPLIES TO:Oracle Database - Enterpris...转载 2018-02-27 10:42:03 · 530 阅读 · 0 评论 -
ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes解决办法
解决办法:在begin后面加上DBMS_OUTPUT.ENABLE(buffer_size => null) 表示输出buffer不受限制。转载 2018-01-17 15:46:44 · 1519 阅读 · 0 评论 -
【internal】undo内部机制
undo表空间管理方式SQL> show parameter undo NAME TYPE VALUE------------------------------------ -----------------------------------------undo_management string AUT原创 2017-12-10 18:31:54 · 346 阅读 · 0 评论 -
【tool】基于主键的表在线重定义
以下为整个实验过程,主要是把一个表通过在线重定义改为分区表创建源表create table wjf_user_objects as select * from user_objects创建索引、约束、触发器(为了验证在线重定义对这些信息的复制情况)create index idx_wjf_user_objects_wjf_001 on wjf_user_objects(objec原创 2016-10-08 22:39:10 · 385 阅读 · 0 评论 -
【tool】logminer的使用
执行脚本创建logminer需要的资源1、SQL> @D:\003ZiXueXi\product\11.2.0\dbhome_1\RDBMS\ADMIN\dbmslm.sqlPackage createdGrant succeededSynonym created2、SQL> @D:\003ZiXueXi\product\11.2.0\dbhome_1\RD...原创 2016-10-08 22:27:55 · 309 阅读 · 0 评论 -
oracle字符集问题
http://www.itpub.net/thread-933964-1-1.html 系统 --------------- 客户端 -----------------------数据库Local nls_language nls_characterseet、nls_nchar_characterset首先应该区分字符集跟语言原创 2014-05-28 15:55:41 · 773 阅读 · 0 评论 -
一次windows漏洞导致的ora-07445错误整修记录
前段时间,有客户反应他们的oracle数据库监听起不来了,发来的系统报错日志为:错误应用程序 TNSLSNR.EXE,版本0.0.0.0,错误模块orahasgen10.dll,版本10.2.0.1,错误地址0x0000000000353d0。客户做的是MSCS双机,但是主机的监听起不来之后,它也不自动切到备机上。最后客户关掉主服务器后,所有资源才切到备机上,之后就是数据库在备机上运行,主原创 2014-02-18 10:10:03 · 2070 阅读 · 0 评论 -
Oracle database启动过程分析
实例跟数据库的区别实例(instance)是内存中的一块区域和一组后台进程的集合。它的作用是维护数据库文件的。而数据库(database)则是指存放数据的数据库文件。它是一系列格式化的数据的集合。它只有挂载到实例上,才能被访问,维护。Oracle启动过程要启动一个oracle数据库,首先需要启动一个实例,然后把数据库文件挂载到这个实例,最后把数据库设置成打开模式。这样就完成了一个数据库原创 2014-02-16 22:40:59 · 1330 阅读 · 0 评论 -
一次ORA-15055 ORA-12547 RAC中一个节点不能识别asm磁盘解决办法
环境是在AIX6.1上安装的oracle11.2.0的RAC。只是在rac1上运行dbca建库的时候,发现rac1上发现不了asm磁盘组。首先检查磁盘组挂载情况su - grid #进入grid用户环境sqlplus / as sysasm #连接到asm实例select name,state from v$asm_diskgroup #检查磁盘原创 2014-02-20 19:39:41 · 2679 阅读 · 0 评论 -
ora-01031:insufficient privileges解决方法总结
今天遇到此错误,解决后不太清楚其中原理,上网查询后明白一些,转载网上的文章作为记录,也供大家参考。主要是 sqlnet.ora 文件和 remote_login_passwordfile 参数影响。一直以来,我记住的一个知识点就是:SQLNET.AUTHENTICATION_SERVICES=(NTS)是使用OS认证的必须条件之一。今天一个偶然的机会,才知道这个结论是不完全转载 2014-02-07 09:12:04 · 9918 阅读 · 0 评论 -
关于oracle数据块跟操作系统数据块的关系
参考文档:http://www.itpub.net/thread-1081114-1-1.htmlhttp://storage.it168.com/a2011/0323/1169/000001169755_all.shtmlhttp://www.msexchange.org/articles-tutorials/exchange-server-2003/planning-archite原创 2013-12-09 16:59:09 · 3671 阅读 · 0 评论 -
制作rawdisk
参考文档:http://www.itpub.net/thread-290655-1-1.htmlhttp://www.doc88.com/p-471422179378.htmlhttp://wenku.baidu.com/link?url=wYo9CHrh86ijQgfN0A1tF-Lskko3TiEdlPimAWSlf3eubR6udDiLEkcLq_uQAC2tm1u9rjzGgL原创 2013-11-27 11:38:25 · 3447 阅读 · 0 评论 -
oracle grid的概念和asm的配置
参考文档:http://blog.sina.com.cn/s/blog_3d2d79aa0100hp8s.htmlhttp://book.51cto.com/art/201208/353835.htmhttp://blog.csdn.net/aaron8219/article/details/10313397Grid的概念。Grid中文意思为网格,从oracle10g、11g后原创 2013-11-27 11:44:16 · 12400 阅读 · 0 评论 -
win2003上配置RAC
网络配置两块网卡对应命名为public和private,并在高级设置中是public的优先级高于private分别为两块网卡设定静态IP,使两个机器可以互相ping通更改host文件,在%system%\windows\system32\dirvers\etc\目录下,打开host文件,加入如下内容192.168.1.2 rac1192.168.1.3 rac210.10.10.2 rac1-pr原创 2013-07-28 19:40:21 · 933 阅读 · 0 评论