- 浏览: 105315 次
最新评论
文章列表
这算是比较偏门的知识了,但是有很多实际意义,可以帮助DBA完成一些日常的管理工作,比如可以禁用一些用户的功能(禁止用户修改或者删除某一个表,限制IP登陆等)。
概述
Oracle数据库中的System Trigger可以建立在Schema(在某些DDL语句执行的时候触发)或者Database(主要在系统层面触发,比如说登陆或者发生某些系统级别的报错)。
SCHEMA trigger:
创建于某一个schema上面,并且经由某些DDL语句触发执行。具体看下文链接更多的DDL event。
Database trigger:
数据库触发器基于数据库之上,由某些数据库级别的事件触发。具体看 ...
主要讲一下关于Oracle在线传输表空间的一些注意事项,文中附有示例。
原理分析
使用copy 数据文件+导入metadata的方式迁移数据
可以实现跨平台传输表空间
COLUMNPLATFORM_NAME FORMAT A36
SELECT * FROM V$TRANSPORTABLE_PLATFORM ORDER BY PLATFORM_NA ...
UNDO表空间下的数据文件被误删除后的处理方法:
操作前备份数据库,以避免更大的损失。
思路:
1、把误删除的数据文件offline
2、正常打开数据库后创建新的UNDO表空间及数据文件
3、修改相应参数指向新的UNDO表空间
4、重新启动数据库验证
5、删除旧的UNDO表空间。
以下为我在虚拟机上模拟的场景:在数据库打开的状态下,用操作系统命令将undo表空间对应的唯一数据文件改名,以模拟数据文件被删除的情况。
关闭数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
Oracle instance ...
最近遇到Oracle 表中数据量很大查询和更新比较慢 需要删除,发现删除后查询速度还是很慢,原来是delete oracle 高水位没有下降的原因。
在oracle里,使用delete删除数据以后,数据库的存储容量不会减少,而且使用delete删除某个表的数据以后,查询这张表的速度和删除之前一样,不会发生变化。
因为oralce有一个HWM高水位,它是oracle的一个表使用空间最高水位线。当插入了数据以后,高水位线就会上涨,但是如果你采用delete语句删除数据的话,数据虽然被删除了,但是高水位线却没有降低,还是你刚才删除数据以前那么高的水位。除非使用truncate删除数据。那么,这条高 ...
怎样建立最佳索引?
1、明确地创建索引
create index index_name on table_name(field_name)
tablespace tablespace_name
pctfree 5
initrans 2
maxtrans 255
storage
(
minextents 1
maxextents 16382
pctincrease 0
);
2、创建基于函数的索引
常用与UPPER、LOWER、TO_CHAR(date)等函数分类上,例:
create index idx_func on emp(UPPER(ename)) t ...
1.获得当前trace文件生成路径
SQL> select tracefile from v$process where addr in (select paddr from v$session where sid in (select sid from v$mystat));
TRACEFILE
-------------------------------------------------------------------------------------------------------------------------------
f:\Oracle\adminis ...
1、对数据库SQL2005、Oracle熟悉吗?
SQL2005是微软公司的数据库产品。是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台。
ORACLE是ORACLE公司的数据产品,支持海量数据存储,支持分布式布暑,支持多用户,跨平台,数据安全完整性控制性能优越,是一个ORDBMS,一般用在大型公司。
2、能不能设计数据库?如何实现数据库导入与导出的更新 使用POWERDISINE工具的使用,一般满足第三范式就可以了。EXP与IMP数据库的逻辑导入与导出
3、如何只显示重复数据,或不显示重复数据
显示重复:select * from tablename gro ...
SQLPLUS的AutoTrace是分析SQL的执行计划,执行效率的一个非常简单方便的工具,在绝大多数情况下,也是非常有用的工具。利用AutoTrace工具提供的SQL执行计划和执行状态可以为我们优化SQL的时候提供优化的依据,以及优化效果的明 ...
本次课程主要讲述11g OCM考试大纲中涉及到的NFS新技术,从11g开始,oracle支持把数据文件存放在NFS的文件系统上,从而实现分布式数据库的特点,本课程介绍NFS文件服务器的搭建,以及如何把数据文件部署到文件系统上,让大家掌握11g分布式数据库的最新技术。
友情提示:参加本次技术沙龙的人员需要有一定的LINUX系统管理技术基础,以及Oracle的学习和工作经验,否则出现无法理解网络课程的知识点,请大家多多包含,不要怪罪cuug即可。
此次网络公开课由CUUG的金牌OCM讲师陈卫星老师主讲。陈老师拥有11年的Oracle工作经验,和11520课时讲课经验 。在国内电信、移动 ...
归档模式下active日志损坏
active代表日志切换过可能已经归档;也可能代表日志中的脏块还没有被DBWR写盘
查看归档路径
SQL> show parameter recovery
NAME TYPE VALUE
----------------------------------------------- ------------------------------
db_recovery_file_dest string /u01/tiger/ ...
INACTIVE日志损坏
SQL> alter system switch logfile;
System altered.
查看日志的状态
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- -------------------- --- ---------------- ------------- - ...
UNDO表空间在有热备没有事物交易的时候有数据块损坏的恢复
第一,先看一下确保undo表空间里没有交易的事物
SQL>select XID USN,XIDSLOT,XIDSQN fromv$transaction;
no rows selected
第二,确认当前所用的回退表空间
SQL>show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ---- ...
我的环境:
[root@localhost ~]# 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
sys@ORCL> select * from v$version where rownum=1;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterpri ...
奇怪的数据,select出来明明是0.0140625,但通过round(vv,6)出来的却没有四舍五入。按理应该得到:0.014063,实际却得到:0.014062。违背了四舍五入的原则。
案例:
drop table tt ;
create table tt as
select a, v, exp(sum(ln(1 + v)) over(order by rownum)) - 1 x
from (select a, lag(a, 1, a) over(order by r desc) / a - 1 v
from (select 1.2980 a, 2 r
...
在一个应用系统,提供了运行 ORQCLE SQL 的功能。对于简单的 SQL 语句的运行一切正常,而对于有子查询的复杂 SQL 语句,经常会出现错误。但是,这个语句在 DQL PLUS 中运行完全没有问题。
比如:ORA-00907: 缺少右括号。
开始,完全不得要领,最后发现,是子查询中一定要有一个 where 子句。
select id, xm from ry a,
(select id, sum(gz) from gz) b
where a.id = b.id
就要在子查询中加上一个 where 子句,只要是肯定为真的条件都可以。写成:
select id, xm from ...