本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
 
0
一 设置为归档方式Sql代码  sql> archive log list;   #查看是不是归档方式  sql> alter system set log_archive_start=true scope=spfile; #启用主动归档  sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile;#设置归档路径  sql> alter system set log_archive_dest_1=''location=/oracle/ora9/oradata/arch1'' scope=spfile;  sql> alter system set log_archive_dest_2=''location=/oracle/ora9/oradata/arch2'' scope=spfile;  #如果归档到两个位置,则可以通过上边方法实现  sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log''  #设置归档日记款式  sql> shutdown immediate;    www.2cto.com sql> startup mount;    #打开控制文件,不打开数据文件  sql> alter database archivelog; #将数据库切换为归档模式  sql> alter database open;   #将数据文件打开  sql> archive log list;   #查看此时是否处于归档模式  查询以确定数据库位于archivelog模式中且...
一般来讲除开业务数据存放的表空间,DBA要着重关注SYSTEM,SYSAUX,UNDO,TEMP表空间,SYSTEM表空间的大小一般是衡定的,UNDO和TEMP表空间的大小由数据库的业务情况决定,而SYSAUX表空间在默认条件下你如果不做任何配置,随着时间的推移,会膨胀的越来越大!SYSAUX表空间做为SYSTEM表空间的辅助表空间,主要存放EM相关的内容以及表统计信息,AWR快照,审计信息等,个人认为,如果你的SYSAUX表空间大小超过2G,那么该考虑让他减肥了! 一:使用下列语句查询表空间使用率 view sourceprint?01.SELECT * FROM ( 02.SELECT D.TABLESPACE_NAME, 03.SPACE || 'M' "SUM_SPACE(M)", 04.BLOCKS "SUM_BLOCKS", 05.SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)", 06.ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%'07."USED_RATE(%)", 08.FREE_SPACE || 'M' "FREE_SPACE(M)"09.FROM (  SELECT TABLESPACE_NAME, 10.ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, 11.SUM (BLOCKS) BLOCKS 12.FROM DBA_DATA_FILES 13.GROUP BY TABLESPACE_NAME) D, 14.(  SELECT TABLESPACE_NAME, 15.ROUND (SU...
ORA-07445: 出现异常错误: 核心转储(oracle bug) 目录(?)[+]近来在测试时碰到一莫名问题,研发声称在开发环境中正常,而我们在测试环境中则经常遭遇,几番折腾,发现是oracle的bug所致。不过即使是oracle出bug,人家在metalink上也井井有条的写着从哪个版本到那个版本存在这样的问题,在什么版本上可以fix掉这个bug,在什么条件下会触发这个bug,又通过什么样的解决方案可以把这个bug规避掉。所以说,bug到处都会有,而怎样让已知bug不会成为用户无法使用产品或者生产力无法提高的借口是非常重要滴...废话少说,还是记下问题排查的过程,以备后查。数据库版本:oracle10.2.0.4问题现象:日志中出现如下报错:2011-06-2110:2050,010: INFO [http-8180-Processor11|http-8180-Processor11] ([PublishSequenceDetailHibernateDao].java:307) - 准备数据存储过程参数:publishType[1]publishSeq[813007]currentFolderIds[37]2011-06-2110:2052,103:ERROR [http-8180-Processor11|http-8180-Processor11] ([PublishSequenceDetailHibernateDao].java:317) - 存取过程操作失败无法从套接字读取更多的数据 2011-06-2110:2052,104:...
"ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法在测试数据库里,之前操作一个修改表结构语句失败后,再执行下一个语句时,提供报错: #  alter tables items modify (manager,varchar2(8))提供语句有错误。#alter table items modify (manager varchar2(8))提示以下错误 :ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源# commit;然后使用 SQL提交数据后,就可以正常使用数据表结构了。网友给出以下方法,测试oracle10g 提示找不到视图。解决方法如下:=========================================================SQL> select session_id from v$locked_object;SESSION_ID----------       56SQL> SELECT sid, serial#, username, osuser FROM v$session where sid = 56;       SID    SERIAL# USERNAME                       OSUSER---------- ---------- ------------------------------ ---------------------...
一道关于AVG函数和NULL值的面试题 某部门有10个员工,其中9个工资为1000,另一个为NULL,当使用AVG函数取该部门平均工资时,结果应该是多少?A.1000B.900我这里把题目再延伸一下,如果我们count(工资)结果是多少? A.10, B.9实践出真知SQL> select * from v$version;BANNER-------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit ProductionPL/SQL Release 11.1.0.7.0 - ProductionCORE    11.1.0.7.0      ProductionTNS for Linux: Version 11.1.0.7.0 - ProductionNLSRTL Version 11.1.0.7.0 - ProductionSQL>SQL> drop table t purge;Table dropped.SQL> create table t(sal number);Table created.SQL> insert into t values (10);1 row created.SQL> insert into t values ('');1 row created.SQL> insert into t values(0);1 row created.SQL> commit;Commit complete.SQL> select * from t;       SAL---------- &n...
Oracle数据库无效对象问题处理  维护的数据库存在大量的无效对象,其中大量的无效对象(800多个)所有者为系统用户,虽然对应用暂时没有影响,但为了避免隐患,对无效对象进行了处理。$select object_name,object_type,owner,created,last_ddl_time,timestamp from dba_objects where status='INVALID' order by 1,2; OBJECT_NAME                      OBJECT_TYPE OWNER     /c0c184e9_QsmaSqlValidationTar   JAVA CLASS  SYS       /da5b87e_QsmaSqlTestCallback     JAVA CLASS  SYS       /ec947e38_QsmaSqlParserJJCalls   JAVA CLASS  SYS       _ALL_REPCOLUMN_GROUP             VIEW     &...
Oracle查询表空间使用情况 --查询表空间使用情况  SELECT UPPER(F.TABLESPACE_NAME) "表空间名",  D.TOT_GROOTTE_MB "表空间大小(M)",  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",  F.TOTAL_BYTES "空闲空间(M)",  F.MAX_BYTES "最大块(M)"  FROM (SELECT TABLESPACE_NAME,  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES  FROM SYS.DBA_FREE_SPACE  GROUP BY TABLESPACE_NAME) F,  (SELECT DD.TABLESPACE_NAME,   ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB  FROM SYS.DBA_DATA_FILES DD  GROUP BY DD.TABLESPACE_NAME) D  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME  ORDER BY 1;  --查询表空间的free space  select tablespace_name,  count(*) as extends,  round(sum(bytes) / 1024 / 1024, 2) as MB,  sum(blocks) as blocks  from dba_free_space  gro...
oracle实例内存(SGA和PGA)调整   一、名词解释(1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。(2)共享池:Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义,主要包括:Library cache(共享SQL区)和Data dictionary cache(数据字典缓冲区)。  共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运行的动态信息。(3)缓冲区高速缓存:Database Buffer Cache用于缓存从数据文件中检索出来的数据块,可以大大提高查询和更新数据的性能。(4)大型池:Large Pool是SGA中一个可选的内存区域,它只用于shared server环境。(5)Java池:Java Pool为Java命令的语法分析提供服务。(6)PGA:Process Global Area是为每个连接到Oracle database的用户进程保留的内存。二、分析与调整(1)系统全局域:  SGA与操作系统、内存大小、cpu、同时登录的用户数有关。可占OS系统物理内存的1/3到1/2。a.共享池:查看共享SQL区的使用率: Sql代码  select(sum(pins-reloads))/sum(pins) "Library cache"...
查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件 1、查看表空间已经使用的百分比Sql代码   select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc    “Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小 比如:test表空间有2个数据文件,datafile1为300MB,datafile2为400MB,那么test表空间的“Sum MB”就是700MB“userd MB”表示表空间已经使用了多少“free MB”表示表空间剩余多少“percent_...
 
0

Oracle锁表处理

发表者:admin分类:数据库2015-07-14 11:07:41 阅读[2224]
Oracle锁表处理最近系统连续出现好几次锁表,昨晚又发生一次锁表,11点钟跑到客户现场,进过跟踪发现导致这次锁表的机器和上一次是同一台,花了近半小时解锁。之后到科室找到那台机器看看情况,发现那台机器速度超慢,保存一份病历需要几十秒钟,原因应该就在这里了。分析原因:保存病历时发生超时,Nhibernate在发生超时时事务需要进行回滚,但是回滚的时候也发生了异常,没有回滚成功,导致了锁表。处理方法:a、先解决该机器速度慢的问题,配置太差的机器要求医院进行硬件升级;b、验证事务回滚的时候是否有可能发生回滚异常。先贴出现场处理死锁的步骤。另外:有时候通过PL/SQL执行kill session可能仍然无法解锁,此时需要登陆到Oracle服务器将进程kill掉才行。1、生成Kill Session语句select 'alter system kill session ''' || SID ||',' || SERIAL# || ''';' from(select distinct a.sid, a.Serial#, status, machine, LOCKWAIT, logon_time  from v$session a, v$locked_object b where (a.status = 'ACTIVE' or a.status = 'INACTIVE')   and a.sid = b.session_id   and b.ORACLE_USERNAME='XYHISTEST'--加上用户名是避免把其他系统...
    总共51页,当前第32页 | 页数:
  1. 22
  2. 23
  3. 24
  4. 25
  5. 26
  6. 27
  7. 28
  8. 29
  9. 30
  10. 31
  11. 32
  12. 33
  13. 34
  14. 35
  15. 36
  16. 37
  17. 38
  18. 39
  19. 40
  20. 41
  21. 42