powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не копируются редулоги на стендбае
6 сообщений из 6, страница 1 из 1
Не копируются редулоги на стендбае
    #40078049
SoRa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

После дублицирование все файлы кроме редулогов появляются на standby, в доке сказано что standby redolog автоматически копируются на standby при duplicate.

Код: plsql
1.
2.
Primary: work
Standby: workstan



Primary initwork.ora
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
db_name='work'
db_unique_name='work'
log_archive_config='DG_CONFIG=(work,workstan)'
log_archive_dest_1='LOCATION=/app/oraarch/work VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=work'
log_archive_dest_2='SERVICE=workstan ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=workstan'
log_archive_dest_state_1='ENABLE'
log_archive_dest_state_2='ENABLE'
standby_file_management='AUTO'
fal_server='workstan'
fal_client='work'
...




Standby initwork.ora
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
...
db_name='work'
db_unique_name='workstan'
log_archive_config='DG_CONFIG=(work,workstan)'
log_archive_dest_1='LOCATION=/app/oraarch/work VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=workstan'
log_archive_dest_2='SERVICE=work ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=work'
log_archive_dest_state_1='ENABLE'
log_archive_dest_state_2='ENABLE'
standby_file_management='AUTO'
fal_server='work'
fal_client='workstan'
...



Primary logs:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
SQL> select group#, bytes from v$log;

    GROUP#      BYTES
---------- ----------
         1  524288000
         2  524288000
         3  524288000
         4  524288000
         5  524288000

SQL> SELECT group#, type, member FROM v$logfile order by group#;
    GROUP# TYPE    MEMBER
---------- ------- --------------------------------------------------------------------------------
         1 ONLINE  /app/oradata/work/redo01a.log
         2 ONLINE  /app/oradata/work/redo02a.log
         3 ONLINE  /app/oradata/work/redo03a.log
         4 ONLINE  /app/oradata/work/redo04a.log
         5 ONLINE  /app/oradata/work/redo05a.log
         6 STANDBY /app/oradata/work/redo01a_stan.log
         7 STANDBY /app/oradata/work/redo02a_stan.log
         8 STANDBY /app/oradata/work/redo03a_stan.log
         9 STANDBY /app/oradata/work/redo04a_stan.log
        10 STANDBY /app/oradata/work/redo05a_stan.log
        11 STANDBY /app/oradata/work/redo06a_stan.log
11 rows selected

SQL> select group#, bytes, archived, status from v$standby_log;
    GROUP#      BYTES ARCHIVED STATUS
---------- ---------- -------- ----------
         6  524288000 YES      UNASSIGNED
         7  524288000 YES      UNASSIGNED
         8  524288000 YES      UNASSIGNED
         9  524288000 YES      UNASSIGNED
        10  524288000 YES      UNASSIGNED
        11  524288000 YES      UNASSIGNED
6 rows selected



Запускаю duplicate на primary:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
rman target / auxiliary sys@workstan
run {
  allocate channel c1 type disk;
  allocate auxiliary channel s1 type disk;
 
  duplicate target database for standby from active database dorecover nofilenamecheck;
  sql channel c1 "alter system archive log current";
  sql channel s1 "alter database recover managed standby database using current logfile disconnect";
}



Почему в алерте пишет что нужно создать еще доп. standby logfile:
Primary alert.log при дублицирование
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Wed Jun 16 20:04:03 2021
Clearing standby activation ID 3645547308 (0xd94aa32c)
The primary database controlfile was created using the
'MAXLOGFILES 16' clause.
There is space for up to 11 standby redo logfiles
Use the following SQL commands on the standby database to create
standby redo logfiles that match the primary database:
ALTER DATABASE ADD STANDBY LOGFILE 'srl1.f' SIZE 524288000;
ALTER DATABASE ADD STANDBY LOGFILE 'srl2.f' SIZE 524288000;
ALTER DATABASE ADD STANDBY LOGFILE 'srl3.f' SIZE 524288000;
ALTER DATABASE ADD STANDBY LOGFILE 'srl4.f' SIZE 524288000;
ALTER DATABASE ADD STANDBY LOGFILE 'srl5.f' SIZE 524288000;
ALTER DATABASE ADD STANDBY LOGFILE 'srl6.f' SIZE 524288000;
Wed Jun 16 20:04:18 2021
ALTER SYSTEM SET log_archive_dest_state_2='RESET' SCOPE=BOTH;
ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH;
ALTER SYSTEM ARCHIVE LOG
Wed Jun 16 20:04:21 2021
Thread 1 cannot allocate new log, sequence 9738
Private strand flush not complete
  Current log# 2 seq# 9737 mem# 0: /app/oradata/work/redo02a.log
