聊聊Oracle外键约束(Foreign Key)的几个操作选项
关系型数据库是以数据表和关系作为两大对象基础。数据表是以二维关系将数据组织在DBMS中,而关系建立数据表之间的关联,搭建现实对象模型。主外键是任何数据库系统都需存在的约束对象,从对象模型中的业务逻辑加以抽象,作为物理设计的一个部分在数据库中加以实现。Oracle外键是维护参照完整性的重要手段,...
Oracle数据字典
Oracle数据字典1 静态数据字典-->主要是在用户访问数据字典时不会发生改变的, --例如某用户创建的表2 动态数据字典-->是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。 --当前锁住的对象以下均在sys用...
关于sysdba,sysoper,dba的区别
关于sysdba,sysoper,dba这些名词在工作中可能接触的比较多,如果接触的环境是服务器端的,sysdba可能是经常用到的。如果是数据库的维护工作,dba就是必备的权限。在oracle的官方文档中给出了sysdba和sysoper的区别。我在这个基础上又加入了一些东西做点补充。标黄的部分是sysdba和sysoper的不同之处。这两个特殊的系统权...
关于oracle中的sql数据类型
数据类型对于每一种编程语言而言都是数据存储的基础,对于编程语言的实现功能而言也是一个标尺,有些编程语言可能数据类型很丰富,比如java,c,在数据计算方面的支持很全面,有些编程比较精简,更侧重于实现特定的功能,数据类型也就简单得多。比如说shell。对于oracle中的sql来说,数据类型的支持非常全面,无论是数据计算...
telnet或SQLplus下命令输入错误如何删掉重新输入
telnet或SQLplus下命令输入错误的处理方法。
跨 OS 平台迁移 Oracle DB
将现有 Oracle 数据库(非二进制可执行程序文件/)从一个操作系统平台移植到另一个操作系统平台(例如从 Windows 到 Solaris)这种需求会发生在 Oracle 版本升级过程中(Oracle 8i 一直到 Oracle 11G),或者在同一 Oracle 版本内(Oracle 10.2 到 Oracle 10.2)。平台迁移中不考虑操作系统内部的更改(例如将 Linux、Win...
使用shell定制awr脚本
大家在做性能问题诊断的时候,awr是不可或缺的工具,使用?/rdbms/admin/awrrpt.sql可能大家使用的多了,可能有时候感觉输入参数还是有些太繁琐了。一边复制,一边得到一个快照列表查看,其实还是不太方便。比如我想查看某一天的8点到9点的快照,生成一个awr报告,那么可能得算一下大概需要多少天的快照,然后从一个冗长的快...
如何从数据库 11.2 降级至之前的版本
本文档可用作将之前升级的数据库从 Oracle 11gR2 降回至下列以前版本数据库的指南与核对表:Oracle 10gR1、Oracle 10gR2、Oracle 11gR1。该文档内容也适用于从 11.2.0.4 降级至 11.2.0.1需要特别注意的是,在将数据库实例从当前版本降级至升级前版本时,数据库不会返回至与其升级前相同的状态。升级过程会导致一些不...
海量数据迁移之误操作和防范建议
在生产环境的数据迁移中,发生误操作真是很不愿意看到,今天自己总结了一下,从个人的经验来看有以下的几种操作或者是失误导致的问题。有一些错误自己已经犯过。外键不管是使用imp/impdp,sqlldr还是使用Insert append的方式导入数据,如果存在外键的约束,在数据导入前最好都设置为disable,要不数据导入的时候很可能发生...
ORACLE 一句话问答(二)
ORACLE 一句话问答系列
查看空间使用情况的脚本
在数据库中,我们可以使用如下的3个脚本来查看表空间的使用情况,表空间的增长情况,表未使用的空间情况等等。showunused.sh 可以查看未使用的空间情况sqlplus -s n1/n1 <<EOFprompt ------- $1.$2 prompt .set serveroutput onset feedback offvariable total_blocks number; variable total_bytes num...
如何计算自动管理的UNDO表空间大小
AUTO UNDOAUM(自动 undo 管理,Automatic Undo Management)几乎不需要配置。您基本上只需要定义将前映像保持可用的时间量。这是通过参数 UNDO_RETENTION 控制的,以秒为单位定义。因此,值 900 表示 15 分钟。一定要意识到,如果 undo 表空间中存在空间压力时,我们不保证前镜像一定会保留这么长时间。因...
为数据库做基本的健康体检
本文章解释如何执行对数据库的基本健康状况检查,以检查一些配置问题。本文章给出了一些一般准则,来指导用户应该对哪些领域进行调查,才能更好地了解数据库运行和变化的方式。这些准则会揭示关于配置的常见问题以及将来可能会发生的问题。本文章不适合更深入的健康状况检查来检查数据库结构和数据字典完整性。1. 参数文...
新增一个索引,而不影响其他应用
SQL> select * from test; ID---------- 1 2 3 4 51.将索引创建为不可见SQL> create index test_idx1 ...
linux乱码和数据库乱码的问题简单排查
在本地的虚拟机环境一直凑合着用英文,今天想看看中文的东西都显示乱码,下定决心要把问题解决了。如果直接打印文本内容,通过putty也会显示乱码。[ora11g@rac1 ~]$ cat aa.shδ? ε??ο?θ?ζ―δ?δ??ζ?θ―[ora11g@rac1 ~]$这个时候很可能是putty的编码转换的问题,通过查看putty的设置,如上,可...
如何使用AWR报告来诊断数据库性能问题
如何主动避免问题发生及做好诊断信息的收集有些问题是无法预见的,但大部分其它的问题如果及早发现一些征兆其实是可以避免的。同时,如果问题确实发生了,那么收集问题发生时的信息就非常重要。有关于如何主动避免问题及诊断信息的收集.对于数据库整体的性能问题,AWR的报告是一个非常有用的诊断工具。一般来说,当...
常用查询Oracle的表,视图,存储过程,用户等SQL命令
有时候需要导出某用户下的所有table、view、sequence、trigger等信息,下面的SQL可以将这些信息select出来:select * from user_tables;select * from user_views;select * from user_sequences;select * from user_triggers;查看当前用户的缺省表空间 SQL>select username,default_tablespac...
如何识别字符串中含有连续字符的处理办法
连续字符串识别。
EXP/IMP迁移数据库小技巧-不知道用户密码的情况下复制用户
很多数据库迁移要求使用exp,或者需要使用exp,比如我这次为用户做的数据库升级,从oracle9i升级到oracle11g。我们需要在新服务器上创建数据库,创建表空间,创建用户,赋予用户权限,然后再执行imp命令导入数据。创建用户之前我们可以通过select username from dab_users来获取需要创建的用户名,可是如何获得该用户的...
使用Oracle分析函数随机抽取N条记录
模拟一个歌曲表,有歌曲ID和作者ID并且初始化一些数据create table music( music_id int primary key, userid int);insert into music(music_id)select rownum rn from dual connect by level