解决Oracle被锁定的妙招数据库教程

2024-04-25

解决Oracle被锁定的妙招数据库教程(精选3篇)

篇1:解决Oracle被锁定的妙招数据库教程

Oracle 9i共提供了16种标量数据类型,如表7.4所示,

Oracle 9i的数据类型数据库教程

表7.4 Oracle 9i的标量数据类型名称含义Char用于描述定长的字符型数据,长度<=字节varchar2用于描述变长的字符型数据,长度<=4000字节nchar用来存储Unicode字符集的定长字符型数据,长度<=1000字节nvarchar2用来存储Unicode字符集的变长字符型数据,长度<=1000字节number用来存储整型或者浮点型数值Date用来存储日期数据Long用来存储最大长度为2GB的变长字符数据Raw用来存储非结构化数据的变长字符数据,长度<=2000字节Long raw用来存储非结构化数据的变长字符数据,长度<=2GBrowid用来存储表中列的物理地址的二进制数据,占用固定的10个字节Blob用来存储多达4GB的非结构化的二进制数据Clob用来存储多达4GB的字符数据nclob用来存储多达4GB的Unicode字符数据Bfile用来把非结构化的二进制数据存储在数据库以外的操作系统文件中urowid用来存储表示任何类型列地址的二进制数据float用来存储浮点数

 

篇2:解决Oracle被锁定的妙招数据库教程

可以说, 索引是我们提高查询效率的有力工具, 在数据库应用中使用也非常广泛, 可在实际使用索引的过程中我们经常会遇到明明有索引, 但是查询效率却很低的情形, 究其原因是索引并没有被使用。下面我们来看看到底是哪些情况下索引不会被使用。为了说明情况, 本文使用一个employees表来进行测试, 表结构及索引情况如下:

下面, 本文就工程中经常遇到的索引未被使用问题一一进行说明:

1、对同一个表中的两个列进行比较的情形下, 索引有时不会被引用。

2、如果where条件里出现了与Null值的比对, 如isnull或is not null, 索引就不能被使用, 因为B-tree索引中并不索引null值。如下图所示:

3、使用like做模糊匹配时, 如果匹配字符串的第一个字符是通配符, 如%或_, 那么索引不会被使用。但如果第一个字符是普通字符, 则索引可以被使用。

4、当where条件中有not (非) 时, 如not in、not exists或<>时, 索引不能被使用。

5、如果在where条件中使用了单行函数, 如nvl、lower等, 索引不能被使用。因为索引中的索引键是表中的原值, 引用的函数值是非原值, 并不在索引中。

6、在where条件中字符型字段为数字时不添加引号, 也会引起索引不被使用。

7、如果在where条件中单独引用复合索引里非第一位置的索引列, 索引不会被使用。

8、当索引失效时, 无法被使用。

9、使用基于开销优化时, 查询小数据量表, 或查询返回值占总数据量的比重过大时, 索引不会被使用。因为这时作全表扫描开销会更低。

以上就是本文总结的在Oracle数据库中索引未被使用的几点原因, 其中部分原因由于篇幅所限并没有将实验结果附于文中, 但皆为笔者在工作中总结学习而来。为了更好的进行Oracle数据库的开发与管理, Oracle的开发者和DBA都应该熟悉这些规则, 以便写出高效的查询语句。

摘要:本文简述了Oracle索引失效的条件。

篇3:解决Oracle被锁定的妙招数据库教程

关键词:Oracle;数据库;操作系统;恢复

中图分类号:TP311.13

鉴于Windows操作系统的普及性和易用性,目前有相当一部分ORACLE数据库服务器是基于Windows服务器操作系统的(Windows Server2003、Windows Server 2008)。当Windows因病毒或因其他原因崩溃需要重新安装部署时。Oracle数据库的恢复是技术人员经常遇到的问题。通常,DBA会定期通过EXP导出DMP文件,或是使用RMAN工具来完成备份和恢复工作。但是对于不熟悉Oracle的用户来说,这些方法具备一定的技术门槛。其实,只要Oracle的文件目录没有被破坏,对Oracle的文件目录结构有基本的了解,使用Windows的一些基本操作,同样也可以完成数据库的恢复。本文就以Oracle 10G在Windows Server2003服务器环境下为例,介绍这种简单快速的数据库恢复方法,使不具备DBA知识的操作人员也能够在Windows服务器操作系统无法启动的情况下快速恢复数据库。

1 数据库恢复流程

1.1 准备工作