Wed Jun 16 20:04:21 2021
PING[ARC2]: Heartbeat failed to connect to standby 'workstan'. Error is 16058.



Редулоги не копировались на standby:
Код: plsql
1.
2.
ls -l redo*
ls: cannot access redo*: No such file or directory


Standby database_role, v$archive_dest_status, v$standby_log
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
SQL> select name,db_unique_name,database_role,open_mode from v$database;

NAME      DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
--------- ------------------------------ ---------------- --------------------
WORK      workstan                       PHYSICAL STANDBY MOUNTED


SQL> select recovery_mode from v$archive_dest_status where dest_id in (1, 2);

RECOVERY_MODE
-----------------------
MANAGED REAL TIME APPLY
IDLE


SQL> select group#, bytes, archived, status from v$standby_log;

    GROUP#      BYTES ARC STATUS
---------- ---------- --- ----------
         6  524288000 YES UNASSIGNED
         7  524288000 YES UNASSIGNED
         8  524288000 YES UNASSIGNED
         9  524288000 YES UNASSIGNED
        10  524288000 YES UNASSIGNED
        11  524288000 YES UNASSIGNED

6 rows selected.



Код: plsql
1.
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
...
Рейтинг: 0 / 0
Не копируются редулоги на стендбае
    #40078101
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoRa,
rman не занимается копированием redo и temp файлов, тем более standby redolog нужно создавать отдельно
Это задачи DBA
Пример rman
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
set echo on
host 'rm -f $ORACLE_HOME/dbs/spfilepstb.ora';
run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
allocate channel d4 type disk;
allocate channel d5 type disk;
allocate channel d6 type disk;
allocate auxiliary channel aux type disk;
#sql channel aux 'shutdown abort';
#sql channel aux 'startup nomount';
duplicate target database for standby from active database
spfile
parameter_value_convert 'prod','pstb'
set db_unique_name='pstb'
set db_create_file_dest='+DATA'
set db_create_online_log_dest_1='+DATA'
set log_archive_max_processes='7'
reset control_files
set fal_server='prod'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(prod,pstb)'
set log_archive_dest_1='service=prod ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=prod'
set log_archive_dest_2='service=master ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=master'
set log_archive_dest_state_2=enable;
set log_archive_dest_10='location=use_db_recovery_file_dest';
}

sql "alter database add standby logfile ..."
sql "alter database add standby logfile ..."
sql "alter database add standby logfile ..."
sql "alter database add standby logfile ..."

sql "begin for g in (select distinct group# from  v$logfile) loop execute immediate ''alter database clear logfile group ''||g.group#;end loop; end;";
...
Рейтинг: 0 / 0
Не копируются редулоги на стендбае
    #40078197
SoRa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin, спасибо.

На тесте запускаю duplicate, в standby копируется и онлайн редулоги и standby редулоги, как понят такое поведение rman.

rman: duplicate target database for standby from active database dorecover nofilenamecheck;
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
oracle@orcdb2:~> rman target / auxiliary sys@prodstan

Recovery Manager: Release 11.2.0.4.0 - Production on Thu Jun 17 12:43:46 2021

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: PROD (DBID=486457683)
auxiliary database Password:
connected to auxiliary database: PROD (not mounted)

RMAN> run {
2>   allocate channel c1 type disk;
  allocate auxiliary channel s1 type disk;

  duplicate target database for standby from active database dorecover nofilenamecheck;
  sql channel c1 "alter system archive log current";
  sql channel s1 "alter database recover managed standby database using current logfile disconnect";
}3> 4> 5> 6> 7> 8>

using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=1 device type=DISK

