标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,768)
- DB2 (22)
- MySQL (77)
- Oracle (1,609)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (166)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (591)
- Oracle安装升级 (97)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- ORA-600 kokiasg1故障分析(obj$中核心字典序列全部被恶意删除)
- ORA-00756 ORA-10567故障数据0丢失恢复
- 数据库文件变成32k故障恢复
- tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
- 文件系统格式化MySQL数据库恢复
- .sstop勒索加密数据库恢复
- 解决一次硬件恢复之后数据文件0kb的故障恢复case
- Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’问题处理
- ORA-01171: datafile N going offline due to error advancing checkpoint
- linux环境oracle数据库被文件系统勒索加密为.babyk扩展名溯源
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
- 11.2.0.4库中遇到ORA-600 kcratr_nab_less_than_odr报错
月归档:十月 2012
重建DBMS_STATS包
数据库版本
SQL> select * from v$version; BANNER ------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production
执行DBMS_STATS报错
SQL> exec dbms_stats.GATHER_TABLE_STATS('CHF','T_XIFENFEI'); begin sys.dbms_stats.GATHER_TABLE_STATS('CHF','T_XIFENFEI');; end; ORA-04063: package body "SYS.DBMS_STATS" 有错误 ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_STATS" 的程序单元 ORA-06512: 在 line 2
重建DBMS_STATS包
SQL> drop package DBMS_STATS; Package dropped. SQL> @?/rdbms/admin/dbmsstat.sql Package created. No errors. Synonym created. Grant succeeded. create role gather_system_statistics * ERROR at line 1: ORA-01921: role name 'GATHER_SYSTEM_STATISTICS' conflicts with another user or role name Grant succeeded. Grant succeeded. Library created. SQL> @?/rdbms/admin/prvtstas.plb Package created. No errors. SQL> @?/rdbms/admin/prvtstai.plb Package body created. No errors. SQL> @?/rdbms/admin/prvtstat.plb Package body created. No errors.
重新执行DBMS_STATS
SQL> exec dbms_stats.GATHER_TABLE_STATS('CHF','T_XIFENFEI'); PL/SQL procedure successfully completed.
补充说明
1.建议数据库在restricted模式下执行重建DBMS_STATS相关脚本
2.对于11g以前版本,具体参考1310365.1
SQL> @?/rdbms/admin/dbmsstat.sql SQL> @?/rdbms/admin/prvtstas.plb SQL> @?/rdbms/admin/prvtstat.plb
TTS实现跨版本迁移数据
以前对Transportable Tablespaces(TTS)一直理解不深,今天无意中看到TTS可以实现数据库升级,今天测试了实现使用TTS 迁移9.2.0.4的一个表空间到11.2.0.3,平台均为Linux 32位
源端版本
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production PL/SQL Release 9.2.0.4.0 - Production CORE 9.2.0.3.0 Production TNS for Linux: Version 9.2.0.4.0 - Production NLSRTL Version 9.2.0.4.0 - Production
创建测试环境
SQL> create tablespace tts_xff 2 datafile '/u01/oracle/oradata/xifenfei/tts_xifenfei01.dbf' size 10m autoextend on next 10m, 3 '/u01/oracle/oradata/xifenfei/tts_xifenfei02.dbf' size 10m autoextend on next 10m 4 ; Tablespace created. SQL> create user tts_xff identified by xifenfei; User created. SQL> grant dba to tts_xff; Grant succeeded. SQL> conn tts_xff/xifenfei Connected. SQL> create table t1 tablespace tts_xff 2 as 3 select * from dba_objects; Table created. SQL> create table t2 tablespace tts_xff 2 as 3 select * from dba_objects; Table created. SQL> create table t_xifenfei tablespace tts_xff 2 as 3 select * from dba_objects; Table created. SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- T1 TABLE T2 TABLE T_XIFENFEI TABLE SQL> select count(*) from t1; COUNT(*) ---------- 30805 SQL> conn / as sysdba Connected. SQL> alter tablespace tts_xff read only; Tablespace altered.
导出并传输测试表空间
[oracle@xifenfei ~]$ exp userid=\'/ as sysdba\' tablespaces=tts_xff file=/tmp/tts_xff.dmp transport_tablespace=y Export: Release 9.2.0.4.0 - Production on Sun Oct 7 04:53:25 2012 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.4.0 - Production Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set Note: table data (rows) will not be exported About to export transportable tablespace metadata... For tablespace TTS_XFF ... . exporting cluster definitions . exporting table definitions . . exporting table T1 . . exporting table T2 . . exporting table T_XIFENFEI . exporting referential integrity constraints . exporting triggers . end transportable tablespace metadata export Export terminated successfully without warnings. [oracle@xifenfei ~]$ scp /tmp/tts_xff.dmp 192.168.1.10:/tmp/ oracle@192.168.1.10's password: tts_xff.dmp 100% 16KB 16.0KB/s 00:00 [oracle@xifenfei ~]$ scp /u01/oracle/oradata/xifenfei/tts_xifenfei* 192.168.1.10:/u01/oracle/oradata/ora11g/ oracle@192.168.1.10's password: tts_xifenfei01.dbf 100% 10MB 3.3MB/s 00:03 tts_xifenfei02.dbf 100% 10MB 5.0MB/s 00:02
目标库版本
SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production
创建用户
SQL> create user tts_11g identified by xifenfei; User created. SQL> grant dba to tts_11g; Grant succeeded.
导入表空间
[oracle@xifenfei ~]$ imp userid=\'/ as sysdba\' tablespaces=tts_xff file=/tmp/tts_xff.dmp > transport_tablespace=y datafiles=/u01/oracle/oradata/ora11g/tts_xifenfei01.dbf, > /u01/oracle/oradata/ora11g/tts_xifenfei02.dbf fromuser=tts_xff touser=tts_11g Import: Release 11.2.0.3.0 - Production on Sat Sep 29 04:18:04 2012 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Export file created by EXPORT:V09.02.00 via conventional path About to import transportable tablespace(s) metadata... import done in ZHS16GBK character set and AL16UTF16 NCHAR character set . importing TTS_XFF's objects into TTS_11G . . importing table "T1" . . importing table "T2" . . importing table "T_XIFENFEI" Import terminated successfully without warnings.
测试数据
SQL> alter tablespace tts_xff read write; Tablespace altered. SQL> conn tts_11g/xifenfei Connected. SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- T1 TABLE T2 TABLE T_XIFENFEI TABLE SQL> select count(*) from t1; COUNT(*) ---------- 30805 SQL> delete from t1; 30805 rows deleted. SQL> commit; Commit complete.
至此测试完成,证明使用tts可以实现跨版本迁移数据
补充说明
1.10g及其以上版本可以实现不同平台的tts迁移,可能需要使用rman convert转换
2.迁移前需要使用 EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK检测依赖性
发表在 Oracle
评论关闭
如何查询会话 event
很多时候,我们在数据库中设置了event,如何确认设置的event生效或者如何确认你的库中设置了什么event.下面的文章测试了在11g中比较方便的方法
数据库版本
SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Solaris: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production
设置测试event
SQL> alter session set events '10510 trace name context forever,level 1'; Session altered. SQL> alter session set events 2 '10046 trace name context forever,level 4'; Session altered. SQL> alter system set events '60025 trace name context forever'; System altered. SQL> alter system set events '10513 trace name context forever,level 2'; System altered.
测试spfile参数中是否有event
SQL> create pfile='/tmp/pfile' from spfile; File created. solaris*orcl-/home/oracle$ grep -i event /tmp/pfile --无记录 SQL> show parameter event; NAME TYPE VALUE ------------------------------------ ----------- ----------------- event string xml_db_events string enable
证明设置event不会在spfile中记录
查询会话event
--dbms_system实现 SQL> set serveroutput on size 1000000 SQL> declare 2 event_level number; 3 begin 4 for i in 1..100000 loop 5 sys.dbms_system.read_ev(i,event_level); 6 if (event_level > 0) then 7 dbms_output.put_line('Event '||to_char(i)||' set at level '|| 8 to_char(event_level)); 9 end if; 10 end loop; 11 end; 12 / Event 10510 set at level 1 Event 10513 set at level 2 Event 60025 set at level 1 PL/SQL procedure successfully completed. --oradebug实现 SQL> oradebug SETMYPID Statement processed. SQL> oradebug eventdump session 10510 trace name context forever,level 1 10513 trace name context forever,level 2 60025 trace name context forever sql_trace level=4
测试证明使用dbms_system可以捕获到event,oradebug可以捕获到本身会话,还可以通过setospid/setorapid来跟踪其他会话的event设置情况.event 10046对应的本质是sql_trace所以使用dbms_system不能捕获到10046
发表在 Oracle
评论关闭