摘要: 1、问题描述:ORA-28000: The Account is locked 查看日志:2、处理:alter user username account unlock3、模拟问题:alter profile default limit failed_login_attempts 3;select resource_name,limit from dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS';4、锁定放开:alter profile default limit failed_login_attempts unl 阅读全文
posted @ 2013-03-22 23:04 wilson.han 阅读(1699) 评论(0) 推荐(0) 编辑
摘要: 1、问题描述:ORA-28001: the password has expired 查看日志:apusic日志 数据库alert日志 2、处理: conn username/password 输入新密码 alter user username identity by password3、查看数据库用户的过期日期,现在的状态select username,account_status,lock_date from dba_users;4、Oracle 11G创建用户时缺省密码过期限制是180天长期有效:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 阅读全文
posted @ 2013-03-22 23:03 wilson.han 阅读(521) 评论(0) 推荐(0) 编辑
摘要: Oracle中merge into的使用http://blog.csdn.net/yuzhic/article/details/1896878http://blog.csdn.net/macle2010/article/details/5980965该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSERT 关键词,ORACLE 10g 做了如下改动。1,insert 和update是可选的 2,UPDATE 和INSERT 后面可以跟WHERE 子句 3,在ON条件中可以使用常量来insert 所有的行到目标 阅读全文
posted @ 2013-03-22 22:16 wilson.han 阅读(229) 评论(0) 推荐(0) 编辑
摘要: Oracle中Union与Union All的区别如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。 union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序; Intersect:对两个结果集进行交集操作,不包括重复行,同时进行 阅读全文
posted @ 2013-03-22 21:55 wilson.han 阅读(453) 评论(0) 推荐(0) 编辑
摘要: Xmanager是一个远程连接工具,里面最常用的有Xbrowser、Xftp、Xshell等工具。由于近来经常要用到linux虚拟机,虚实之间切换非常的麻烦而且还不方便,一般情况下我都用SecureCRT进行远程连接,来处理一些任务,可是有时后需要图形界面,这就用到了Xmanager,不过默认情况下RedHat不允许它连接,还需要一些配置。关于这个的文档网上很多,大部分都是转载的,我按照网上的文档做了一遍,发现距离成功只有一步之遥。这个实验我做了2遍,以验证正确性。在 /etc/inittab -- init进程的主配置文件把默认级别改为 5 : id:5:initdefault: 在/etc 阅读全文
posted @ 2013-03-22 21:31 wilson.han 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。在SQL代码中使用Hint,可能导致非常严重的后果,因为数据库的数据是变化的,在某一时刻使用这个执行计划是最优的,在另一个时刻,却可能很差,这也是CBO 取代RBO的原因之一,规则是死的,而数据是时刻变化的,为了获得最正确的执行计划,只有知道表中数据的实际情况,通过计算各种执行计划的成本,则其最优,才是最科学的,这也是CBO的工作机制。 在SQL代码中加入Hi 阅读全文
posted @ 2013-03-21 20:56 wilson.han 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 实战:接下来我们有一个任务,有一个表T,有两个字段a,b,我们想在表T中做Insert/Update,如果存在,则更新T中b的值,如果不存在,则插入一条记录。在Microsoft的SQL语法中,很简单的一句判断就可以了,SQL Server中的语法如下:if exists(select 1 from T where T.a='1001' ) update T set T.b=2 Where T.a='1001' else insert into T(a,b) values('1001',2);以上语句表明当T表中如果存在a='1001&# 阅读全文
posted @ 2013-03-21 20:38 wilson.han 阅读(336) 评论(0) 推荐(0) 编辑
摘要: Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.Oracle 10g中MERGE有如下一些改进: 1、UPDATE或INSERT子句是可选的 2、UPDATE和INSERT子句可以加WHERE子句 3、ON条件中使用常量过滤谓词来insert所有的行到目标表中,不需要连接源表和目标表 4、UPDATE子句后面可以跟DELETE子句来去除一些不需要的行 首先创建示例表:<CCID_NOBR><CCID_CODE> 阅读全文
posted @ 2013-03-21 20:35 wilson.han 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 使用 Oracle Database 10g 中的闪回表特性,可以毫不费力地恢复被意外删除的表。以下是一个不该发生却经常发生的情况:用户删除了一个非常重要的表 — 当然是意外地删除 — 并需要尽快地恢复。(在某些时候,这个不幸的用户可能就是 DBA!)Oracle9i Database 推出了闪回查询选项的概念,以便检索过去某个时间点的数据,但它不能闪回 DDL 操作,如删除表的操作。唯一的恢复方法是在另一个数据库中使用表空间的时间点恢复,然后使用导出/导入或其他方法,在当前数据库中重新创建表。这一过程需要 DBA 进行大量工作并且耗费宝贵的时间,更不用说还要使用另一个数据库进行克隆。ORAC 阅读全文
posted @ 2013-03-21 17:37 wilson.han 阅读(254) 评论(0) 推荐(0) 编辑
摘要: ORACLE EXPDP命令使用详细相关参数以及导出示例:1. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS目录Expdp scott/tiger DIRECTORY= DMP DUMPFILE=a.dumpcreate or replace directory dmp as 'd:/dmp'expdp zftang/zftang@zftang directory=dmp dumpfil 阅读全文
posted @ 2013-03-21 17:33 wilson.han 阅读(590) 评论(0) 推荐(0) 编辑