allocated channel: s1
channel s1: SID=501 device type=DISK

Starting Duplicate Db at 17-06-2021 12:44:35

contents of Memory Script:
{
   backup as copy reuse
   targetfile  '/app/oracle/product/11.2.0/dbhome_1/dbs/orapwprod' auxiliary format
 '/app/oracle/product/11.2.0/dbhome_1/dbs/orapwprod'   ;
}
executing Memory Script

Starting backup at 17-06-2021 12:44:35
Finished backup at 17-06-2021 12:44:36

contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '/app/oradata/prod/control01.ctl';
   restore clone controlfile to  '/app/oradata/prod/control02.ctl' from
 '/app/oradata/prod/control01.ctl';
}
executing Memory Script

Starting backup at 17-06-2021 12:44:36
channel c1: starting datafile copy
copying standby control file
output file name=/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_prod.f tag=TAG20210617T124437 RECID=18 STAMP=1075466677
channel c1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 17-06-2021 12:44:38

Starting restore at 17-06-2021 12:44:38

channel s1: copied control file copy
Finished restore at 17-06-2021 12:44:39

contents of Memory Script:
{
   sql clone 'alter database mount standby database';
}
executing Memory Script

sql statement: alter database mount standby database

contents of Memory Script:
{
   set newname for tempfile  1 to
 "/app/oradata/prod/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to
 "/app/oradata/prod/system01.dbf";
   set newname for datafile  2 to
 "/app/oradata/prod/sysaux01.dbf";
   set newname for datafile  3 to
 "/app/oradata/prod/undotbs01.dbf";
   set newname for datafile  4 to
 "/app/oradata/prod/users01.dbf";
   backup as copy reuse
   datafile  1 auxiliary format
 "/app/oradata/prod/system01.dbf"   datafile
 2 auxiliary format
 "/app/oradata/prod/sysaux01.dbf"   datafile
 3 auxiliary format
 "/app/oradata/prod/undotbs01.dbf"   datafile
 4 auxiliary format
 "/app/oradata/prod/users01.dbf"   ;
   sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /app/oradata/prod/temp01.dbf in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting backup at 17-06-2021 12:44:44
channel c1: starting datafile copy
input datafile file number=00004 name=/app/oradata/prod/users01.dbf
output file name=/app/oradata/prod/users01.dbf tag=TAG20210617T124444
channel c1: datafile copy complete, elapsed time: 00:00:07
channel c1: starting datafile copy
input datafile file number=00001 name=/app/oradata/prod/system01.dbf
output file name=/app/oradata/prod/system01.dbf tag=TAG20210617T124444
channel c1: datafile copy complete, elapsed time: 00:00:07
channel c1: starting datafile copy
input datafile file number=00002 name=/app/oradata/prod/sysaux01.dbf
output file name=/app/oradata/prod/sysaux01.dbf tag=TAG20210617T124444
channel c1: datafile copy complete, elapsed time: 00:00:07
channel c1: starting datafile copy
input datafile file number=00003 name=/app/oradata/prod/undotbs01.dbf
output file name=/app/oradata/prod/undotbs01.dbf tag=TAG20210617T124444
channel c1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 17-06-2021 12:45:09

sql statement: alter system archive log current

contents of Memory Script:
{
   backup as copy reuse
   archivelog like  "/app/oraarch/prod/1_205_1074619347.dbf" auxiliary format
 "/app/oraarch/prod/1_205_1074619347.dbf"   ;
   catalog clone archivelog  "/app/oraarch/prod/1_205_1074619347.dbf";
   switch clone datafile all;
}
executing Memory Script

Starting backup at 17-06-2021 12:45:09
channel c1: starting archived log copy
input archived log thread=1 sequence=205 RECID=365 STAMP=1075466709
output file name=/app/oraarch/prod/1_205_1074619347.dbf RECID=0 STAMP=0
channel c1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 17-06-2021 12:45:10

cataloged archived log
archived log file name=/app/oraarch/prod/1_205_1074619347.dbf RECID=1 STAMP=1075467269

datafile 1 switched to datafile copy
input datafile copy RECID=18 STAMP=1075467269 file name=/app/oradata/prod/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=19 STAMP=1075467269 file name=/app/oradata/prod/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=20 STAMP=1075467269 file name=/app/oradata/prod/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=21 STAMP=1075467269 file name=/app/oradata/prod/users01.dbf

contents of Memory Script:
{
   set until scn  1184873;
   recover
   standby
   clone database
    delete archivelog
   ;
}
executing Memory Script

executing command: SET until clause

Starting recover at 17-06-2021 12:45:11

starting media recovery

archived log for thread 1 with sequence 205 is already on disk as file /app/oraarch/prod/1_205_1074619347.dbf
archived log file name=/app/oraarch/prod/1_205_1074619347.dbf thread=1 sequence=205
media recovery complete, elapsed time: 00:00:00
Finished recover at 17-06-2021 12:45:13
Finished Duplicate Db at 17-06-2021 12:45:14

sql statement: alter system archive log current

sql statement: alter database recover managed standby database using current logfile disconnect
released channel: c1
released channel: s1

RMAN>



Standby datafiles:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
[oracle@odb2 prod]$ ls -l
total 0

#Проверим после того как rman закончил duplicate.
[oracle@odb2 prod]$ ls -l
total 2019992
-rw-r-----. 1 oracle oinstall  11845632 Jun 17 12:54 control01.ctl
-rw-r-----. 1 oracle oinstall  11845632 Jun 17 12:54 control02.ctl
-rw-r-----. 1 oracle oinstall 104858112 Jun 17 12:54 redo01a.log
-rw-r-----. 1 oracle oinstall 104858112 Jun 17 12:54 redo02a.log
-rw-r-----. 1 oracle oinstall 104858112 Jun 17 12:54 redo03a.log
-rw-r-----. 1 oracle oinstall 104858112 Jun 17 12:54 stnbyredo01a.log
-rw-r-----. 1 oracle oinstall 104858112 Jun 17 12:54 stnbyredo02a.log
-rw-r-----. 1 oracle oinstall 104858112 Jun 17 12:54 stnbyredo03a.log
-rw-r-----. 1 oracle oinstall 340795392 Jun 17 12:54 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 340795392 Jun 17 12:54 system01.dbf
-rw-r-----. 1 oracle oinstall 209723392 Jun 17 12:54 undotbs01.dbf
-rw-r-----. 1 oracle oinstall 524296192 Jun 17 12:54 users01.dbf


SQL> select group#, bytes, archived, status from v$standby_log;

    GROUP#      BYTES ARC STATUS
---------- ---------- --- ----------
         4  104857600 YES ACTIVE
         5  104857600 YES UNASSIGNED
         6  104857600 YES UNASSIGNED
...
Рейтинг: 0 / 0
Не копируются редулоги на стендбае
    #40078374
SoRa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin, кстати только заметил rman скопировал temp файл.

Код: plsql
1.
2.
[oracle@odb2 work]$ ls -l temp*
-rw-r-----. 1 oracle oinstall 34358697984 Jun 17 19:21 temp01.dbf
...
Рейтинг: 0 / 0
Не копируются редулоги на стендбае
    #40078388
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoRa,

пардон, redo и temp не включаются в backup, а вот DUPLICATE автоматически пересоздает redo и temp
Oracle Database Backup and Recovery Reference...
Table 2-7 Duplicated Files
Source Database FilesActive DatabaseBackup-BasedTemp filesRe-created (see "Tempfile Re-Creation")Re-created (see "Tempfile Re-Creation")Online redo log filesRe-createdRe-createdStandby redo log filesRe-created when FOR STANDBY specified and defined on primary databaseRe-created when FOR STANDBY specified and defined on primary database
...
Рейтинг: 0 / 0
Не копируются редулоги на стендбае
    #40078429
SoRa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня немножко поэкспериментировал и на standby в init.ora добавил:

Код: plsql
1.
LOG_FILE_NAME_CONVERT='dummy','dummy'


Все редулоги включая standby redologs копировались на standby через duplicate.
Странно что у меня директории в primary и standby для редологов одинаковые.

Кто нибудь в курсе почему так происходит ?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не копируются редулоги на стендбае
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]