Oracle行级锁的本质
㈠ 单实例Oracle locking机制 locking机制的三大组成部分: ① resource structure Oracle对
myeclipse连接Oracle
oracle 区管理和段空间管理小结
作为一名DBA,常见的一个场景之一: 创建表空间: create tablespace Think datafile \'/u01/app/oracle/oradata/orcl/think.dbf\' size 100M autoextend on next 10M maxsize 4096M extent management local uniform size 256K segment space management auto; 创建用户: create user bin default tablespace Think temporary tablespace temp; 
一步一步学习oracle手工建库(beta版)
① 配置listener.ora 参考文档b14213(Net service reference) 141页 静态注册的那个example 第139页 第一段 案例:think = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS=(PROTOCOL = tcp)(HOST= 192.168.227.128)(PORT= 1521) ) ) ) SID_LIST_th
B-Tree索引与Bitmap索引的锁代价的比较
环境:SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production PL/SQL Release 11.2.0.1.0 - Production CORE 11.2.0.1.0 Production TNS for 32-bit Windows: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - Production --理论介绍 1)Bitmap index &n
oracle参数文件的本质
环境:SQL> select * from v$version where rownum=1; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod SQL> !uname -r 2.6.18-308.el5xen 参数文件的根本作用就是“覆盖参数的默认值”,以便刻画出一个最适合自己应用场景的环境 因此参数文件中记
让oracle帮你理财
本案例以建设银行为例 请将建行的交易明细表载下,并命名为ccb.txt 此时,你有两种选择:sqlldr or external table ㈠ sqlldr 因为网银只有在win上才能用,所以如果你的os是lin
不安装oracle、3分钟直接用pl/sql连接oracle server
很多人、尤其是不喜欢oracle、但却必须在oracle上学习、而且认为oracle占用了很大内存 就很不喜欢在物理机上装oracle、大部分是windows使用者、也大部分是开发人员 基于上面的需求、本人提供一个方案: 在虚拟机上装oracle server,给个最小内存给虚拟机&
动手操作oracle细粒度访问控制(FGAC)一则
环境:sys@ORCL> select * from v$version where rownum=1; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod sys@ORCL> !uname -a Linux localhost.localdomain 2.6.18-308.el5xen #1 SMP Fri Jan 27 17:59:00 EST 2012 i686 i686 i386 GNU/Linux 实验过程如下:scott@ORCL> create table tvpd (name varchar2(20),salary number(8,2),department_id number(5));
分布式数据库:dblink
dblink是数据库对象、允许你访问远程表及执行远程程序、另外、dblink是单向连接、创建dblink时、oracle在数据字典记录其元数据. 在db link时,必须关心一下global_name.这个缺省下,是作为网络服务名对外提供服务的。但大部分我们是不用的。SQL> show parameter global_names NAME TYPE VALUE ------------------------------------ ----------- global_names boolean FALS
行迁移和行链接
定义: 行迁移:因为update、将行变长、原来的块已经放不下了、行被挪进新块、 行链接:行一开始就太大、比如你插入了1w个字节的行、必须要分两个块存放、 由此、行变长的时间先后可作为判断依据 产生场景: 行迁移 Oracle会将整行的数据迁移到一个新的数据块上,而将该行原先
linux命令的oracle运用(一)
1 dd 模拟物理坏块SQL> select * from v$database_block_corruption; no rows selected SQL> select * from v$backup_corruption; no rows selected SQL> select * from v$copy_corruption; no rows selected SQL> create tablespace physical_corrupt datafile size 10m autoextend on; Tablespace created. SQL> conn hr/hr Connected. SQL> create table tt (i int) tablespace physical_corrupt; Table created. SQL> insert into
sqlplus上下键浏览历史命令行
1 挂载系统的Packages到mnt,并安装readline[root@Think mnt]# cd Packages/ [root@Think Packages]# rpm -ivh --nodeps readline* Preparing... ########################################### [100%] package readline-6.0-3.el6.x86_64 is already installed package readline-devel-6.0-3.el6.x86_64 is already installed 2 到rlwrap下载网站去下载rlwrap,并安装 3 编辑.bash_profile[oracle@Think ~]$ vim .bash_profile
模拟工业场景:数据库的用户被删除掉了,表空间,数据文件都在的 能否恢复?
环境: SQL> select * from v$version where rownum=1; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod SQL> !uname -a Linux think-V30SA 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux 我打算用闪回数据库来恢复,关于开启闪回数据库请参见:闪回如何开启及注意事项 模拟的实
ORA-10997: another startup/shutdown operation of this instance in progress解决方法
今晚想学习一下oracle,开库: SQL> startup ORA-10997: another startup/shutdown operation of this instance inprogress ORA-09967: unable to create or open lock file Linux Error: 13: Permission denied 百度、谷歌了好久,网上的方法试了很多,都打水漂了,就差
怎样去定位你所未知的东西:尤其是想知道哪个view查询什么内容
假如我要查有关 role 相关的东西,倚重dba_objects,于是: SQL> select object_name from dba_objects where object_name like \'%ROLE%\'; OBJECT_NAME -------------------------------------------------------------------------------- DBA_ROLES&n
理解锁和闩(3)TX锁和TM锁
oracle没有锁管理器和锁列表,这样可以避免行级锁维护的开销和行级锁数量不足导致的争用问题。在Oracle的每行数据上,都有一个标志位来表示该行数据是否被锁定,要查看某一行是否被锁定,必须直接找到这一行,而不要指望能从哪个列表得到答案,事务只是找到数据。其locking过程如下: &nbs
理解锁和闩(2)锁机制概述
锁(lock)是一种防止多个事务访问同一资源时产生破坏性的相互影响的机制。通常,高并发数据库需要利用锁机制解决数据并发访问、一致性及完整性问题。 前面提到的资源(resource)大致可以分为两类: ● 用户对象:例如表及数据行
理解锁和闩(1)与锁相关的数据结构
在oracle眼里,锁不是稀有资源,相反地,只要需要,你就应该长期地持有对数据所加的锁。行级锁根本没有相关开销,对1千万行锁定所需的资源数与对1行锁定所需的资源数完全相同,这是个常量。 在SGA中和锁相关的内存有两块:队列资源池和锁池。池:指的就是一块固定大小的内存。 队列资源池:存放所有的队列资源.锁就
oracle 角色的两个特性和误区
角色的两个特性 1)角色的延迟性 延迟生效 立即让角色生效的方法: set role 角色名; 例如: set role resource; 延迟回收 下面用实验证明延迟回收: 会话(1)scott: sys@ORCL> conn scott/oracle Connected. scott@ORCL> select * fro