
oracle
EvanJiemo
一个热爱软件的人
展开
-
数据库高并发插入数据导致的主键冲突问题解决
现代系统都是数据驱动的业务系统,所有的系统都离不开数据,我们现在存储的大部分还是通过关系型数据库来存储的,因为关系型数据库的锁可以保证数据的一致性,所以我们大部分的数据会持久化到数据库中,但是往往数据计算过程比较复杂,都是经过各个应用计算之后的数据,直接操作还不是很方便,所以我们的数据都是通过应用存储到数据库中的,那么问题来了,假如系统高并发运行,同时又两条数据同时执行insert会出现什么,后执...原创 2019-04-12 14:55:56 · 11684 阅读 · 0 评论 -
ORACLE RAC集群开关机顺序
当前RAC环境使用的为共享ASM资源组正常关机的顺序应该为 关闭数据库(oracle用户),关闭集群( root 用户),关闭操作系统( root 用户) (如需存储下电,完成以上操作后关闭存储)每一个过程根据系统运行的情况,需3-10分钟不等正常开机的顺序应该为 (如存储为关闭状态,先将存储开机,存储开机后如需要修改配置,需要使用VNXe connection utlity软件,如有原创 2016-12-23 15:33:11 · 7622 阅读 · 0 评论 -
ORACLE生产中性能监控中总结的经验
ORACLE数据库在我们部署之后,往往会随着系统的升级,数据量的增大以及设计的缺陷导致系统的性能会出现不稳定,资源争用,阻塞等一系列的问题。会导致系统的可用性变得越来越低。所以为了保证系统的长期稳定可靠,高性能的工作,我们就需要对数据库进行相应的性能监控。那么监控策略是什么呢?是出现问题才看性能情况呢还是说24小时监控呢,其实都不是很现实的问题,那么我们需要做的就是对系统的故障时间,系统的操作,并原创 2017-01-19 09:52:30 · 829 阅读 · 0 评论 -
Oracle AMM学习总结
ORACLE11G之后,SGA和PGA有了新的内存管理方式,AMM,默认情况下,Oracle 11g是使用AMM的。我们在安装过程中,指定Oracle使用内存的百分比,这个取值就作为MEMORY_TARGET和MEMORY_MAX_TARGET的初始取值使用。如果这两个参数设置为非零取值,那么Oracle就是采用AMM管理策略的。 如何查看数据库是否启用了AMM,原创 2017-02-06 16:33:48 · 2346 阅读 · 0 评论 -
Oracle表分析
create or replace procedure P_ANALYZE_TABLE is cursor loop_tmp is SELECT 'ANALYZE TABLE '||TABLE_NAME||' COMPUTE STATISTICS' dynamicSql FROM USER_TABLES;begin for tmp in loop_tmp loop execute原创 2017-01-05 16:31:32 · 781 阅读 · 0 评论 -
Oracle常用小工具集合(生产积累)
在日常系统维护过程中,我们往往会经常要用到一些ORACLE常用参数,亦或是一些我们业务中的特殊场景,所以我们要养成复用的思想,我们在面向对象的世界,遨游在复用的大海中,其实思想是一样的,数据库中我们一样可以复用,所以我们进行就形成自己的知识库,记录我们常用的知识库。1、查看表空间的名称及大小 SQl > SELECT t.tablespace_name, round(SUM(bytes原创 2016-12-23 15:45:26 · 685 阅读 · 0 评论 -
Oracle动态获取表结构的应用
在开发中,我们往往希望能够根据SQL语句自动生成对应的表,这时候我们就需要动态的知道表结构,这样我们就能够动态的知道我们的表的结构。而且可以在代码中动态的生成灵活的表。--该语句是获取表的字段名称,字段类型,数据长度,字段序号(建立表的时候指定的字段顺序)select t.COLUMN_NAME,t.DATA_TYPE,t.DATA_LENGTH,t.COLUMN_ID from user_原创 2016-12-13 14:35:15 · 1036 阅读 · 0 评论 -
Oracle11G impdp,empdp导入导出数据库操作流程
数据库顾名思义就是存储数据的仓库,所以重要性不言而喻,所以我们队数据库需要做相应的保护策略,数据备份就是其中最基本也是最重要的一环,今天我们就来说一说数据备份的流程是什么?我们在做任何工作的时候,我们都需要一个标准的工作流程。数据库备份和恢复也存在标准的流程,今天我们主要说说数据库恢复的流程。恢复流程主要有以下几个步骤:1,数据库安装 数据库的安装就不多说了,作为一个数据库管理人原创 2016-12-13 11:07:40 · 6946 阅读 · 0 评论 -
ORACLE11G数据备份恢复注意事项
数据库在信息爆发的当前正扮演者越来越重要的角色,因为数据库一旦停止运行,整个应用基本就处于停用状态,所以保证数据库的稳定可靠是应用运行的最基本最核心的问题。所以正确做好数据库的备份及恢复非常重要,那么我们就来讲讲数据库的一些特征。1,oracle数据库具有版本的导入导出的依赖性,就是向下兼容性,即高版本可以导入低版本数据,但是低版本无法导入高版本数据。2,imp/exp和impdp/exp原创 2016-10-08 14:38:46 · 2386 阅读 · 0 评论 -
ORACLE表空间添加数据文件注意事项
一般我们添加数据文件我们需要指导一些参数,需要注意,在一个表空间中我们配置的数据文件尽量保证参数一致。今天我们主要讲解一下数据文件的参数1.存储类型---其中有两个(自动存储和文件存储)我们一般使用自动存储2.磁盘组------一般就是我们默认创建的磁盘组3.模板---------这个一般默认就好4.别名目录---这个一般就是创建表空间在磁盘组中的目录5.别名---------原创 2017-04-06 10:58:40 · 2585 阅读 · 0 评论 -
实际工作中ORA-01578: ORACLE data block corrupted遇到问题的解决方式
在实际项目生产环境中,外部的不可抗外部环境影响系统的正常运行往往很难控制,这样我们就需要建立一套合理的解决方案备案库来解决相应的问题,今天我们就来说说数据库文件损坏的问题ORA-01578: Oracle data block corrupted (file # 5, block #27059)SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME F原创 2017-05-08 14:07:53 · 6529 阅读 · 0 评论 -
Oracle存储结构总结
今天我们总结一下ORACLE的存储结构,跟其他存储一样,ORACLE数据文件也需要存储在文件中,但是为了方便管理,ORACLE为我们做了比较好理解的逻辑结构,通过逻辑结构来免除直接与底层的存储直接接触。ORACLE为我们提供了表空间,表空间是数据库的逻辑组成部分。从物理上讲,数据是存放在数据文件中的,而从逻辑上讲,数据是存放在表空间中的,一个表空间有若干个数据文件组成。把oracle数据库看作一个原创 2018-01-30 10:22:20 · 746 阅读 · 0 评论 -
Oracle内存相关知识整理
今天整理一下oracle内存知识,如果oracle内存分配不到位则会非常影像性能,oracle有自动内存管理,但是我们在自己管理运维的时候,还是应该知道内存的原则。我们oracle都是运行在操作系统之上的,所以我们需要流出一部分给操作系统使用,我们一般操作系统留20%即可,其余的都留给数据库使用,而数据库内存又分为了sg和pga,今天我们就来分别说说,我们举例来说,加入我们的...原创 2018-01-17 15:30:46 · 271 阅读 · 0 评论 -
Oracle生产日常开发维护总结
oracle logoracle 11g以后alert.log隐藏很深,例如:/u01/app/oracle/diag/rdbms/test/test/trace/alerttest.log表空间1、查看表空间的名称及大小 SQl > SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_si原创 2018-02-01 09:42:49 · 461 阅读 · 0 评论 -
oracle11G EM ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)
我们的题目是EM问题,但是我要先说说最基本的oracle服务和oracle用户。因为oracle所有的功能都是基于对应的服务和用户的,就像我们今天说的EM服务,他就基于OracleDBConsole这个服务,并且基于DBSNMP和SYSMAN这两个用户,如果想要EM服务可用,必须启动对应的服务且两个用户的状态是open状态,即密码没有失效。当我们遇到ORA-28001: the passwor原创 2017-12-07 10:03:24 · 1611 阅读 · 0 评论 -
Oracle在linux下做导出计划的总结
在正常使用ORACLE的过程中,作为数据的主要存储者,我们要对数据负责,因为数据是一个系统最核心的东西,没有了数据一切都失去了具体的意义,所以我们要做备份计划,保证在不可抗外力下数据的可恢复性,所以我们需要做定时计划,但是linux下任务计划不像windows,很多东西需要自己来配置,具体配置如下:#!/bin/ksh# Oracle Environment settingsPATH=原创 2017-11-17 10:36:03 · 315 阅读 · 0 评论 -
oracle11g安装中遇到---将配置数据上载到资料档案库时出错
在配置生产环境中的ORACLE环境的时候,系统全新安装依然遇见了错误,是EM的错误,在ORACLE官网查询错误,找到了错误的原因及解决方案,具体说明如下,问题做个记录,方便日后问题解决及其他人员问题帮助。Error Uploading Configuration Data To The Repository" whenconfiguring dbconsole [ID 1233913.1]原创 2017-11-07 10:02:41 · 9134 阅读 · 0 评论 -
oracle11之Database links
在业务开展过程中,历史遗留的系统往往因为设计上的欠缺导致接口设计不当或根本就没有设计对接接口,那么当需要数据间整合的时候就需要对数据进行整合,单这时候确没有数据接口怎么办,那么我们只能通过数据库直连的方式完成数据间的整合,oracle为我们提供了database links服务。所以我们今天就来讲讲database links服务有什么用,有哪些功能,能为我们的工作提供什么样的帮助。原创 2017-09-11 11:12:01 · 810 阅读 · 0 评论 -
Oracle性能优化之统计分析
Statistic 对oracle 是非常重要的。 它会收集数据库中对象的详细信息,并存储在相应的数据字典里。 根据这些统计信息, optimizer 可以对每个SQL 去选择最好的执行计划。所以我们每天应该设定一个计划来定时统计分析相关信息。具体计划如下:create or replace procedure P_ANALYZE_TABLE is cursor loop_tmp is S原创 2017-08-21 09:18:40 · 1194 阅读 · 0 评论 -
Oracle表空间的管理
数据库最重要的功能就是数据存储,其中Oracle是一个非常重量且非常灵活的数据库系统,我们在使用Oracle的时候,Oracle也提供了非常灵活的处理数据的方式,那就是表空间(数据文件),具体概念这里就不详细讲解了,因为概念是了解一个数据库的基础,这里我们直接讲下数据存储的原理。先不说数据库,我们先拿一个简单的普通文件管理来进行原理性的入门讲解。 我们日常工作都会原创 2016-10-09 13:36:28 · 559 阅读 · 0 评论 -
整理ORACLE官网Linux X86-64系统安装步骤
1,硬件配置grep MemTotal /proc/meminfouname -mgrep SwapTotal /proc/meminfofreedf -h /dev/shm/2,内核需求On Red Hat Enterprise Linux 62.6.32-71.el6.x86_64 or laterOn Red Hat Enterpr原创 2016-08-23 10:33:12 · 1276 阅读 · 0 评论 -
ORACLE动态游标及动态SQL使用实例
create or replace procedure AAA(table_val in varchar2,table_result in varchar2)is--游标结果集 t_fproductid varchar2(50); t_fproductid_fnumber varchar2(50);--动态游标 TYPE My_CurType IS REF CURSOR; C原创 2016-06-24 15:18:46 · 1229 阅读 · 0 评论 -
Linux下安装ORACLE步骤
本文档时根据原创 2014-04-23 14:11:20 · 933 阅读 · 0 评论 -
oracle结构学习小结
1,查看系统中有哪些表空间原创 2014-04-22 10:13:37 · 823 阅读 · 0 评论 -
ORACLE结构化总结
1,TableSpaces表空间在oracle的表空间中,只存放了三部分内容,分别是,表,索引和簇。2,user用户用户共包括四部分,分别是,对象,对象权限,系统权限和角色。3,profilesprofiles文件是口令和资源限制的配置集合,包括CPU的时间、I/O的使用、空闲时间、连接时间、并发会话数量、密码策略等对于资源的使用profile可以做到控制会话级别或语句调用级别原创 2014-03-17 08:49:52 · 1144 阅读 · 0 评论 -
ORACLE数据库实例服务无法启动问题解决思路
在实际的服务器运行中,随着时间的推移,总是会伴随着各种各样的问题,可能是服务器本身的问题,也有人为误操作的失误,但常见的问题就是服务原创 2014-03-14 08:06:23 · 7422 阅读 · 0 评论 -
ORACLE常用日期格式化方式
oracle数据库开发常用日期主要是中文标准,中文下标准时间格式是yyyy-MM-dd,中文下常用日期使用方式如下;1,select to_char(sysdate,'yyyy') day from dual---------返回当前年2,select to_char(sysdate,'MM') day from dual---------返回当前月份,2位的数字3,select to原创 2014-03-14 10:33:13 · 1865 阅读 · 0 评论 -
远程数据库连接不通问题解决步骤
在日常开发中,数据库实例往往部署在服务器上,而我们通常是通过客户端连接服务器进行数据库开发,而有时新配置的客户端无法连接到服务器,主要从以下几个方面进行问题排除:1,端口是否正确并启用命令行使用 netstat -a查看端口号是否启用,然后远程通过telnet ip地址 端口号,查看端口号是否可以连接。如果不可以连接则查看防火墙是否拦截。2,数据库的远程访问是否打开。3,数据原创 2014-03-13 09:21:02 · 3390 阅读 · 0 评论 -
ORACLE跨版本数据库备份
企业在开发和实施过程中,可能会存在数据库版本不一致的情况,这样的化通过不同版本的备份命令exp,导出的备份数据就无法直接在不同版本的数据库进行数据恢复,导致备份无效,所以我们可以通过工具PLSQL来进行数据备份,先导出表结构对象,在导出表数据。 表结构对象就是创建对象的语句,就相当于重新创建,表数据就是纯粹的表数据,通过这个备份方式可有效解决数据库不同版本实施过程中数据备份及恢复中的差异。原创 2014-03-13 16:48:13 · 1515 阅读 · 0 评论 -
数据库表结构查询
1,SQL SERVER根据表明查询表结构select name from syscolumns whereid=object_id('caigou')根据表明查询表结构及数据类型Select a.nameas colname,b.nameas typenamefrom syscolumnsa,systypesb where a.xusertype原创 2014-03-11 16:39:08 · 834 阅读 · 0 评论 -
ORACLE提取字符串中"汉字"串的解决办法
我在在实际工作中常常要使用去特殊字符的功能,特别是插入到数据库中的数据,我们为了保证数据的质量,往往需要对数据进行清洗,就是去掉特殊字符,我们处理问题的思路是:判断字符串中的每个字符是不是中文,如果是中文,将他们按照顺序连接起来,如果不是,不要。根据实际业务需求,共有2中解决方案:方案一:使用数据库自带函数length,lengthb。中文下length返回的是字符个数,中文占1字原创 2014-11-28 10:15:02 · 12445 阅读 · 2 评论 -
ORACLE自动备份脚本DMP文件名
在日常生活中,我们常常需要进行数据库的自动备份,按照实际的需求进行数据库的自动备份。文件名:data_%date:~0,4%%date:~5,2%%date:~8,2%.dmpCMD获取当前系统日期的命令是---%date:~0,4%%date:~5,2%%date:~8,2%格式为20150204.原创 2015-02-05 16:46:03 · 1502 阅读 · 0 评论 -
Oracle表空间管理
1,Oracle表空间物理存放文件位置 用SYS登陆SQLPLUS,select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;1、查看表空间的名称及大小 SQl > SELECT t.tablespace_name, round(SUM(bytes / (1024 *原创 2015-11-25 13:34:02 · 470 阅读 · 0 评论 -
Linux安装oracle常用命令
检查的命令内存# grep MemTotal /proc/meminfo交换空间# grep SwapTotal /proc/meminfo磁盘空间# df -ah查看环境变量是否完成#env | grep ORA查询软件包rpm -qa | grep 软件包名称修改内核参数root用户:修改 /etc/sysctl.conf 文件,加上如下原创 2015-11-14 15:47:38 · 539 阅读 · 0 评论 -
Oracle数据库分页
select * from (select rownum r ,t1.* from tableName t1 where rownum 10;原创 2015-09-16 14:27:10 · 419 阅读 · 0 评论 -
Oracle11G新增Impdp/Empdp备份恢复命令使用详解
在Oracle11G之前我们通常的备份和恢复策略用的可能都是imp/emp简单快速,上手方便,当时当上了11G之后,多出了一个Impdp/Empdp命令,这俩命令的出现主要是为了解决Oracle11G在使用上一些差别而出现的。在Oracle11g中,exp默认是不能导出空表,用传统的exp/imp比较麻烦,所以出现了。 我们通常使用的时候,都是将表结构建立在用户的下面原创 2015-10-19 13:49:34 · 4054 阅读 · 0 评论 -
数据库及实例信息管理
日常工作中我们活多或少都会接触数据库,特别是企业级数据库oracle,我们一般是单数据库多实例,一般小型系统默认数据库名和实例名想通就好,但是当应用越来越大,数据库实例越来越多,我们可能就会将数据库名和实例名混淆,导致各种问题的出现,那么ORacle有什么帮助么?回答是有,oracle为我们提供了各种查询数据库基础信息的表,今天我们就说说如何查询数据库及实例的相关信息表。1,数据库信息表v原创 2015-09-07 13:55:41 · 833 阅读 · 0 评论 -
Oracle常用系统表汇总整理
在说常用的系统表之前,先说说开发规范,我们在做开发的时候,我们都会遵守相关的约定-----开发规范,同样对象的命名也有规范,数据库也不例外,ORACLE也不例外,遵守现在的主流的命名规范,常用的前缀主要有以下6个。1, dba_开头的系统表 dba_users数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 d原创 2015-09-08 09:36:26 · 545 阅读 · 0 评论 -
数据库常用系统表整理
1,查询当前用户所具有的表select * from dba_tables t where t.tablespace_name='USERS' and t.owner='USERNAME'2,查询当前用户所具有的视图select * from dba_views t where t.owner='USERNAME'3,查询当前用户所具有的存储过程select * fr原创 2015-09-07 15:09:15 · 1093 阅读 · 0 评论 -
JAVA应用当中的数字格式化之科学计数法转数字
JAVA实现方式:import java.math.BigDecimal;public class Aaa { public static void main(String[] args) { String sjiachun = "2.5000000000000001E-2"; BigDecimal db = new BigDecimal(sjiachun); String原创 2015-08-18 09:08:36 · 5162 阅读 · 0 评论