杨廷琨(yangtingkun) 云和恩墨 CTO 高级咨询顾问,Oracle ACE 总监,ITPUB Oracle 数据库管理版版主 参数文件是Oracle数据库文件中级别最低,也是最基本的文件,
在使用Spring开发应用时,Spring的事务管理可能是被使用最多、应用最广的功能。 Spring不但提供了和底层事务源无关的事务抽象,还提供了声明性事务的功能,可以让开发者从事务代码中解放出来。
对于一个数据库系统来说,假设这个系统没有运行,我们所能看到的和这个数据库相关的无非就是几个基于操作系统的物理文件,这是从静态的角度来看,如果从动态的角度来看呢,也就是说这个数据库系统运行起来了,能够对外提供服务了,那就意外着数据库系统启动了自己的一个实例,综合以上2个角度,Oracle如何定义上述描述呢?
在 Oracle 19c 中有众多的新特性,Oracle 官方上有一个专门收集新特性的网站,从 11g 到 21c 均有涉及,并且每一个新特性都对应了官方文档,仅 19c 新特性就有 118 个。
--======================== -- 进程、会话、连接之间的差异 --======================== 在使用Oracle database的时候,连接与会话是我们经常碰到的词语之一。咋一看貌似一回事,事实则不然。一个连接上可以建立零个、 一个、甚至多个会话。啊,咋这样呢?是的,没错。这也是我们经常误解的原因。 各个会话之间是单独的,独立于其他会话,即便是同一个连接的多个会话也是如此。 一、几个术语之间的定义(参照Oracle 9i &10g 编程艺术) 连接(connection):连接是从客户到Oracle 实例的一条物理路径。连接可以在网络上建立,或者通过IPC 机制建立。通常会在 客户进程与一个专用服务器或一个调度器之间建立连接。 会话(session):会话是实例中存在的一个逻辑实体。这就是你的会话状态(session state),也就是表示特定会话的一组内存 中的数据结构.提到"数据库连接"时,大多数人首先想到的就是“会话”。你要在服务器中的会话上执行SQL、提交事务和运行存储过程。 二、通过例子演示来查看之间的关系 1. 无连接,无会话,无进程的情形
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。
原版排版太难看了看着闹眼睛。 https://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.html
学习是一个循序渐进的过程,从面到点、从宏观到微观,逐步渗透,各个击破,对于Oracle, 怎么样从宏观上来理解呢?先来看一个图,这个图取自于教材,这个图对于从整体上理解ORACLE 的体系结构组件,非常关键。
下面是工作中对Oracle日常管理操作的一些总结,都是一些基本的oracle操作和SQL语句写法,在此梳理成手册,希望能帮助到初学者(如有梳理不准确之处,希望指出)。 一、数据库的启动和关闭 1.1 数据库的正常启动步骤 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户 [root@kevin ~]# su - oracle 以DBA的身份登录数据库(oracle用户下执行) [oracle@kevin ~]$ sqlplus "/as sysdba" 执行启动数据库命令 SQL> st
编辑手记:在理解Oracle技术细节时,我们不仅应该读懂概念,还要能够通过测试验证细节,理解那些『功夫在诗外』的部分,例如全表扫描和单块读。 开发人员在进行新系统上线前的数据校验测试时,发现一条手工执行的 SQL 执行了超过1小时还没有返回结果。SQL 很简单: 下面是这条 SQL 的真实的执行计划: 很显然,在这个表上建 billing_nbr 和 start_date 的复合索引,这条 SQL 就能很快执行完(实际上最后也建了索引)。但是这里我们要探讨的是,为什么这么一条简单的 SQL 语
ALTER TABLE t_jk_MBSZSHXGXXB MODIFY KSSJ NVARCHAR2(20) --修改字段类型
要进行Oracle SQL调优,您必须了解查询优化器。优化器是内置软件,用于确定语句访问数据的最有效方法。
一.SQLPLUS登陆命令: 使用sqlplus: 10G之前的版本登陆时需要加引号(单、双引号皆可)如:sqlplus ” / as sysdba” sqlplus -prelim / as sysdba 从Oracle10g开始,sqlplus提供了一个参数选项-prelim,用这个参数,在系统已经hang的时候可以连接到SGA而不是数据库,也就是说没有session被创建。 sqlplus /nolog conn / as sysdba connect / assysdba conn sys/oracle assysdba SQL>conn bys/bys 已连接。 SQL>show user USER 为 “BYS” 使用服务名登陆,as sysdba即使用SYSDBA用户权限登陆 SQL>conn sys/oraclesys@orcl as sysdba 已连接。 查看用户权限: SQL>show user USER 为 “SYS” SQL>conn sys/oraclesys@orcl as sysoper 已连接。 SQL>show user USER 为 “PUBLIC” 登陆时可以使用IP+端口+服务名或主机名+端口+服务名 SQL>conn bys/bys@192.168.0.181:1521/orcl 已连接。 SQL>show user USER 为 “BYS” SQL>conn scott/tiger@xporacle:1521/orcl 已连接。 SQL>show user USER 为 “SCOTT” 总结如下: 直接在SQLPLUS启动时输入用户名密码的多种格式。 sqlplusscott/tiger sqlplus -prelim /nolog –数据库hang住时,可以这样登陆。 sqlplusscott/tiger@orcl sqlplus scott/tiger@192.168.2.18:1521/orcl sqlplusscott/tiger@xporacle:1521/orcl 如果监听运行在默认的1521端口,可以不写端口:如下: sqlplus bys/bys@192.168.1.211/bys3 如果不想在命令中输入密码,可以使用:或者为用监听名时: [oracle@bys3 dbs]$ sqlplus bys SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 16 20:26:51 2014 Copyright © 1982, 2013, Oracle. All rights reserved. Enter password: sqlplussys/oraclesys as sysdba
当客户端A检查还有一张票时,将票卖掉,还没有执行更新数据库的时候,客户端B检查了票数,发现大于0,于是又买了一次票。然后客户端A将票数更新回数据库。于是就出现了同一张票被卖了两次的情况。
在Oracle中存在两种类型的SQL语句: 一类为 DDL语句(数据定义语言)CREATE,DROP,ALTER,他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。 一类就是DML语句(数据操纵语言)INSERT,UPDATE,DELETE,SELECT,他们会根据情况选择要么进行硬解析,要么进行软解析。
注:OCP-052最新题库完整详细解答版请联系小麦苗私聊。解题不易,请大家尊重原创。
--==========================================
编辑手记:一条看似简单的SQL,执行时间异常惊人,明明是全表扫描,却在undo 表空间产生大量的单块读导致db file sequential read等待事件。今天老熊带你揭开重重迷雾。 开发人员在
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。并发(Concurrency)的意思是在数据库中有超过两个以上用户对同样的数据做修改,而并行(parallel)的意思就是将一个任务分成很多小的任务,让每一个小任务同时执行,最后将结果汇总到一起。所以说,锁产生的原因就是并发,并发产生的原因是因为系统和客户的需要。
Ware Valley成立于2001年,是一家全球性的软件公司,也是韩国唯一一个为安全、管理和操作提供简单快捷的指导的DBMS。
select table_name from user_tables;查看当前登录的用户的表:
在部署重构版测试环境时,需要创建Oracle数据库,使用dbca创建数据库之后没有注意数据库本身的字符集,导致后续所有的数据库脚本执行后中文乱码。最后的解决办法是清掉全库数据,再修改字符集,重启数据库。
2019数据技术嘉年华于11月16日在京落下了帷幕。大会历时两天,来自全国各地上千名学术精英、数据库领袖人物、数据库专家、技术爱好者在这里汇聚一堂,围绕“开源 • 智能 • 云数据 - 自主驱动发展 创新引领未来”的大会主题,共享"开源自研,云和数据,智能运维,智能业务,数据前沿,用户实践"六大主题盛宴。
随着2月的春风吹拂,Oracle 19c 的第一个 Exadata 版本发布将马上发布出来,等待可测试版本的朋友们马上即可如愿了。
首先再次明确下,数据库因为要同时保证数据的并发性和一致性,所以操作有锁等待是正常的。 只有那些长时间没有提交或回滚的事物,阻塞了其他业务正常操作,才是需要去定位处理的。
A table lock, also called a TM lock, is acquired by a transaction when a table is modified by an INSERT, UPDATE, DELETE, MERGE, SELECT with the FOR UPDATE clause, or LOCK TABLE statement. DML operations require table locks to reserve DML access to the table on behalf of a transaction and to prevent DDL operations that would conflict with the transaction.
嘉年华听了恩墨学院的一个主题:《重现ORA-01555 细说Oracle 12c Undo数据管理》,吕星昊老师介绍了UNDO的概念以及ORA-1555的产生,并介绍了12c以来Oracle的UNDO相关的新特性。
并行 parallel:将一件事情分成很多小的部分,让每一部分同时执行,最后将执行结果汇总。
'library cache lock' Waits: Causes and Solutions (Doc ID 1952395.1)
数据块是Oracle存储和数据操作的最小单位,但不一定和操作系统的os块相同,一个数据块可能有多个os块构成。
在 ACOUG 年会的活动上,分享了一些从前未曾分享过的内容,想起,今年还欠下一篇文章,就整理和回顾一下,分享我所见到的Oracle 19c的一些重要改变(本文内容来自OOW大会演讲,关注“数据和云”公众号回复:2018OOW 获取大会PPT)。
杨廷琨 云和恩墨高级咨询顾问, ITPUB Oracle 数据库管理版版主 ,人称 “杨长老”,十数年如一日坚持进行 Oracle 技术研究与写作,号称 “Oracle 的百科全书”。迄今已经在自己的博客上发表了超过 3000 篇技术文章。2010 年,与 Eygle 共同主编出版了《Oracle DBA 手记》一书,2007 年被 Oracle 公司授予 ACE 称号。
在确定调优会话的目标后,例如,将用户响应时间从三分钟缩短到不到一秒,问题就变成了如何实现此目标。
作者:潇湘隐者 www.cnblogs.com/kerrycode/p/5836015.html 今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器ORACLE数据库执行的一条简单SQL语句非常缓慢,他写的一个SQL没有返回任何数据,但是耗费了几分钟的时间。让我检查分析一下原因,分析解决过后,发现事情的真相有点让人哭笑不得,但是也是非常有意思的。我们先简单构造一下类似的案例,当然只是简单模拟。 假设一个同事A,创建了一个表并初始化了数据(实际环境数据量较大,有1G多的数据),但是他忘记提交了。我们简
作者简介 苏星开 云和恩墨南区交付技术顾问,曾服务过通信、能源生产、金融等行业客户,擅长 SQL 审核和优化,DataGuard 容灾等。 1 概述 在 Oracle 12.2 版本和新发布的18.0
对Oracle中连接和会话的含义,总是有些模糊,参考TOM大叔的《Oracle编程艺术》,重新整理了下知识点。
数据库的体系结构是指数据库的组成、工作过程、以及数据库中数据的组织与管理机制,要了解Oracle数据库的体系结构,必须理解Oracle系统的主要组件和重要概念。
动态性能视图属于数据字典,它们的所有者为SYS,并且多数动态性能视图只能由特权用户和DBA用户查询。
默认不会自动提交,需要显式的提交或回滚。如果断开连接时有未提交事务,客户端工具一般可以配置自动提交或回滚。
在Oracle 11g中,已经添加APPROX_COUNT_DISTINCT函数,但相关文档中没有体现,用于提高使用DBMS_STATS包收集统计信息时计算不同值(NDV)数量的速度。 Oracle数据库12c(12.1.0.2)中,文档中已经包含了此函数,因此我们可以在应用程序中将其作为支持的SQL函数使用。
Oracle数据库根据SPFILE或PFILE中设置的参数来启动数据库。Oracle中的参数,根据系统使用情况可以简单分为两大类:
Oracle LogMiner 是 Oracle 公司从产品 8i 以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得 Oracle 在线/归档日志文件中的具体内容,特别是该工具可以分析出所有对于数据库操作的 DML 和 DDL 语句。该工具特别适用于调试、审计或者回退某个特定的事务。LogMiner 分析工具实际上是由一组 PL/SQL 包和一些动态视图( Oracle8i 内置包的一部分)组成,它作为 Oracle 数据库的一部分来发布是 8i 产品提供的一个完全免费的工具。但该工具和其他 Oracle 内建工具相比使用起来显得有些复杂,主要原因是该工具没有提供任何的图形用户界面( GUI)。
以上说明事务隔离级别主要针对读操作来说的。(DML语句我们可以不考虑事务隔离级别,因为任何事物隔离级别下DML的加锁都很严格,属于得不到就等待的类型)
由于访问mysqld的设备不止一个,因此对于mysqld内部的数据,每一个设备都可以将其进行修改。而修改的过程是以多线程的方式并发控制的,这个时候,就大概率会产生一系列的线程安全问题。
性能优化是一个永恒的话题,性能优化也是最具有价值,最值得花费精力深入研究的一个课题,因为资源是有限的,时间是有限的。在Oracle数据库中,随着Oracle功能的不断强大和完善,Oralce数据库在性能方面实现自我诊断及优化的功能也越来智能化,这大大的简花了人工优化的脑力和体力的开销,尤其是借助ADDM自动诊断并给出调整建议。本文主要描述ADDM功能及特性。
理解初始化参数文件 实例由内存中构建它的参数来定义。许多参数(但不是全部)可以在启动后更改。有些参数在启动时就固定了,只能在关闭实例并再次启动时更改。
可见rollback操作和当前数据库 归档模式并没有关系,只和commit操作有关,一旦commit就无法回滚。
在工单详情可快速提交相同SQL内容到其他实例,可适用于test>beta>ga等多套环境维护的需求
在墨天轮平台有个[数据库每日一题]栏目,均是由各行各业的各位专家亲自出题,墨天轮审核后发布的一系列数据库知识点集合,本次只是收集了 20 天的题目以及给出了尽可能详细的答案解析,以供大家多次阅读。
领取专属 10元无门槛券
手把手带您无忧上云