首先,需要对原有系统的Oracle安装目录做好备份。建议使用Windows PE工具启动故障服务器,查找Oracle安装主目录。将目录内全部内容拷贝做备份。记录目录路径。(例如Oracle安装在D盘根目录下,就将D:\oracle目录的全部内容备份。并记录原始安装路径为D:\oracle)。其次,记录故障服务器的IP地址和计算机名信息。由于故障服务器的操作系统损坏无法启动,因此无法通过常规方法获得这些信息。笔者建议从经常访问该数据库服务器的客户端主机中找到Oracle目录的TNSNAMES.ORA文件,该文件中包含了数据库服务器IP或主机名信息。如果客户端主机无法轻易访问,也可以从之前备份出的Oracle文件夹中找到listener.log文件来获取这些信息。路径为\oracle\product\10.2.0\db_1\NETWORK\log\listener.log(视Oracle版本不同,文件的路径可能不同)。最后,记录需要恢复的数据库名。找到访问之前备份出的Oracle文件目录,打开\oracle\product\10.2.0\admin文件夹,Oracle针对服务器上的每一个数据库在该路径都单独建立了以数据库名命名的文件夹。记录这些文件夹名即可。

1.2 重新安装Windows操作系统

确认准备工作中所有信息收集完毕后,即可开始操作系统的安装。无论是在原服务器上恢复数据库还是在新服务器上重新部署数据库都需要注意磁盘分区和盘符问题。新安装的系统必须包含准备工作中记录的Oracle安装路径所在盘的盘符。以上文记录的Oracle安装路径为例,新系统必须包含D盘。安装完成后,将计算机名、IP地址信息修改为准备工作中记录的内容,确保新的操作系统环境与故障前的一致性。

1.3 重新安装Oracle DataBase

操作系统重装完毕后,开始安装Oracle 10G Database服务器端软件。注意选用的软件版本一定要与原始服务器安装的版本一致。安装过程中,选择基本安装即可,注意Oracle主目录位置选择要与准备工作中记录的原服务器Oracle主目录位置保持严格一致。如果要恢复的原服务器中并没有名为orcl的数据库,则启动数据库的复选框可以不勾选,这样点击下一步执行安装。

图1 安装Oracle数据库服务

安装完成后,新系统ORACLE路径下已经自动生成了相应的文件。只要在新的服务器上手工建立同原服务器名字相同的数据库即可。使用ORACLE 10G自带的Database Configutarion Assistant工具,根据提示完成操作。所有步骤默认初始配置即可,在第三步数据库标识处注意输入数据库名称。

图2 创建数据库

此时再次打开\oracle\product\10.2.0\admin文件夹,可以看到以这些数据库名命名的文件夹已经自动生成。此时新服务器上的Oracle文件目录结构与故障服务器上的已经十分接近。

1.4 数据库恢复

上述工作完成后,关闭新服务器上的Oracle服务,开始恢复工作。

右键“开始”菜单,选择“任务管理器”,将以ORACLE开头的进程全部结束。然后点击“我的电脑-管理服务和应用程序”,选择服务菜单,窗口右侧列出了系统运行的所有服务。找到以ORACLE为开头命名的服务,一一将其关闭,为备份恢复做好准备。

将备份的原始ORACLE文件夹拷贝到新系统的ORACLE安装路径,覆盖现有ORACLE文件夹即可。

重新打开和ORACLE相关的各项服务后,恢复工作基本完成。这时点击“开始-运行”,输入“cmd”进入命令行模式,使用sqlplus命令尝试登陆数据库。

sqlplus /nolog

conn / as sysdba

如果报监听错误,则在命令行模式中输入lsnrctl start,开启监听程序即可。至此,ORACLE数据库恢复完毕。

2 结束语

通过本方法恢复ORACLE数据库,操作人员只需对ORACLE文件目录结构有基本的认识,熟练掌握Windows基本操作即可。备份方法也快速简单,归档容易,属于一种低度维护,高度安全的方法。当然,这种方法也存在一定的局限性,例如备份恢复中数据拷贝的时间可能过长、不能按表或者按用户来恢复数据等。

参考文献:

[1]王琴,宋顺林.ORACLE数据库管理系统的备份策略及应用举例[J].计算机工程,2002(02).

[2]魏莉,赵纯坚.ORACLE数据库备份技术探讨[J].信息技术,2008(09).

作者简介:李睿(1987-),男,山西晋中人,助理工程师,本科,研究方向:数据库技术。

上一篇:无声告白读书心得下一篇:观最爱有感