随笔分类 - Oracle
摘要:重做 redo log,重做日志有两种,联机和归档(数据库事务的历史记录) 每个Oracle数据库至少有两个联机重做日志文件,循环使用,Oracle先往日志1写,写满专向日志2,写满转回日志文件1 归档重做文件日志文件只是复制旧的,写满了的联机重做日志文件 当系统写满日志文件时,ARCH进程会把联机
阅读全文
摘要:官方文档 官方地址:https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/ROW_NUMBER.html#GUID-D5A157F8-0F53-45BD-BF8C-AE79B1DB8C41 语法阐释 ROW_NUMBE
阅读全文
摘要:Oracle数据库在执行一条带有union的sql语句时报如下错误 这是union的结果集查询的列不一致导致的,比如说 select t.a, t.b, t.c from table t where t.a='abc' union select t.a1, t.1b, t.c1 from table
阅读全文
摘要:事务的主要目的,把数据库从一个一致的状态转移到另一个状态 ACID 原子性,要么完全发生,要么不发生 一致性,从一个一致的状态一致转变到另一个状态 隔离性,事务提交前,其他事物察觉不到事务的影响 持久性,一旦事务提交,是永久的 事务控制语句 oracle中没有"开始事务"语句,隐式开始于第一条修改数
阅读全文
摘要:锁定 锁是一种机制,管理共享资源的并行访问,也就是concurrent问题 当多个用户访问并更改数据或数据结构时,以适当的机制防止对相同的信息段进行修改 在Oracle中 事务处理是数据库的全部工作, 只要必须,就应该推迟提交,而不是迅速提交,在必须提交时提交,而不是必须提交前提交 只要需要,就应该
阅读全文
摘要:在Oracle实例中有3类进程 服务器进程(Server Process),基于客户端请求执行工作 后台进程(Background Processes),伴随数据库启动而启动,执行各种维护工作 从属进程(Slave Process),类似于后台进程,代表后台进程或服务器进程执行额外工作的进程 服务器
阅读全文
摘要:SGA,系统全局盘区(System Globa Area),大的共享内存段,所有Oracle进程都在某点访问 PGA,进程全局盘区(Process Global Area),对单一进程或线程私有的 UGA,用户全局盘区(USER Global Area),与会话相关的内存,在SGA或PGA中,取决于
阅读全文
摘要:文件,参数文件、数据文件、临时数据文件和重做日志文件 系统全局区域,SGA、PGA和UGA 物理进程与线程,服务器进程、后台进程和从属进程 服务器 数据库--物理操作系统文件的集合 实例--一组Oracle和SGA 一组数据库可以被多个实例安装(mount)和打开(open) 在任何时候,实例可以及
阅读全文
摘要:理解Oracle的体系结构 不要在MTS下运行长事物 不要在多线程服务器上运行45秒以上的事务,若一个进程阻塞可能导致长时间挂起 使用绑定变量 select * from amp where empno=:empno 绑定变量,它的值在查询执行时提供,查询经过一次编译后,查询方案存储在共享池(库高速
阅读全文
摘要:Oracle日期格式 YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪 IYYY:ISO标准的四位年份 MM:01~12的月份编号 MON:缩写字符集表示 MONTH:全拼字符集表示的月份,右边用空格填补 Q:季度 W:当月第几周 WW:当年第几周 IW:ISO
阅读全文
摘要:给报错的用户增加权限 grant SELECT ANY DICTIONARY 以sysdba的身份登陆给普通用户赋权,比如使用sys账户,connect as sysdba,执行上面这条指令即可 重新以普通用户身份登陆,不会再报错
阅读全文
摘要:rownum数据集伪列 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2 依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀 rowid物理伪列 oracle数据库的表中的每一行数据都有一个唯一的标识符
阅读全文
摘要:序列化+触发器 一般选这种 只要建立好序列化+触发器,触发器会在我们插入数据时自动触发,帮助我们进行+1操作。 创建序列sequence,指定 //准备工作创建一张表 create table dept_p( dept_id VARCHAR2(40) not null, dept_name VARC
阅读全文
摘要:先来看看这个问题出现的前提 Oracle 12c 开始有了CDB和PDB CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。 CDB全称为C
阅读全文
摘要:ORA-04089: 无法对 SYS 拥有的对象创建触发器 创建触发器时报错 原因是所有的以sysdba登录的账户都不能创建触发器。 解决方法,以normal方式登录建立表、自增长、触发器等,如果之前已经建立了,就删除了重新以Normal登录建立吧。 sysdba身份 拥有最高的权限系统 启动和关闭
阅读全文
摘要:添加依赖 热部署 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true<
阅读全文
摘要:官方地址:https://docs.oracle.com/en/database/oracle/oracle-database/19/jajdb/oracle/jdbc/OracleDriver.html 翻译一下 getConnection(字符串URL); 其中URL的格式为: jdbc:ora
阅读全文
摘要:用户 查询 ORACLE数据字典视图的种类分别为:USER,ALL 和 DBA USER_*: 有关用户所拥有的对象信息,即用户自己创建的对象信息 ALL_*: 有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息 DBA_*: 有关整个数据库中对象的
阅读全文
摘要:下载oracle-database安装包 官方地址:https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html 先下载需要的版本,我用的是rpm包 然后使用sftp将下载好的rpm包上传到linux上 下载p
阅读全文
摘要:我的Oracle是通过yum安装的,使用 yum remove 卸载Oracle之后,还需要删除一些相关配置文件才能彻底删除Oracle rm -rf /opt/oracle rm -rf /usr/local/bin/dbhome rm -rf /usr/local/bin/oraenv rm -
阅读全文