ORA-24324&ORA-01041重启数据库报错
昨天在重启数据库时报错,报了ORA-24324和ORA-01041错误,下面还原一下报错过程以及解决问题的过程。1.环境准备我们在Oracle 10g+Windows Server 2008中进行试验。需要说明的是,服务器上创建了多个数据库,因此登陆需要指定服务名。点击(此处)折叠或打开...
意外的收获——获得“Oracle用户组年轻专家”称号
年后在恩墨学院学习Oracle,得以和secooler、dbstyle等技术大牛近距离接触,也结识了很多对Oracle技术不断追求的小伙伴,诚如secooler所言,这个圈子是很重要的。前段时间secooler在朋友圈分享了“Oracle 用户组年轻专家项目”,鼓励大家积极申请,起初我是想都不敢想的,毕竟在OTN的年轻专家列表发现了很多熟悉的面...
Oracle 11g新特性之用户重命名
我们在项目开发中,数据也会不断变化,因此需要定期将开发库数据库导入到测试数据库中。通常的做法是“三部曲:”1.从开发库中exp导出数据2.删除测试库用户3.使用imp把导出数据导入到测试库 今天同事问我可不可以保留之前的用户,比如给用户改个名称。我之前倒没...
重建SCOTT用户及SCOTT轶事
学习Oracle最早就是从scott用户下的dept表和emp表开始的,直到现在也习惯于在scott用户下做测试。有时为了方便测试,需要重建scott用户以便提供一个全新的测试环境,在这儿记录一下重建scott用户的过程。1.scott用户简介SCOTT是在Oracle数据库中,一个示例用户的名称。其作用是为初学者...
Oracle 11g新特性之收集多列统计信息
通常,当我们将SQL语句提交给Oracle数据库时,Oracle会选择一种最优方式来执行,这是通过查询优化器Query Optimizer来实现的。CBO(Cost-Based Optimizer)是Oracle默认使用的查询优化器模式。在CBO中,SQL执行计划的生成,是以一种寻找成本(Cost)最优为目标导向的执行计划探索过程。...
透过alert日志看Oracle Startup的三个阶段
alert日志记录oracle实例生命周期中发生的重要事件,例如数据库启动、关闭、日志切换等,方便程序员和管理员发现问题。其中,数据库启动分为3个阶段,即nomount,mount和open。那么,在这三个阶段alert日志会记录哪些信息呢。下面我们就按照nomount,mount和open的顺序逐步启动数据库。...
管理外部表
关于外部表Oracle数据库允许你以只读方式访问外部表的数据。外部表被定义为不驻留在数据库的表,而且,只要提供了访问驱动程序外部表支持任意格式。只要提供了描述外部表的元数据,Oracle数据库就可以展现外部表中的数据,就像它是驻留在一个常规的数据库表一样。使用SQL可以直接并行查询外部表。对于外部表...
优化星型查询
当你使用星型查询时,你需要考虑以下两点:调整星型查询使用星型转换 调整星型查询为了获得星型查询的最佳性能,遵循一些基本准则是非常重要的:应该为事实表的每一个外键列都创建位图索引。初始化参数STAR_TRANSFORMATION_ENABLED应设置为TRUE。这将开启对星型查询的 重要优化功...
创建临时表
临时表在需要缓存(临时持久化)结果集的应用中十分有用,可能因为临时表是通过多个DML操作构造的。例如,考虑以下场景:基于Web的航空公司预订应用程序允许用户创建几个可选行程。每个行程用临时表的一行来表示。应用程序通过更新行来反映行程的变化。当客户决定她想要使用哪个行程时,应用将会把表示选定行程的一行数...
使用闪回删除和管理回收站
当你删除一个表时,数据库不会立即删除与该表相关的空间。数据库重命名表,并把它与任何相关联的对象放进回收站,这样,万一表被错误删除,它可以在晚些时候进行恢复。此功能称为闪回删除,通过使用 FLASHBACK TABLE语句用来恢复表。在讨论使用闪回TABLE语句之前,了解回收站的工作原理是很重...
ORA-12516故障解决
早上刚上班,同事告诉我数据库连不上了,提示“ORA-12516”错误,我尝试通过PL/SQL Developer远程连接数据库,果然,报错了“ORA-12516:TNS: 监听程序无法找到匹配协议栈的可用句柄”;接着我通过远程桌面登录服务器,尝试用sys用户登录数据库,报了同样的错误。奇怪,昨天下班时还好好的。 &...
System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本
问题描述在客户端,使用PL/SQLDeveloper能够正常的访问Oracle数据库,但运行C#程序远程访问该数据库(使用VS 2005,客户端同样是Oracle 9i)提示“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”。解决办法1.一定要关闭Windows 防火墙;2.找到ORACLE_HOME文件夹。点击右键,选属性--安...
管理监听器日志listener.log
Oracle监听器日志文件是一个大小是一直不断增长的纯文本文件。一般都会检查监听器是否有异常停止,是否有恶意攻击连接等。当这个文件特别大的时候,打开和浏览文件内容时可能比较慢,这时可能会想到将当前的日志文件备份一下,然后重新创建一个新的日志文件。但Oracle监听器在运行时是不允许对其日...
每一步
每一步作词:郑国江 作曲:山木康世演唱:徐小凤 曾踏过艰辛的每一步仍然前去,仍然闯不理几高耳边的风声响像似歌声鼓舞努力为要走好我每步行尽了许多的崎岖路还前去 才能知境界更高名利似有还无要想捉 捉不到岁月在我身边笑着逃道路段段美好 总是血与汗营造感激心中...
Oracle如何实现多个字段去重
我们通常使用distinct关键字来去除重复记录,但是distinct只支持单个字段;而在实际应用中,我们经常遇到针对两个以上字段的去重工作,distinct能办到吗?还有没有其他办法呢?通过查找资料,确定distinct可以实现多个字段的去重,group by也可以。其中,group by是用来分组统计的,能用distin...
Oracle中的同义词SYNONYM
同义词实质上是指定方案对象的一个别名。通过屏蔽对象的名称和所有者以及对分布式数据库的远程对象提供位置透明性,同义词可以提供一定程度的安全性。同时,同义词的易用性较好,降低了数据库用户的SQL语句复杂度。同义词允许基对象重命名或者移动,这时,只需对同义词进行重定义,基于同义词的应用程序可以继续运行...
使用DBMS_JOB和DBMS_SCHEDULER创建、管理job示例
DBMS_JOB和DBMS_SCHEDULER都是Oracle提供的程序包,都可以用来创建、管理job,其中DBMS_SCHEDULER的功能更为强大。先解释scheduler的基础概念,scheduler 包含了以下几个实体对象: Program -- 提供了scheduler 将要运行什么,包含program name,program type(PL/SQ块、存...
11g中的DBMS_JOB和DBMS_SCHEDULER
在Oracle11g 官方文档Administrator'sGuide最后一节的的附录中,提到了11g对DBMS_JOB的支持。DBMS_JOB是一个可以用来调度任务的PL/SQL程序包,现在已经逐渐被Oracle Scheduler所替代,后者的功能更为强大,应用也更为灵活。Oracle建议大家尽量使用Oracle Scheduler来代替DBMS_JOB,尽管如此,考虑到兼容性,Oracle 11g还...
Oracle默认用户介绍
使用默认配置创建数据库后,我们通过dba_users视图可以查到数据库中的所有用户信息,除了我们熟知的sys、system用户外,还有为数众多的其他用户。默认情况下oracle指对sys,system,dbsnmp,sysman,mgmt_view5个帐户进行了解锁,如果希望其它用户也能登录需要手工进行解锁。那么,这么多用户都是用...
修改Oracle重做日志文件的大小
redo重做日志文件是Oracle数据库的非常重要的组成部分。当日志文件发生切换时(LogSwitch),会触发一个检查点,那么日志文件的大小就和检查点的触发频率相关。更为频繁的检查点可以缩短数据库的恢复时间,但是过于频繁的检查点却会带来性能负担。所以如何合理地设置日志文件的大小也是数据库优化的一个重要内容。而且,...