主键的创建、添加、删除操作
主键也是索引的一种 主关键字(primary key)是表中的一个或多个字段,它的值用于标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。&nbs
row_number 函数和关联更新
生成测试数据,房间号数据如下:CREATE TABLE hotel (floor_nbr,room_nbr) AS SELECT 1,100 FROM DUAL UNION ALL SELECT 1,100 FROM DUAL UNION ALL SEL
分页语句该怎么写?
为了便于在网页中的显示,常常需要分页显示,比如要求员工表 emp 按工资排序后一次只显示5行数据,下面以第二页数据为例进行分页。 生成序号前,先对数据进行排序,然后再在外层生成序号,这样序号才不会乱: /*先对数据根据sal做排序*/select sal, ename from emp where sal i
Oracle清理闪回日志
关于闪回日志的说明:一旦关闭闪回,flashback recovery area中的闪回日志将自动全部删除闪回日志在出现空间压力的情况下,oracle会自动删除闪回日志,否则有可能导致无法闪回到指定的时间点 参考文档:NOTE:305817.1 - FAQ - Flash Recovery Area feature
PLSQL工具获取AWR报告的方法
通过PLSQLDEV获取AWR报告的方法:远程取出AWR报告取出AWR报告的办法1、查snapid、dbidselect dbid from v$database; select to_char(s.startup_time,'dd Mon "at" HH24:mi:ss')
library cache lock模拟和处理
会话一:create or replace procedure dummy is begin null; end; /begin Dummy; Dbms_lock.sleep(1000); End; / 会话二:SQL> alter procedure dummy compil
library cache lock原理和原因
Troubleshooting Library Cache: Lock, Pin and Load Lock (Doc ID 444560.1) How to Find which Session is Holding a Particular Library Cache Lock (Doc ID 122
ORA-12545
ORA-12545:因目标主机或对象不存在上面这个报错,大家经常看到,今天给大家分享一个有趣的案例。情景:某集团的一个数据库的备库使用plsql一直时登时登不上,sqlplus也是如此。连上去查看监听和客户端的tnsnames文件都配置正常的。但就是会时不时的连上连不上。 解决过程:后来经过了解发现客户克隆了一台该备库的服务器,并且由于该备库设置了remote_listener参数,导致
ora-00314 00312
背景:某医院数据库打不开,alter database open报错(跟我说是被勒索了。。。) 查看日志组信息:select group#,sequence#,archived,status from v$log; 处理方法:若该组是非当前状态,而且未归档,则:alter database clear unarchived logfile group 1;(重建日志
library cache pin模拟与处理
会话一: SID AUDSID ---------- ---------- 237 &nbs
ARCH进程和LGWR进程
1 使用ARCH 进程1)Primary Database 不断产生Redo Log,这些日志被LGWR进程写到联机日志。2)当一组联机日志被写满后,会发生日志切换(Log Switch),并且会触发本地归档,本地归档位置是采用 LOG_ARCHIVE_DEST_1='LOCATION=/path' 这种格式定义的。如:alter system set log_archive_de
数据库四种隔离级别
四种隔离级别: 1. 读未提交(Read Uncommitted) 在读未提交的隔离级别下,一个事务可以看到其他事务未提交的更改。这意味着一个事务在执行中可能会看到还未完成的事务的更改,可能导致不一致的数据状态。因此,不建议使用这种隔离级别。在这个级别,一个事务可以读取另一个事务尚未提交的修改。这可能导致脏读、不可重复读和幻读。优点是并发度高,因为几乎没有锁定。缺点
ORA-00845: MEMORY_TARGET not supported on this system
当/dev/shm不够用时,会报ORA-00845: MEMORY_TARGET not supported on this system错误,解决办法增加/dev/shm大小,在redhat系列系统中,/dev/shm的默认值是系统总内存的一半 1、修改/dev/shm大小[oracle@rtest ~]$ df -h Filesystem&
rac进程介绍
在RAC数据库上会比单实例数据库多一些进程,这些进程是RAC特有的,为了实现集群数据库功能而设置的。 10g RAC特有进程:$ ps -ef|grep ora_oracle 4721 1 0 Feb26 ?
olr的备份与管理
olr是保存在本地的集群注册表,也就是说olr是保存在每个节点本地的,而且其中的信息大部分是针对每个节点的。olr的主要作用是为ohasd守护进程提供集群的配置信息和初始化资源的定义信息。当集群启动时ohasd会从/etc/oracle/olr.loc文件(不同平台,文件位置会不同)中读取olr的位置,olr默认保存在<gi_home>/cdata下,文件名为<节点名>.o
RAC的共享盘如何查看IO?
方法1:在ASMCMD命令行中使用命令iostat查看ASMCMD> iostat 5 Group_Name Dsk_Name Reads  
oracle回收站管理
查询回收站大小:select sum(space*8/1024/1024) GB from dba_recyclebin; select sum(space*8/1024/1024) GB from dba_recyclebin where original_name='YY';r
oracle数据库名、实例名、服务名等区分
DB_NAME:①是数据库名,长度不能超过8个字符,记录在datafile、redolog和control file中②在DataGuard环境中DB_NAME相同而DB_UNIQUE_NAME不同③在RAC环境中,各个节点的DB_NAME 都相同,但是INSTANCE_NAME不同④DB_NAME还在动态注册监听的时候起作用,无论是否定义了SERVICE_NAME,PMON进程都会使用DB_NA
oracle pctfree&pctused介绍
pctfree这个参数定义了一个块保留空间的百分比,保留空间是为了将来可能发生的更新操作,因为更新可能增大被更新行占用的空间,如果此时该块没有可利用空间,那么只有发生row migrate了,从而会降低I/O性能。换句话说,就是当一个块的利用率达到1-pctfree的时候,oracle就将该块从freelist中移除,不再向该块插入数据。所以说pctfree是控制什么时
RMAN定时备份和恢复脚本
rman恢复数据文件export ORACLE_BASE=/oracle/app export ORACLE_HOME=/oracle/app/product/11.2.0/db_1 export ORACLE_SID=orc1 rman target / log=/oradata/backup/rman.log <