
Oracle
文章平均质量分 78
英雄史诗
这个作者很懒,什么都没留下…
展开
-
CentOS开机启动数据库和应用
1、环境centOS 7.6 64位Oracle 11g 11.2.0.4 64位2、方法:在rc.local文件中增加自动启动的命令touch /var/lock/subsys/localsu - oracle -c 'dbstart'su - oracle -c 'lsnrctl start'cd /usr/local/nginx/sbin && ./nginxcd /home/newfis/newfisWebapp && s原创 2022-04-26 14:56:26 · 868 阅读 · 0 评论 -
Oracle connect by与level的使用
1.level是什么?level是在树形结构中、表示层级的伪列。1.1树形结构Oracle支持树形结构的查询,用关键字connect by 表示。connect by表示在构造树形结构时,上下级的确定方式或者用来查找下(上)级记录的条件,满足这个条件就拼到结果树里。默认是从根开始,如connect by prior id=pid,表示构造树时,本记录的id是下条的pid,即找pid=本条id的记录做下条记录。交换prior位置,表示从叶开始。如connect by id= prior pid,原创 2022-03-04 11:12:54 · 20173 阅读 · 6 评论 -
oracle 修改字符集 修改为ZHS16GBK
将数据库启动到RESTRICTED模式下做字符集更改:SQL> conn /as sysdba Connected. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 236000356 b转载 2021-08-04 14:04:17 · 2661 阅读 · 2 评论 -
Oracle字符集参数的原理和影响
1、多语言和字符集多语言问题经过前人的提炼,简化为3个概念:语言Language、国家Nation、字符集。语言:中文、英文、德问、日文等;国家:支持同语言不同地域的书写习惯,如货币符号、日期、地址等。字符集:包含字符个数和编码规则。如gb2312、gbk,前者支持的汉字少,后者支持的汉字多;还有utf-8,同样的汉字对应的编码(编号)不一样。一般前2个只设定了显示、消息提示的语言样式,第3个影响比较大。CentOS设置语言和字符集:export lang=en_US.utf-8Oracl原创 2021-05-24 15:08:01 · 357 阅读 · 0 评论 -
Oracle动态视图v$sql的说明和使用
1.背景前段时间,利用v$sql分析过一个项目的数据流程。发现对v$sql的一些字段理解的一知半解。实质是对Oracel的sql执行机制理解不深。把相关的总结一下。2.v$sql的定义 ColumnDatatypeDescriptionSQL_TEXTVARCHAR2(1000)First thousand characters of the SQL text for the current cursorSQL_FULLTEXTCLOBAll原创 2021-04-12 17:25:06 · 9291 阅读 · 0 评论 -
CentOS8静默安装Oracle11g:lsnrctl、tnsping等文件大小为0的问题
背景平台版本操作系统centOS 8Oracle11.2.0.1故障现象数据库软件安装完毕,并创建了监听。但在启动监听时,命令一跳而过,不报错,无反应。且文件大小为0。[oracle@s1 bin]$ lsnrctl start[oracle@s1 bin]$同时,其他内部工具如tnsping、impdp、expdp等都有相同情况。原理数据库软件安装的有问题。因为是采用的静默方式,命令行反馈的消息基本无价值。实际已经安装失败了,但没有发现。实际报错信息原创 2021-01-13 15:18:48 · 4545 阅读 · 2 评论 -
Oracle数据库升级:从10.2.0.1到11.2.0.4
1方案介绍目前Oracle数据库软件升级到11gR2方法主要有2种,一种是直接升级的方式,即在现有生产环境中将数据库版本从10gr2升到11gr2,一种是采用异机迁移升级的方式实施,根据目前资源情况,我们计划采用第一种方式进行数据库升级。本次升级大体上分三次步骤升级版本10.2.0.1升级到10.2.0.5。版本10.2.0.5 升级到11.2.0.4。补丁11.2.0.4.。2操作时间评估步骤 所需时间(分钟) 负责方 备注环境检查 提前软件介质备份 20分钟 IT公司 数据库原创 2021-01-04 10:25:59 · 2424 阅读 · 0 评论 -
jmeter1_基础组件介绍
1.基本组件介绍有12个基本组件,先了解这些组件的作用,才能更好的理解测试计划和用好jmeter。2.总结1.thread group:线程数模拟用户数据;2.测试计划的tree是测试流程图,由请求和逻辑控制组件构成。3.请求是sampler,如模拟http、ftp、tcp、jdbc请求。4.测试计划执行是每个线程执行完成的plan tree。5.执行顺序一般是从上往下,但因为controler的加入,会有循环和跳转。与ETL的抽取方案类似,只是没有连接线。参考:官方文档:https:/原创 2020-10-15 17:08:12 · 219 阅读 · 0 评论 -
Oracle的context对象的使用
1.是什么?context是与session绑定,保存在服务器端的信息。类似web的session。dbms_session是在plsql中alter session、set role和其他方法的系统程序包。2.为什么?貌似知识点比较冷门,没想到必须用的场景;目前遇到的1个实际场景是在拼动态sql,但和常规方法区别不大。只能参考别人的用法,见chapter4.3.如何做?1.创建contextcreate context mycontext using pkg_context_test;原创 2020-10-13 20:03:10 · 1052 阅读 · 1 评论 -
排错:insert失败没有数据但空间持续消耗_表空间管理
1、背景近期排查了一个数据库job执行异常,表现为:insert操作失败,目标表里没有数据(与一般经验一致);但目标表占用的空间持续增长,且不正常的增速(没数据,空间还快速消耗,与一般经验不符)。通过排查原因是:数据处理程序中,数据插入目标表后,在最后阶段清空临时表;某次执行,因表空间不足,插入目标表操作失败,程序退出,后续清空临时表不执行;3 .临时表沉淀了多批次的数据,关联产生笛卡尔积,导致后续插入目标表的数据量越来越大。表空间消耗越来越大,很快因空间不足再次失败。因事务一致性,其原创 2020-09-02 11:22:36 · 646 阅读 · 0 评论 -
CentOS8静默安装Oracle11.2.0.1
背景新安装oracle,用静默安装方式就不需要安装图形界面了,省时省力。前期准备工作与图形化安装一样,如创建用户|用户组、环境变量、内核参数、创建目录等.可参考图形化安装,链接:https://blog.youkuaiyun.com/heroicpoem/article/details/104229369环境平台版本操作系统centOS 8Oracle11gR21.响应文件响应文件的内容就是图形化安装时手工设置的选项内容。解压后,database/response/db原创 2020-08-03 15:14:10 · 4198 阅读 · 3 评论 -
Oracle静默安装遇到Could not create the Java virtual machine
报错如下[oracle@s1 database]$ /tmp/OraInstall2020-07-24_03-48-54PM/jdk/jre/bin/java -versionThere was an error trying to initialize the HPI library.Please check your installation, HotSpot does not work correctlywhen installed in the JDK 1.2 Linux Productio原创 2020-08-01 17:14:15 · 5119 阅读 · 2 评论 -
正则表达式及在Oracle中的应用
1、正则基础本节是通用知识,适合绝大部分语言,用来归纳、帮助个人理解。四种字符按性质区分,正则构成要素可分为 4类:字符、重复次数、位置、逻辑1字符代表要匹配的内容,包含普通字符、限定类型字符、转义字符(如回车)。普通字符:如明确的数字、字母、标点符号等。如abc,1a2bc3$等。普通字符用处不大,用普通的字符函数处理即可。集合字符:[…] 反括号内的任意字符。如只数字、只字母、字母数字等。如[0-9]表任意数字,如[a-zA-Z]表任意字母。比普通的字符函数匹配能力更广。转义字符:如回原创 2020-07-23 16:28:53 · 615 阅读 · 1 评论 -
GoldenGate不开启支持DDL时,对新建表、增加字段的处理
背景生产上了GoldenGate,2个基点的双向同步实现HA。目前的设置不同步DDL,这样系统升级,表结构升级时,需要配套的在OGG里做响应操作,否则数据同步失败。1.新建表,看trandata是否增加新建表:create table cust.hf_ggid (id varchar2(50),ggid varchar2(50));查看trandata:新表没有自动增加trandata。info trandata cust.hf_ggidGGSCI> Logging of supple原创 2020-07-07 20:18:10 · 773 阅读 · 0 评论 -
新增主键导致replicat进程abend
1.问题描述复制进程abend。。。。。。。。。又abend了!坑太多。2.问题分析2.1.通过logdump查看失败的事务是对以前成功同步表的update。怀疑是表结构修改过,继续查看表结构2.2.表结构变更过,增加了主键但和以往不同,主从都增加了主键,之前的都是主库结构改了,从库没改。联想到下午同事邮件说已增加了主键的邮件,检查了下主键的创建时间,确实是今天下午。是否是主键引起的呢?如果是主键,又是怎么影响的呢?2.3.查看trail信息info trandata 问题就在这原创 2020-06-13 15:20:48 · 171 阅读 · 0 评论 -
备机个别数据同步失败无任何显示|参数handlecollisions的作用
1.问题描述在备机侧,明明有几条数据同步不成功,但在ggserr.log和discard文件中都没有显示。2.handlecollisions参数的原因参数的作用:控制replicat进程是否自动处理数据重复或数据丢失的冲突。parameters to control whether or not Replicat tries to resolve duplicate-record and missing-recorderrors when applying SQL on the target.3原创 2020-06-13 15:11:05 · 384 阅读 · 0 评论 -
GoldenGate自动归档discard文件
1.背景GoldenGate重要的日志文件有2个:ggserr.log和discard文件。ggserr.log记录重要的日志,如进程启停、进程失败abend及响应ggsci命令的响应输出。discard文件,是丢弃文件,在备机端,同步环境没有问题的前提下,在执行具体某个sql时失败,会把执行失败的sql放入到discard文件。由此看出,discard文件很重要,是运维发现哪些表主从不一致的重要线索。2.当前环境的问题当前设置如下:discardfile ./dirrpt/rept01.原创 2020-06-13 15:01:54 · 2157 阅读 · 0 评论 -
GoldenGate:查看日志文件和trail中的事务
1、背景goldengate的基本原理是:按最简单的单项复制结构为例由3个模块构成:extract抽取、pump投递、replicat复制;2个文件trail:主机本地队列、备机远程队列。在主机侧:extract抽取redo中的事务,放到本地trail中;然后pump把本地trail投递到远端备机的远程trail。在备机侧:replicat读取远程trail,构造sql,在备机执行。完成复制。进程的失败无非是事务的失败。 因此学会查看流程中的事务信息,对维护极有帮助。2、从日志查看失败或当前原创 2020-06-04 12:37:16 · 1917 阅读 · 0 评论 -
Oracle的undo是block的全镜像吗?实际保存哪些信息?
概述undo保存修改数据的前镜像,用来回滚或者一致性读。那么undo里存的具体内容是什么?是block的全镜像吗?解答这个问题,需要知道:update的内部过程oracle中事务的关键信息如何定位事务对应的undo block如何查看undo block的信息1)update的过程事务表登记1条事务记录向undo block中保存旧值修改data block,保存新值其他信息。2)oracle中事务的关键信息可通过v$transaction的字段了解。关键信息包括:A原创 2020-05-14 12:51:02 · 535 阅读 · 0 评论 -
Oracle12C新特性
关键变化:多租户架构Multitenant一个数据库软件可以挂载多个库。与传统的多实例不同,多实例是1个电脑上,多个数据库软件+数据库概念:容器、可插拔数据库。好处:1.降低费用:把原来需要的多个服务器集成到了1组后台进程,提高资源效率2.易于管理:补丁、rman可以在1台电脑集中操作。ps: 更详细内容可以先看12C的《concepts》,有准确、详细的描述,比大多数网贴更系统。 ...原创 2020-03-20 09:39:49 · 284 阅读 · 0 评论 -
Oracle的rac是什么?
rac是什么?多个不同服务器上的实例,访问共享的数据库文件,扩展了CPU和内存,提高性能;多节点,实现了HA。rac解决什么问题1.高可用性:自动切换、负载均衡2.高性能:多实例、更多连接、并发执行3.高扩展:不停机扩展节点。怎么实现的组成3个层级:集群软件:集群管理,节点增删、心跳、同步;包括2个组件:表决磁盘、集群注册服务。rac数据库软件:提供数据库实例;rac数据库...原创 2020-03-19 00:13:15 · 6229 阅读 · 0 评论 -
Linux下Oracle的tnsping不显示sqlnet.ora文件路径
Tnsping在Linux与Windows下显示不一样我的环境是:Centos7.6+Oracle11.2.0.4区别是:Linux下没有显示sqlnet.ora的路径名。Linux下:Used parameter files:是空的Windows下:Used parameter files显示路径名。误导因为我经常用tnsping命令的输出看sqlnet.ora的路径,以此来确定...原创 2020-02-12 12:13:55 · 2113 阅读 · 0 评论 -
CentOS7.6安装Oracle11gr2简明过程和问题总结
dfdddfdfdf原创 2020-02-08 22:41:36 · 1461 阅读 · 0 评论 -
Oracle常用Sql:查看加锁的SQL语句
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where a...原创 2020-01-08 11:20:55 · 337 阅读 · 0 评论 -
Oracle数据库备份与还原1:RMAN基本用法
1 相关基本概念归档归档开启:在mount状态下开启归档:alter database archivelog;ps:归档有些信息要写入到controlFile,所以要在mount(加载了controlFile后)修改。归档是数据库级变动。归档开启后,归档日志不会自动删除,要注意在rman脚本里删除,否则引起数据库hang。可通过rman删除归档日志rman>cross...原创 2019-11-28 20:18:17 · 783 阅读 · 0 评论 -
Oracle rman中restore和recover的区别
在Oracle的备份与恢复的知识点中,经常会出现Restore 和 Recovery两个词。由于这两个词在字典中的解释很接近,困扰了我很久。直到我在Oracle的官方文档中看到了以下解释。Restoration:A corrupted data file is overwritten from a backup of the data file .The data file is at a p...转载 2019-11-26 16:16:04 · 284 阅读 · 0 评论 -
l临时表空间管理
背景检查批次任务,04:20的任务执行失败,报临时表空间无法扩展。用网上搜的一个脚本[^1]查看临时表空间使用情况,都是100%。同时,用vsortusage、vsort_usage、vsortusage、vsort_segment、v$tempseg_usage等视图又查不到占用的会话。有点蒙圈,后来才发现时查临时表空间使用的脚本错误,顺便把11g下临时表空间的使用梳理了下。11g新视...原创 2018-11-26 18:04:44 · 578 阅读 · 0 评论 -
Oracle Job排队执行实验
1验证的SP指定插入数据的标识is_key,并记录时间。create or replace procedure sp_insert(is_key varchar2,in_rownum number)isbegin for c in 1.. in_rownum loop insert into c values(is_key,c,sysdate); commit; ...原创 2018-08-21 16:23:05 · 554 阅读 · 1 评论 -
Oracle dbms_scheduler用法和Job不自动执行原因
本文旨在简介dbms_scheduler的用法,包括创建带参数的任务、任务状态查看、日志查看等,看完掌握日常用法,更深入的研究建议看官方文档。1、前提:job_queue_processes参数根据官档的描述,该参数用来:设定每个实例、用来执行job的最大子进程数,该限制对dbms_job和dbms_scheduler的共享。 1. 为0时,job不自动执行;但可以手动执行。 2....原创 2018-08-21 16:05:24 · 11535 阅读 · 0 评论