Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

59

积分

0

好友

0

主题
1#
发表于 2012-2-6 11:46:07 | 查看: 9805| 回复: 12
把A机上的数据库备份,在B机上做恢复,然后查询DBA_DB_LINKS,看不到private 的dblink,只能看到public方式创建的dblink,是何原因?
2#
发表于 2012-2-6 11:50:00
是不是服务名不存在,用户没创建dblink的权限。

回复 只看该作者 道具 举报

3#
发表于 2012-2-6 11:53:00
dblink之前就已经创建好了,是在恢复后,丢失的,丢的是private,public 的没丢

回复 只看该作者 道具 举报

4#
发表于 2012-2-6 15:13:51

回复 3# 的帖子

是如何备份恢复的?   exp imp? rman restore ?

提供的信息不足, 无法提出更好的建议。

回复 只看该作者 道具 举报

5#
发表于 2012-2-6 15:15:33
用rman做的备份

回复 只看该作者 道具 举报

6#
发表于 2012-2-6 15:23:39
做过测试,备份前创建了两个dblink,一个是public的,一个是private的,在B机上还原后,只public的能在dba_db_links 中查到

回复 只看该作者 道具 举报

7#
发表于 2012-2-6 15:27:04

回复 5# 的帖子

rman 备份是如何做恢复的?

完全恢复 complete recovery  还是 incomplete recovery 不完全恢复?

select * from DBA_DB_LINKS;

回复 只看该作者 道具 举报

8#
发表于 2012-2-6 15:36:57
基于时间点的不完全恢复,select * from DBA_DB_LINKS 只能看到public的dblink。

回复 只看该作者 道具 举报

