oracle管理技术
文章平均质量分 84
warden2010
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Oracle数据字典视图(列表)
<br /> Oracle数据字典视图 <br />名称 含义 <br />DBA_2PC_NEIGHBORS 包含待处理事务进入连接和退出连接信息。 <br />DBA_2PC_PENDING 包含等待恢复的分布式事务的信息。 <br />DBA_ALL_TABLES 显示数据库中所有表(对象表和关系表)的描述。 <br />DBA_ANALYZE_OBJECTS 列出分转载 2011-05-04 08:49:00 · 1170 阅读 · 0 评论 -
oracle 建表相关参数
<br />建表一般来说是个挺简单的事情,但是Oracle的建表语句有很多可选的参数,有些我们可能平时不太用,用的时候又不知道怎么用,这里就写一个较完整的建表的例<br />create table tp_serv_day <br />(<br />serv_id number(15)<br />constraint tp_serv_day_pk primary key,<br />serv_name varchar2(200)<br />constraint tp_serv_day_cn1 not nul原创 2011-01-16 20:58:00 · 3452 阅读 · 0 评论 -
oracle undo表空间切换
<br />Oracle的AUM(Auto Undo Management)从出生以来就经常出现只扩展,不收缩(shrink)的情况(通常我们可以设置足够的UNDO表空间大小,然后取消其自动扩展属性),在实际的环境中遇到undo表空间为断上涨,报警短信不断。<br />1.确认文件<br />SQL> select file_name,bytes/1024/1024 from dba_data_files 2 where tablespace_name like 'UNDOTBS1';FIL原创 2011-03-04 22:39:00 · 1183 阅读 · 0 评论 -
是否使用spfile
<br />判断是否使用了SPFILE,可以使用以下方法:<br />1.查询v$parameter动态视图,如果以下查询返回空值,那么你在使用pfile.<br /><br />SQL> SELECT name,value FROM v$parameter WHERE name='spfile';<br />NAME<br />------------------------------------------------------------------<br />VALUE<br />-------原创 2011-03-03 20:45:00 · 927 阅读 · 0 评论 -
Oracle Recyclebin - purge
<br />使用 Oracle Database 10g中的闪回表特性,可以毫不费力地恢复被意外删除的表<br />以下是一个不该发生却经常发生的情况:用户删除了一个非常重要的表—当然是意外地删除—并需要尽快地恢复。(在某些时候,这个不幸的用户可能就是 DBA!)<br />Oracle9iDatabase 推出了闪回查询选项的概念,以便检索过去某个时间点的数据,但它不能闪回 DDL 操作,如删除表的操作。唯一的恢复方法是在另一个数据库中使用表空间的时间点恢复,然后使用导出/导入或其他方法,在当前数据库中重原创 2011-03-10 10:48:00 · 2161 阅读 · 0 评论 -
给想转行做DBA的朋友一些劝告(转载)
<br />给想转行做DBA的朋友一些劝告<br /><br />所谓忠言逆耳,良药苦口,各位看官,请耐着心看完,对你们是会有帮助的,特别是临近毕业的毕业生。<br />最近公司因为项目原因,需要招各种DBA,有中级的,有初级的,我也参与其中,面试了一些,下面跟大家分享一下面试的感受。<br />有个大学生,2010年毕业,做了一段时间的开发,想转行做DBA,来到我公司面试,湖北小伙,第一感觉一般,简历平平,待业几个月,做过短暂开发。我问他:你是开发出身,为什么要应聘DBA职位?他回答一个朋友告诉他,要想快原创 2011-03-16 12:56:00 · 4320 阅读 · 3 评论 -
ORA-00600:[32695], [hash aggregation can't be done]错误解决
<br />在开发过程中,由于要求的字段比较多而且都是要经过group by 统计,程序调度一段时间后报错,ORA-00600:[32695], [hash aggregation can't be done]参照网上的解决方法进行在存储过程序中使用方法进行解决,现在该文转载一下。<br />以下为原文:<br />还是那个hash group by算法的问题,日志文件中出现以下记录:<br />12345678910111213141516171819202122232425262728293031323原创 2011-03-22 13:48:00 · 2041 阅读 · 0 评论 -
Oracle10g中启动和关闭OEM
从Oracle10g开始,Oracle极大的增强了OEM工具,并通过服务器端进行EM工具全面展现。在10g中,客户端可以不必安装任何Oracle客户端工具,仅凭浏览器就可以调用强大的EM工具。在Server端,可以通过如下命令启动EM工具控制台:emctl start dbconsole以下是启动过程:[oracle@danaly ~]$ emctl start dbconsoleTZ set to PRCOracle Enterprise Manager 10g Database Contro原创 2011-03-22 23:13:00 · 4971 阅读 · 0 评论 -
oracle 修改日志大小及增加日志成员
<br />今天在看《剑破冰山》这本书,有一个logfile switch 等待的问题,书上提到有两种解决问题方法,1.增加dbw进程数2.增大日志文件大小,对于第一种方法只需要更改一下参数这里不进行介绍,我主要介绍日志的一些操作及原则,当然了这些信息主要对参照网上的信息和自己的一些实际操作。<br />1.增大日志文件大小,我是通过新创建大的日志组然后进行切换实现的<br />a.创建新的日志组<br /><br />alter database add logfile group 4 ('/u01/or原创 2011-04-03 22:29:00 · 11747 阅读 · 0 评论 -
oracle 数据字典
在看盖国强的DBA入门,进阶与诊断案例时,按照他的思路把oracle的数据字典进行总结:1.数据字典的组成a.内部RDBMS(X$)表b.数据字典表c.动态性能视图d.数据字典视图2.各个部份描述a.内部表(X$),X$是数据库的核心部份,这些表用于跟踪内部数据信息,维护数据库正常运行,x$是加密命名的,是oracle公司的技术机密,oracle通过X$创建大量的视图,提供用户查询和管理数据库之用。oracle不充许sysdba以外的用户直接访问,显示授权是不被充许的。由于这部份没有文档一般只知道几个就己经原创 2011-04-10 18:31:00 · 1085 阅读 · 0 评论 -
export 批量导数据(分区)脚本(手动)
<br />经常在项目中要批量备份数据,在数据仓库环境中,对于分区表的备份我们可以通all_tab_partitions进行批量处理,对于非分区表一般比较容易处理,这里不做介绍。<br />1.生成导数据脚本<br />select 'nohup exp '||'scott||'/'||'tigger'||'@bidb LOG='||t.partition_name||'.log TABLES=/('||t.table_name||':'||t.partition_name||'/) FILE='||t.p原创 2011-04-25 10:14:00 · 1079 阅读 · 0 评论 -
Oracle表的分析统计及应用的存储过程
<br /><br />使用dbms_stats 还是analyze<br />自从Oracle8.1.5引入dbms_stats包, Oracle及专家们就推荐使用dbms_stats取代analyze。 理由如下:<br />1. dbms_stats可以并行分析<br />2. dbms_stats有自动分析的功能(alter table monitor )<br />3. analyze 分析统计信息的有些时候不准确<br /><br /> <br /> <br /> <br />第1,2比较好理解原创 2011-04-26 15:55:00 · 2434 阅读 · 0 评论 -
oracle数据库open_mode的改变
<br />数据库的open_mode有read only和read write 中,要改变需要重新启动数据库。<br />一.read only <br />1.关闭数据库 shutdonw immediate;<br /><br />2.启动数据库到mount状态 <br />ora_test@oracle[/home/oracle]> sqlplus / as sysdba<br /><br />SQL*Plus: Release 10.2.0.1.0 - Production on Sun Mar原创 2011-01-15 22:17:00 · 12028 阅读 · 1 评论 -
ORA-00600: 内部错误代码, 参数: [4194], [24], [22], [], [], [], [], []
由于电脑经常非法关机,导致数据关闭时,出现以下错误。Errors in file c:\oracle\product\10.1.0\admin\orcl\bdump\orcl_smon_5140.trc:ORA-00607: Internal error occurred while making a change to a data blockORA-00600: internal原创 2011-11-24 21:42:31 · 4412 阅读 · 0 评论 -
Oracle 字符集问题解析
经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下。[B]第一次迭代:掌握字符集方面的基本概念。[/B] 有些朋友可能会认为这是多此一举,但实际上正是由于对相关基本概念把握不清,才导致了诸多问题和疑问。首先是字符集的概念。我们知道,电子计算机最初是用来进行科学计算的(所以叫做“计算机”),但随着技术的发展,还需要计算机进行其它方面的应用处理。这就要求计算转载 2011-11-27 20:49:20 · 716 阅读 · 0 评论 -
ORA-01157、ORA-01110 (rac 增加结点2的undo表空间)
由于ETL在加载表的上一周期全量数据时,undotbs2表空间报满,不释放,本想别建一个undo表空间,进行切换,但又没有相应的裸设备,所以错误的没有在共享存储上建undo表空间,导致DBWR不能定位,原因是这个数据文件只有这个结点有访问权限,所以要把这个表空间删除。1.建表空间过程:create undo tablespace undotbs3 datafile '/oracle/app原创 2011-12-04 22:06:25 · 1946 阅读 · 0 评论 -
通过外部表查看Alert日志
1.找到Alert日志所在的目录show parameter background_dump_dest;SQL> show parameter background_dump_dest; NAME TYPE VALUE------------------------------------ -----原创 2012-03-27 18:34:45 · 1292 阅读 · 0 评论 -
imp报IMP-00010,IMP-00013错误
在导入dmp文件时报以下错误:IMP-00010: 不是有效的导出文件, 头部验证失败IMP-00000: 未成功终止导入在网上查有两种方法,我是通过第二方法1.imp/exp的版本不对,也就是说低版本的导出,可以用高版本的导入,但高版本导出不能用低版本的导入,这个版本不只是指imp/exp的版本,也是指数据库的版本2.可能你在用ftp download时未设置bina原创 2012-07-19 19:13:15 · 9658 阅读 · 0 评论 -
DBMS_SCHEDULER执行PERL脚本加载数据
1.本人例子利用oracle 11g 的dbms_scheduler包实现,其中主要用到三个过程分别为SET_JOB_ARGUMENT_VALUE,CREATE_JOB,RUN_JOB三个过程,其中三个过程的参数说明如下:create_job参数:AttributeDescriptionjob_nameName of the job原创 2015-02-09 17:57:16 · 1481 阅读 · 0 评论 -
Oracle Scheduler Chain 的用法
本人是借荐他人的文章目的是学习dbms_scheduler创建CHAIN类型的JOB,至于EXECUTABLE类型的JOB我己经在介绍了.下面转网上相关介绍:Oracle CHAIN,也就是链,是将一串需要完成的作业连在一起,根据每一个步骤完成的不同结果来确定下面的哪一个动作需要被完成。实际上也就是if .. then ..else。比如,可能有如下的定义,step 1成功执行,执行ste原创 2015-02-11 22:50:58 · 1787 阅读 · 0 评论 -
Oracle移除表空间的数据文件 ora-00604 ora-01426
项目背景:在之前开发环境数据库管理比较乱,在表空间不足时只是添加数据文件,测试完后数据己删除,但数据库表空间所占的空间不能回收,导致数据库的存储目录使用率达到97%以上实际使用只有10%,迫切需要将不用空间进行回收.技术背景:Oracle不提供如删除表、视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间。Oracle 10G R2开始,可以采用:Alter t原创 2015-07-01 17:29:56 · 3941 阅读 · 0 评论 -
利用oracle dbms_scheduler执行windows的bat脚本加载数据
利用oracle dbms_scheduler执行windows的bat脚本加载数据1.windows 配置dbms_scheduler 运行external job需要做以下配置A.确保Windows服务启动 -- OracleJobSchedulerORACLESID,我的数据库SID为rwadb 所以为OracleJobSchedulerRWADB,如下图所示原创 2015-10-10 15:16:08 · 1969 阅读 · 0 评论 -
ORA-00600 [kcbchg1_12]
ORA-00600 [kcbchg1_12]原创 2017-04-07 14:52:49 · 846 阅读 · 0 评论 -
批量删除表的方法
<br />该方法可进行小数据量的迁移工作<br />-- 如果表己经存在可以批量删除,然后重建<br />begin<br /> for t in (<br /> select table_name from <br /> user_tables t<br /> ) loop<br /> execute immediate 'drop table '||t.table_name;<br /> end loop;<br />end;<br />-- 批量建表<br />begin<br />原创 2010-06-27 20:42:00 · 617 阅读 · 0 评论 -
SQL*Loader使用指南
Oracle 的SQL*LOADER可以将外部数据加载到数据库表中。下面是SQL*LOADER的基本特点:1)能装入不同数据类型文件及多个数据文件的数据2)可装入固定格式,自由定界以及可度长格式的数据3)可以装入二进制,压缩十进制数据4)一次可对多个表装入数据5)连接多个物理记录装到一个记录中6)对一单记录分解再装入到表中7)可以用 数对制定列生成唯一的KEY8)可对磁盘或 磁带数据文件装入制原创 2010-01-23 10:17:00 · 810 阅读 · 0 评论 -
sql*loader用法小结
sql*loader用法小结最近在项目中遇到将clob类型的大对象导入到数据库中(oracle),平时只是拷贝一下就行了。可是遇到clob就行了,问了几个同事都没有办法,最后问了组长和后台比较牛的人她们分别告诉我用pl/sql和toad导入的方法,可是导入时还有问题,后来向华为研发要了一个sql*loader脚本,看了一下挺简单的,结果研发给的可以导进去,本地布署的却不行,最后确定是版本有问题原创 2010-01-23 08:22:00 · 2036 阅读 · 0 评论 -
深刻理解Oracle数据库的启动和关闭
一、启动和关闭Oracle数据库 要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用户实际上是SYS用户以SYSDBA连接的同义词)。Oracle数据库的新版本将逐步淘汰INTERNAL这个内部用户,所以我们最好还是设置DBA用户具有SYSDBA权限。 二原创 2010-01-23 12:13:00 · 483 阅读 · 0 评论 -
chkconfig命令详解
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 语法: chkconfig --list [name] chkconfig --add name chkconfig --del name chkconfig [--level levels] nam原创 2010-01-29 20:49:00 · 838 阅读 · 0 评论 -
linux下oracle启动过程
在linux下启动oracle 和在windows是有差别的,对于一般在windows下操作习惯人有很多不适应,所以我特别写这样文章,以方便新手进行操作,下面就一步一步讲解启动过程。1.通过终端连接到linux服务器,当然这样的软件很多例如putty,SecureCRT,并以oracle用户进行登录,否则启动oracle时会错的,没有权限启动.(也可用户root 登录,然后进行 su - or原创 2010-01-29 21:59:00 · 2464 阅读 · 0 评论 -
SuSE Linux10上安装Oracle数据库
系统要求: 内存:推荐1G Swap分区:设为内存的2倍 /tmp磁盘空间:400MB以上三 磁盘空间:软件3.5G 数据1.2G 所需软件:(如果安装系统时,选择software时选择oracle base(很重要) ,下面的一些软件包可以不用安装,红色字体可以不用理会) SuSE Linux10 for x86 Oracle database 10gR原创 2010-01-04 01:03:00 · 2302 阅读 · 0 评论 -
oracle表空间学习-大文件表空间
Oracle 10g 的存储能力有了显著的增强。这表现在很多方面,下面介绍 10g 新增的表空间类型:大文件 (Bigfile) 表空间。 大文件表空间从某种角度来说提高了 Oracle 在 VLDB (<a class="l" onmousedown="function onmousedown(){return clk(0,,,res,1,,0CAoQFjAA原创 2010-01-07 21:29:00 · 856 阅读 · 0 评论 -
创建非标准表空间的方法
oracle创建表空间相关的参数为bd_block_size 默认的大小即标准的大小,我们如果不指定具体的大小,所创建的表空间的数据块即可db_block_size 所指定的大小进创建的。如下例:create tablespace tbs_cb9 datafile /opt/oracle/oradata/orcl/users09.dbf size 10M;当我们创建非标准块的表空原创 2010-01-09 14:30:00 · 1733 阅读 · 0 评论 -
oracle 10G flashback 学习
oracle 10G flashback 学习 项目开发中,前台人员不小心删除了配置表数据,我用此方法把删除的数据恢复过,具体步骤如下--首先启动行移动alter table table_name enable row movement;-- 进行时间点恢复(此处只是基于时间点进行恢复的,另外scn恢复以后介绍)flashback table table_name to timesta原创 2010-03-28 15:37:00 · 617 阅读 · 0 评论 -
ora-28547解决方案
由于数据库宕机导致文件的内容改变,当我们再次通接时会ora-28547错语,而且我们用tnsping tnsname也可以正确返回,说明我们的链路是通的,通过查找资料将listener.ora中的(PROGRAM = extproc)这句注释掉就可以了,extproc是一个扩展的程序调用接口协议, 连接和调用外部的操作系统程序或进程用时会用通过以上方法问题解决.翻译 2010-05-04 13:17:00 · 766 阅读 · 0 评论 -
oracle 解锁相关方法
<br />-- 查看有哪些表被锁住<br />select b.owner,b.object_name,a.session_id,a.locked_mode<br />from v$locked_object a,dba_objects b<br />where b.object_id = a.object_id;<br />-- 查看有哪些表被锁住<br />select b.username,b.sid,b.serial#,logon_time<br />from v$locked_object a,原创 2010-06-27 20:34:00 · 674 阅读 · 0 评论 -
oracle 后台进程
一个实例可以有多个后台进程,但是,并不是每一个后台进程都会出出,通过视图v$bgprocess可以查看后台进程信息。一般我们是通过以下sql查看后台必须的后台进程.1.查看后台进程select paddr,name,descriptionfrom v$bgprocessorder by paddr desc;2.这个视图中paddr的行都是系统上配置和运行的进程(线程)原创 2010-01-16 17:49:00 · 726 阅读 · 0 评论 -
查看表空间利用率及相关及脚本
-- 查看表空间利用率select b.file_id file_id, b.tablespace_name, b.bytes, b.maxbytes,(b.bytes-sum(nvl(a.bytes,0))) used, sum(nvl(a.bytes,0)) unused, sum(nvl(a.bytes,0))/(b.bytes)*100 percentage from dba_free原创 2010-05-04 13:30:00 · 926 阅读 · 0 评论 -
三种建表方式所占用的回滚段大小
<br />第一种:create table s as select * from dba_objects; -- <br />第二种:create table s as select * from dba_objects where 1=0;<br /> insert /*+ append */ into s select * from dba_objects;<br />第三种:create table s as select * from dba_objects where 1原创 2010-06-30 09:47:00 · 832 阅读 · 0 评论 -
oracle压缩表表空间
<br />表压缩是如何工作的<br />在Orcle9i第2版中,表压缩特性通过删除在数据库表中发现的重复数据值来节省空间。压缩是在数据库的数据块级别上进行的。当确定一个表要被压缩后,数据库便在每一个数据库数据块中保留空间,以便储存在该数据块中的多个位置上出现的数据的单一拷贝。这一被保留的空间被称作符号表(symbol table)。被标识为要进行压缩的数据只存储在该符号表中,而不是在数据库行本身内。当在一个数据库行中出现被标识为要压缩的数据时,该行在该符号表中存储一个指向相关数据的指针,而不是数据本身。原创 2010-07-25 16:42:00 · 715 阅读 · 0 评论 -
oracle批量授权
<br />对于一些管理的脚本,我们平时要注意收集,遇到相关问题拿过来执行一下就OK,下面是一个批量授权的脚本分享给大家。<br />begin<br />for grant_sql in ( <br />select 'grant select,insert,update,delete on scott.' || table_name || ' to SH' exe_sql<br /> from all_tables t<br />where t.owner = 'SCOTT'<br />)<br />原创 2010-09-08 22:01:00 · 1123 阅读 · 0 评论
分享