9#
发表于 2012-2-6 15:44:37
执行以下脚本, 并贴出输出
  1. select * from DBA_DB_LINKS


  2. spool results01.txt
  3. set echo on feedback on time on timing on pagesize 100 linesize 80 numwidth 13
  4. show user
  5. alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS';
  6. select * from v$version;
  7. select to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS') as current_date from dual;
  8. column name format a30
  9. column value format a49
  10. select name, value from v$parameter where isdefault='FALSE' order by 1;
  11. column parameter format a30
  12. column value format a49
  13. select * from v$nls_parameters order by parameter;
  14. column name format a10
  15. select dbid, name,
  16.        to_char(created, 'DD-MON-YYYY HH24:MI:SS') created,
  17.        open_mode, log_mode,
  18.        to_char(checkpoint_change#, '999999999999999') as checkpoint_change#,
  19.        controlfile_type,
  20.        to_char(controlfile_change#, '999999999999999') as controlfile_change#,
  21.        to_char(controlfile_time, 'DD-MON-YYYY HH24:MI:SS') controlfile_time,
  22.        to_char(resetlogs_change#, '999999999999999') as resetlogs_change#,
  23.        to_char(resetlogs_time, 'DD-MON-YYYY HH24:MI:SS') resetlogs_time
  24. from v$database;
  25. select * from v$instance;
  26. archive log list;
  27. select * from v$thread order by thread#;
  28. select * from v$log order by first_change#;
  29. column member format a45
  30. select * from v$logfile;
  31. column name format a79
  32. select '#' || ts.name || '#' as tablespace_name, ts.ts#,
  33.        '#' || df.name || '#' as filename, df.file#, df.status, df.enabled, df.creation_change#,
  34.        to_char(df.creation_time, 'DD-MON-YYYY HH24:MI:SS') as creation_time,
  35.        to_char(df.checkpoint_change#, '999999999999999') as checkpoint_change#,
  36.        to_char(df.checkpoint_time, 'DD-MON-YYYY HH24:MI:SS') as checkpoint_time,
  37.        to_char(df.offline_change#, '999999999999999') as offline_change#,
  38.        to_char(df.online_change#, '999999999999999') as online_change#,
  39.        to_char(df.online_time, 'DD-MON-YYYY HH24:MI:SS') as online_time,
  40.        to_char(df.unrecoverable_change#, '999999999999999') as online_change#,
  41.        to_char(df.unrecoverable_time, 'DD-MON-YYYY HH24:MI:SS') as online_time,
  42.        to_char(df.bytes, '9,999,999,999,990') as bytes, block_size
  43. from v$datafile df, v$tablespace ts
  44. where ts.ts# = df.ts#
  45. and ( df.status <> 'ONLINE'
  46. or    df.checkpoint_change# <> (select checkpoint_change# from v$database) );
  47. select '#' || ts.name || '#' as tablespace_name, ts.ts#,
  48.        '#' || dh.name || '#' as filename, dh.file#, dh.status, dh.error, dh.
  49. fuzzy, dh.creation_change#,
  50.        to_char(dh.creation_time, 'DD-MON-YYYY HH24:MI:SS') as creation_time,
  51.        to_char(dh.checkpoint_change#, '999999999999999') as checkpoint_change#,
  52.        to_char(dh.checkpoint_time, 'DD-MON-YYYY HH24:MI:SS') as checkpoint_time,
  53.        to_char(dh.resetlogs_change#, '999999999999999') as resetlogs_change#,
  54.        to_char(dh.resetlogs_time, 'DD-MON-YYYY HH24:MI:SS') as resetlogs_time,
  55.        to_char(dh.bytes, '9,999,999,999,990') as bytes
  56. from v$datafile_header dh, v$tablespace ts
  57. where ts.ts# = dh.ts#
  58. and ( dh.status <> 'ONLINE'
  59. or    dh.checkpoint_change# <> (select checkpoint_change# from v$database) );
  60. select * from v$tempfile;
  61. select HXFIL File_num,substr(HXFNM,1,60) file_name, FHTNM tablespace_name,
  62.        FHTYP type, HXERR validity,
  63.        FHSCN SCN, FHTIM SCN_Time, FHSTA status,
  64.        FHTHR Thread, FHRBA_SEQ Sequence
  65. from X$KCVFH
  66. --where HXERR > 0
  67. order by HXERR, FHSTA, FHSCN, HXFIL;
  68. column error format a15
  69. select error, fuzzy, status, checkpoint_change#,
  70.        to_char(checkpoint_time, 'DD-MON-YYYY HH24:MI:SS') as checkpoint_time,
  71.        count(*)
  72. from v$datafile_header
  73. group by error, fuzzy, status, checkpoint_change#, checkpoint_time
  74. order by checkpoint_change#, checkpoint_time;
  75. select * from V$INSTANCE_RECOVERY;
  76. select * from v$recover_file order by change#;
  77. select * from dba_tablespaces where status <> 'ONLINE';
  78. SELECT * FROM database_properties order by property_name;
  79. select *
  80. from X$KCCLH, (select min(checkpoint_change#) df_min_scn,
  81. min(checkpoint_change#) df_max_scn
  82.                from v$datafile_header
  83.                where status='ONLINE') df
  84. where LHLOS in (select first_change# from v$log)
  85. or df.df_min_scn between LHLOS and LHNXS
  86. or df.df_max_scn between LHLOS and LHNXS;
复制代码

回复 只看该作者 道具 举报

10#
发表于 2012-2-6 16:00:23

回复 9# 的帖子

抱歉 select * from DBA_DB_LINKS 这个要在 源数据库执行, 获取DB LINK的创建时间。

回复 只看该作者 道具 举报

11#
发表于 2012-2-8 10:57:37
maclean,你好
经过测试,发现问题是这样的:
在A机的tnsnames.ora 中有个“TO_DB_1”,B机上也有一个,只是IP地址不同。
A机上使用如下方式创建dblink:
1、create  dblink xxx   using 'TO_DB_1'
B机上不可以恢复。
2、create   dblink xxx using ' (DESCRIPTION= 。。。‘
B机上可以恢复
3、create  public dblink xxx   using 'TO_DB_1'
B机上可以恢复。

回复 只看该作者 道具 举报

12#
发表于 2012-2-8 15:44:21
1. 对这个结论表示怀疑 , 如果确实是使用rman恢复的话 至少dblink这个对象是该存在的 , 可能失效。

因为rman是物理层面的备份恢复, 建议你查一下原库中这个dblink的dba_objects记录, 然后到目标库也查一下。

回复 只看该作者 道具 举报

13#
发表于 2012-2-9 10:28:48
源库
OWNER                          OBJECT_NAME          OBJECT_TYPE          STATUS                       TO_CHAR(CREATED,'YYYY-MM-DDHH24:MI:SS')
------------------------------ -------------------- -------------------- ---------------------------- ----------------------------------------------------------------------------
PUBLIC                         TEST1                DATABASE LINK        VALID                        2012-02-03 09:12:20
PUBLIC                         ANOTHER              DATABASE LINK        VALID                        2011-02-14 15:40:32
DWH1                           TEST3                DATABASE LINK        VALID                        2012-02-08 14:59:11
DWH1                           TEST2                DATABASE LINK        VALID                        2012-02-03 09:13:11
STG1                           LOC_GP3LOG                                   DATABASE LINK        VALID                                                2011-09-02 13:22:20
STG1                           LOC_GP3PRD                                   DATABASE LINK        VALID                                                2011-09-02 13:22:20

目标库
OWNER                          OBJECT_NAME          OBJECT_TYPE          STATUS                       TO_CHAR(CREATED,'YYYY-MM-DDHH24:MI:SS')
------------------------------ -------------------- -------------------- ---------------------------- ----------------------------------------------------------------------------
PUBLIC                         TEST1                DATABASE LINK        VALID                        2012-02-03 09:12:20
PUBLIC                         ANOTHER              DATABASE LINK        VALID                        2011-02-14 15:40:32
STG1                                 LOC_GP3LOG                                   DATABASE LINK        VALID                        2012-02-09 05:44:04  <---
STG1                           LOC_GP3PRD                                   DATABASE LINK        VALID                        2012-02-09 05:44:04

DWH1 用户创建的私有dblink都没有恢复过来,并且STG1  恢复出来的dblink的创建时间跟源库中的不一样。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-23 23:55 , Processed in 0.051035 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569