Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Клоирование БД из physical standby

Добрый день,

Подскажите как склонировать в отдельную standalone базу данных , базу данных из physical standby.
Для себя вижу это как:
1) Остановить standby
2) Сделать холодный бекап
3) Запустить на новом оборудовании
4) Сэмулировать fileover и перевести базу в open

Подскажите получится ли у меня так сделать или нет ?
Так же , учитывая то что я делал холодные бекапы только на UNIX системах подскажите , при холодном бекапе базы с виндовс на виндовс машину, нужно потом еще как то создавать сервисы БД ?
Ответ: Добрый день,
Клонирование из Standby при поломощи холодного переноса и эмуляции Failover получилась.

Инструкция по процессу получилась такая :

1) Cоздаем новый инстанс с нужным sid (Windowsws)
oradim.exe -new -sid standby
2) Заходим под sysdba
3) стартуем базу данных в mount
4) Если старт успешный то запускаем его как standby сервер
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
5) Проверяем все ли логи применены с primary сервера (нужно в случае если важны все данные и не было потерь)
SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#)
OVER (PARTITION BY thread#) AS LAST from V$ARCHIVED_LOG;
В случае разбежности с примененным логом на системе копируем и регистрируем лог файлы
ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
6) проверяем есть ли recovery gaps
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
Если gaps есть то необходимо так же зарегистрировать данные файлы
ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
Если все нельзя логи накатить то можно все равно продолжать fileover но с потерей данных
7) Когда все gaps решены останавливаем накатку логов
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
8) Отмечаем остановку накатки логов
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
Если закончится с ошибкой то это так же значит что есть не до конца с рекавренные логи и соответственно могут быть потери данных или же донакатываем логи
9)ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE; активируем базу
10)открываем базу
11) отключить отправку логов - прописываем
ALTER SYSTEM SET log_archive_dest_state_2 = DEFER;
Вопрос: Oracle RAC 11g 11.2.0.4 + Standby. Не запускается база на standby

Приветствую.
Есть RAC. Хочу развернуть standby руководствуясь статьей.
Так вот, я застрял на 31 пункте, до него все проходило в норме.
Значит 31 пункт:
выполнил:
startup nomount pfile='/home/oracle/pfileSTANDBY.ora';
create spfile from pfile='/home/oracle/pfileSTANDBY.ora';

SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area  375828480 bytes
Fixed Size		    2253344 bytes
Variable Size		  318770656 bytes
Database Buffers	   50331648 bytes
Redo Buffers		    4472832 bytes
SQL>

Проверяем: (что тут не так?)
+
SQL> show parameters

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY	     boolean	 FALSE
active_instance_count		     integer
aq_tm_processes 		     integer	 1
archive_lag_target		     integer	 0
asm_diskgroups			     string
asm_diskstring			     string
asm_power_limit 		     integer	 1
asm_preferred_read_failure_groups    string
audit_file_dest 		     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/rdbms/
auditaudit_sys_operations		     boolean	 FALSE

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
audit_syslog_level		     string
audit_trail			     string	 NONE
awr_snapshot_time_offset	     integer	 0
background_core_dump		     string	 partial
background_dump_dest		     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/prbwh_standby/prbwh/trace
backup_tape_io_slaves		     boolean	 FALSE
bitmap_merge_area_size		     integer	 1048576
blank_trimming			     boolean	 FALSE
buffer_pool_keep		     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_recycle		     string
cell_offload_compaction 	     string	 ADAPTIVE
cell_offload_decryption 	     boolean	 TRUE
cell_offload_parameters 	     string
cell_offload_plan_display	     string	 AUTO
cell_offload_processing 	     boolean	 TRUE
cell_offloadgroup_name		     string
circuits			     integer
client_result_cache_lag 	     big integer 3000
client_result_cache_size	     big integer 0
clonedb 			     boolean	 FALSE

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
cluster_database		     boolean	 FALSE
cluster_database_instances	     integer	 1
cluster_interconnects		     string
commit_logging			     string
commit_point_strength		     integer	 1
commit_wait			     string
commit_write			     string
compatible			     string	 11.2.0
control_file_record_keep_time	     integer	 7
control_files			     string	 /oradata/prbwh/controlfile/control01.ctl

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
control_management_pack_access	     string	 DIAGNOSTIC+TUNING
core_dump_dest			     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/prbwh_standby/prbwh/cdump
cpu_count			     integer	 12
create_bitmap_area_size 	     integer	 8388608
create_stored_outlines		     string
cursor_bind_capture_destination      string	 memory+disk
cursor_sharing			     string	 EXACT
cursor_space_for_time		     boolean	 FALSE
db_16k_cache_size		     big integer 0

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_2k_cache_size		     big integer 0
db_32k_cache_size		     big integer 0
db_4k_cache_size		     big integer 0
db_8k_cache_size		     big integer 0
db_block_buffers		     integer	 0
db_block_checking		     string	 FALSE
db_block_checksum		     string	 TYPICAL
db_block_size			     integer	 8192
db_cache_advice 		     string	 ON
db_cache_size			     big integer 48M
db_create_file_dest		     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_create_online_log_dest_1	     string
db_create_online_log_dest_2	     string
db_create_online_log_dest_3	     string
db_create_online_log_dest_4	     string
db_create_online_log_dest_5	     string
db_domain			     string
db_file_multiblock_read_count	     integer	 3
db_file_name_convert		     string	 +DATA/PRBWH, /oradata/prbwh
db_files			     integer	 200
db_flash_cache_file		     string
db_flash_cache_size		     big integer 0

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target	     integer	 1440
db_keep_cache_size		     big integer 0
db_lost_write_protect		     string	 NONE
db_name 			     string	 prbwh
db_recovery_file_dest		     string
db_recovery_file_dest_size	     big integer 0
db_recycle_cache_size		     big integer 0
db_securefile			     string	 PERMITTED
db_ultra_safe			     string	 OFF
db_unique_name			     string	 prbwh_standby
db_unrecoverable_scn_tracking	     boolean	 TRUE

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes		     integer	 1
dbwr_io_slaves			     integer	 0
ddl_lock_timeout		     integer	 0
deferred_segment_creation	     boolean	 TRUE
dg_broker_config_file1		     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/dbs/dr1prbwh_standby.dat
dg_broker_config_file2		     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/dbs/dr2prbwh_standby.dat
dg_broker_start 		     boolean	 FALSE

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest 		     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/log
disk_asynch_io			     boolean	 TRUE
dispatchers			     string
distributed_lock_timeout	     integer	 60
dml_locks			     integer	 6704
dnfs_batch_size 		     integer	 4096
dst_upgrade_insert_conv 	     boolean	 TRUE
enable_ddl_logging		     boolean	 FALSE
enable_goldengate_replication	     boolean	 FALSE
event				     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
fal_client			     string	 prbwh_standby
fal_server			     string	 prbwh
fast_start_io_target		     integer	 0
fast_start_mttr_target		     integer	 0
fast_start_parallel_rollback	     string	 LOW
file_mapping			     boolean	 FALSE
fileio_network_adapters 	     string
filesystemio_options		     string	 none
fixed_date			     string
gcs_server_processes		     integer	 0
global_context_pool_size	     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
global_names			     boolean	 FALSE
global_txn_processes		     integer	 1
hash_area_size			     integer	 131072
hi_shared_memory_address	     integer	 0
hs_autoregister 		     boolean	 TRUE
ifile				     file
instance_groups 		     string
instance_name			     string	 prbwh
instance_number 		     integer	 0
instance_type			     string	 RDBMS
instant_restore 		     boolean	 FALSE

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
java_jit_enabled		     boolean	 TRUE
java_max_sessionspace_size	     integer	 0
java_pool_size			     big integer 4M
java_restrict			     string	 none
java_soft_sessionspace_limit	     integer	 0
job_queue_processes		     integer	 1000
large_pool_size 		     big integer 0
ldap_directory_access		     string	 NONE
ldap_directory_sysauth		     string	 no
license_max_sessions		     integer	 0
license_max_users		     integer	 0

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
license_sessions_warning	     integer	 0
listener_networks		     string
local_listener			     string
lock_name_space 		     string
lock_sga			     boolean	 FALSE
log_archive_config		     string	 dg_config=(prbwh,prbwh_standby)
log_archive_dest		     string
log_archive_dest_1		     string	 SERVICE=prbwh_primary LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=prbwh

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
						 rbwh
log_archive_dest_10		     string
log_archive_dest_11		     string
log_archive_dest_12		     string
log_archive_dest_13		     string
log_archive_dest_14		     string
log_archive_dest_15		     string
log_archive_dest_16		     string
log_archive_dest_17		     string
log_archive_dest_18		     string
log_archive_dest_19		     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2		     string	 LOCATION=/oradata/prbwh/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=prbwh_standby
log_archive_dest_20		     string
log_archive_dest_21		     string
log_archive_dest_22		     string
log_archive_dest_23		     string
log_archive_dest_24		     string
log_archive_dest_25		     string
log_archive_dest_26		     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_27		     string
log_archive_dest_28		     string
log_archive_dest_29		     string
log_archive_dest_3		     string
log_archive_dest_30		     string
log_archive_dest_31		     string
log_archive_dest_4		     string
log_archive_dest_5		     string
log_archive_dest_6		     string
log_archive_dest_7		     string
log_archive_dest_8		     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_9		     string
log_archive_dest_state_1	     string	 ENABLE
log_archive_dest_state_10	     string	 enable
log_archive_dest_state_11	     string	 enable
log_archive_dest_state_12	     string	 enable
log_archive_dest_state_13	     string	 enable
log_archive_dest_state_14	     string	 enable
log_archive_dest_state_15	     string	 enable
log_archive_dest_state_16	     string	 enable
log_archive_dest_state_17	     string	 enable
log_archive_dest_state_18	     string	 enable

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_19	     string	 enable
log_archive_dest_state_2	     string	 ENABLE
log_archive_dest_state_20	     string	 enable
log_archive_dest_state_21	     string	 enable
log_archive_dest_state_22	     string	 enable
log_archive_dest_state_23	     string	 enable
log_archive_dest_state_24	     string	 enable
log_archive_dest_state_25	     string	 enable
log_archive_dest_state_26	     string	 enable
log_archive_dest_state_27	     string	 enable
log_archive_dest_state_28	     string	 enable

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_29	     string	 enable
log_archive_dest_state_3	     string	 enable
log_archive_dest_state_30	     string	 enable
log_archive_dest_state_31	     string	 enable
log_archive_dest_state_4	     string	 enable
log_archive_dest_state_5	     string	 enable
log_archive_dest_state_6	     string	 enable
log_archive_dest_state_7	     string	 enable
log_archive_dest_state_8	     string	 enable
log_archive_dest_state_9	     string	 enable
log_archive_duplex_dest 	     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_archive_format		     string	 %t_%s_%r.dbf
log_archive_local_first 	     boolean	 TRUE
log_archive_max_processes	     integer	 4
log_archive_min_succeed_dest	     integer	 1
log_archive_start		     boolean	 FALSE
log_archive_trace		     integer	 0
log_buffer			     integer	 4235264
log_checkpoint_interval 	     integer	 0
log_checkpoint_timeout		     integer	 1800
log_checkpoints_to_alert	     boolean	 FALSE
log_file_name_convert		     string	 +DATA/PRBWH, /oradata/prbwh

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
max_dispatchers 		     integer
max_dump_file_size		     string	 unlimited
max_enabled_roles		     integer	 150
max_shared_servers		     integer
memory_max_target		     big integer 0
memory_target			     big integer 0
nls_calendar			     string
nls_comp			     string	 BINARY
nls_currency			     string
nls_date_format 		     string
nls_date_language		     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
nls_dual_currency		     string
nls_iso_currency		     string
nls_language			     string	 AMERICAN
nls_length_semantics		     string	 BYTE
nls_nchar_conv_excp		     string	 FALSE
nls_numeric_characters		     string
nls_sort			     string
nls_territory			     string	 AMERICA
nls_time_format 		     string
nls_time_tz_format		     string
nls_timestamp_format		     string

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
nls_timestamp_tz_format 	     string
object_cache_max_size_percent	     integer	 10
object_cache_optimal_size	     integer	 102400
olap_page_pool_size		     big integer 0
open_cursors			     integer	 50
open_links			     integer	 4
open_links_per_instance 	     integer	 4
optimizer_capture_sql_plan_baselines boolean	 FALSE
optimizer_dynamic_sampling	     integer	 2
optimizer_features_enable	     string	 11.2.0.4
optimizer_index_caching 	     integer	 0

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj	     integer	 100
optimizer_mode			     string	 ALL_ROWS
optimizer_secure_view_merging	     boolean	 TRUE
optimizer_use_invisible_indexes      boolean	 FALSE
optimizer_use_pending_statistics     boolean	 FALSE
optimizer_use_sql_plan_baselines     boolean	 TRUE
os_authent_prefix		     string	 ops$
os_roles			     boolean	 FALSE
parallel_adaptive_multi_user	     boolean	 TRUE
parallel_automatic_tuning	     boolean	 FALSE
parallel_degree_limit		     string	 CPU

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
parallel_degree_policy		     string	 MANUAL
parallel_execution_message_size      integer	 16384
parallel_force_local		     boolean	 FALSE
parallel_instance_group 	     string
parallel_io_cap_enabled 	     boolean	 FALSE
parallel_max_servers		     integer	 120
parallel_min_percent		     integer	 0
parallel_min_servers		     integer	 0
parallel_min_time_threshold	     string	 AUTO
parallel_server 		     boolean	 FALSE
parallel_server_instances	     integer	 1

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
parallel_servers_target 	     integer	 48
parallel_threads_per_cpu	     integer	 2
permit_92_wrap_format		     boolean	 TRUE
pga_aggregate_target		     big integer 10M
plscope_settings		     string	 IDENTIFIERS:NONE
plsql_ccflags			     string
plsql_code_type 		     string	 INTERPRETED
plsql_debug			     boolean	 FALSE
plsql_optimize_level		     integer	 2
plsql_v2_compatibility		     boolean	 FALSE
plsql_warnings			     string	 DISABLE:ALL

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
pre_page_sga			     boolean	 FALSE
processes			     integer	 1000
processor_group_name		     string
query_rewrite_enabled		     string	 TRUE
query_rewrite_integrity 	     string	 enforced
rdbms_server_dn 		     string
read_only_open_delayed		     boolean	 FALSE
recovery_parallelism		     integer	 0
recyclebin			     string	 on
redo_transport_user		     string
remote_dependencies_mode	     string	 TIMESTAMP

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
remote_listener 		     string
remote_login_passwordfile	     string	 EXCLUSIVE
remote_os_authent		     boolean	 FALSE
remote_os_roles 		     boolean	 FALSE
replication_dependency_tracking      boolean	 TRUE
resource_limit			     boolean	 FALSE
resource_manager_cpu_allocation      integer	 12
resource_manager_plan		     string
result_cache_max_result 	     integer	 5
result_cache_max_size		     big integer 32K
result_cache_mode		     string	 MANUAL

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
result_cache_remote_expiration	     integer	 0
resumable_timeout		     integer	 0
rollback_segments		     string
sec_case_sensitive_logon	     boolean	 TRUE
sec_max_failed_login_attempts	     integer	 10
sec_protocol_error_further_action    string	 CONTINUE
sec_protocol_error_trace_action      string	 TRACE
sec_return_server_release_banner     boolean	 FALSE
serial_reuse			     string	 disable
service_names			     string	 prbwh_standby
session_cached_cursors		     integer	 50

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
session_max_open_files		     integer	 10
sessions			     integer	 1524
sga_max_size			     big integer 360M
sga_target			     big integer 0
shadow_core_dump		     string	 partial
shared_memory_address		     integer	 0
shared_pool_reserved_size	     big integer 15M
shared_pool_size		     big integer 300M
shared_server_sessions		     integer
shared_servers			     integer	 0
skip_unusable_indexes		     boolean	 TRUE

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
smtp_out_server 		     string
sort_area_retained_size 	     integer	 0
sort_area_size			     integer	 65536
spfile				     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/dbs/spfileprbwh.ora
sql92_security			     boolean	 FALSE
sql_trace			     boolean	 FALSE
sqltune_category		     string	 DEFAULT
standby_archive_dest		     string	 ?/dbs/arch
standby_file_management 	     string	 AUTO

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
star_transformation_enabled	     string	 FALSE
statistics_level		     string	 TYPICAL
streams_pool_size		     big integer 0
tape_asynch_io			     boolean	 TRUE
thread				     integer	 0
timed_os_statistics		     integer	 0
timed_statistics		     boolean	 TRUE
trace_enabled			     boolean	 TRUE
tracefile_identifier		     string
transactions			     integer	 1676
transactions_per_rollback_segment    integer	 5

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 900
undo_tablespace 		     string
use_indirect_data_buffers	     boolean	 FALSE
use_large_pages 		     string	 TRUE
user_dump_dest			     string	 /orahome/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/prbwh_standby/prbwh/trace
utl_file_dir			     string
workarea_size_policy		     string	 AUTO
xml_db_events			     string	 enable


далее попытка при монтировать базу, получаем ORA-00201
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00201: control file version 11.2.0.4.0 incompatible with ORACLE version
11.2.0.0.0
ORA-00202: control file: '/oradata/prbwh/controlfile/control01.ctl'


Сам pfileSTANDBY.ora
[oracle@ora-standby dbs]$ cat /home/oracle/pfileSTANDBY.ora 
db_name='prbwh'
db_unique_name='prbwh_standby'
log_archive_config='dg_config=(prbwh,prbwh_standby)'
log_archive_dest_1='SERVICE=prbwh_primary LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=prbwh'
log_archive_dest_2='LOCATION=/oradata/prbwh/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=prbwh_standby'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
control_files='/oradata/prbwh/controlfile/control01.ctl'
fal_client='prbwh_standby'
fal_server='prbwh'
standby_file_management='AUTO'
db_file_name_convert='+DATA/PRBWH','/oradata/prbwh'
log_file_name_convert='+DATA/PRBWH','/oradata/prbwh'


Благодарю за любую помощь! Если что то еще нужно показать пишите.
Ответ: Alexey Zhidkov,

Вроде местами поменял, теперь:
RAC
SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
TO STANDBY



Standby
SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
NOT ALLOWED

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY


А вот процессы не работают. Процесс MRP0 должен быть в статусе APPLYING_LOG
на stanby
SQL> alter database recover managed standby database using current logfile disconnect;

SQL> SELECT client_process, process, sequence#, status from v$managed_standby;

CLIENT_P PROCESS    SEQUENCE# STATUS
-------- --------- ---------- ------------
ARCH	 ARCH		    0 CONNECTED
ARCH	 ARCH		    0 CONNECTED
ARCH	 ARCH		    0 CONNECTED
ARCH	 ARCH		   82 CLOSING
UNKNOWN  RFS		    0 IDLE
ARCH	 RFS		    0 IDLE
LGWR	 RFS		   83 IDLE

7 rows selected.
Вопрос: Logical standby related

Всем привет!

Как можно узнать, был ли конкретный объект реплицирован с праймари или он был создан уже на standby вручную?
Не пытаясь "выломать ему руки и ноги" при этом.
Ответ:
Viewer
BTM
Ну объекты logical standby в read_only в любом случае, иначе это не standby,

+
A logical Oracle instance [u]can contain schema objects that are not present in the primary database[/u]. Additionally, the DBA might want to create some supporting data structures such as index or materialized views in a logical Oracle instance to speed up the reporting queries. In order to alter or create a schema object in logical standby database, the appropriate user access should be instated.
The database guard controls the user access in a logical standby database. The access levels that can be established are as follows:

NONE - In this mode, the logical database is not protected by database guard. Any user can alter any objects in the database as long as the SQL Apply operation is not running.

STANDBY - In this mode, only users with SYS privilege can modify the objects maintained by the log apply service.
All users subject to the usual security policies can modify other schema objects.

ALL - In this mode, only users with SYS privilege can modify any object in the database.


Забыл указать, что бд в режиме GUARD STANDBY.

И, строго говоря, в документации неточность касательно режима STANDBY:
> only users with SYS privilege can modify the objects maintained by the log apply service

Хватает привилегии ALTER DATABASE у любого юзера, чтобы выполнить "ALTER SESSION DISABLE GUARD", а затем творить непотребства.
Вопрос: Почему на physical standby изменения применяются только после switch logfile

Есть связка primary - physical standby. Версия 12.2.0.1.0
standby открыта в режиме read only with apply
все логи уходят на standby, но применяются не сразу, а только если на primary выполнить
alter system switch logfile;

например, на primary выполняю
insert into cdc_user.Table1(Column1) Values('test1');
commit;

в archive log list на primary (остается также как было до insert'a):
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 13
Next log sequence to archive 15
Current log sequence 15


в standby новая запись не появляется
если после этого в primary выполнить
alter system switch logfile;
, то все sequence увеличиваются и новая запись появляется на standby:
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 14
Next log sequence to archive 16
Current log sequence 16


Подскажите, почему так происходит и как сделать, чтобы изменения сразу появлялись на standby
Ответ:
stdio
quest_asker
...
Подскажите, почему так происходит и как сделать, чтобы изменения сразу появлялись на standby
какой lag?
что показывает show configuration
покажи, что у тебя real time apply, из чего это следует.
Может DG Broker не настроен и не используется
Вопрос: ASM standby

Основная база на файловой системе, без OMF.

/u3/data/test/data/system01.dbf
/u3/data/test/data/sysaux01.dbf
/u3/data/test/data/undotbs01.dbf
/u3/data/test/data/users01.dbf
/u3/data/test/index/ind01.dbf



Standby делаю на ASM.

На Standby такая настройка.

db_file_name_convert                 string      /u3/data/test/index, +ORAINDEX
                                                 , /u3/data/test/data, +ORADATA
log_file_name_convert                string      /u3/data/test/redo, +ORADATA


После duplicate for standby получаются такие пути к файлам

+ORADATA/system01.dbf
+ORADATA/sysaux01.dbf
+ORADATA/undotbs01.dbf
+ORADATA/users01.dbf
+ORAINDEX/ind01.dbf


Переключаемся на Standby (ASM). Создаю новое табличное пространство

create tablespace new_idx1 datafile '+ORAINDEX' size 100M;


Создается уже OMF файл.
+ORAINDEX/test_db/datafile/new_idx1.258.892570579


И на Standby (файловая система), также создается файл OMF.

/u3/data/test/index/test_db1/datafile/new_idx1.258.892570579


В результате на двух базах получается смесь OMF и не OMF файлов. Как сделать так, чтобы были либо OMF либо не OMF?
Ответ: ASM standby,

ИМХО, Ваша проблема была в том, что *_name_convert у вас была только на стороне БЫВШЕГО стендбая, а на стороне ex-Primary не было. Да, тут надо заранее предусматривать симметрию/единообразие.
Вопрос: Patch snapshot standby

Доброго времени суток.
Подскажите, пожалуйста по патчингу.
Есть связка primary + standby+snapshot standby. Snapshot вечером становится physical, накатывает логи и утром опять становится snapshot.
Вопрос - как накатывать PSU на snapshot? Надо-ли его конвертить в physical до патчинга или можно пропатчить так.
Ответ: В концепции "standby first installble patch" Oracle и предполагает, что вы сначала ставите патч на physical standby,
конвертите его в snapshot и выполняете db часть патча (если она есть), тестируете патч на нём.

Если Вы не планируете тестировать патч и следовать этой концепции, то db часть патча(если она есть) выполняется только на primary,
основная часть патча сначала на primary, затем на standby.
Вопрос: Проблемы со standby

Здравствуйте друзья помогите решить проблему.

Когда вожу команду
RECOVER AUTOMATIC STANDBY DATABASE;
выдаёт следующее сообщение

SQL> RECOVER AUTOMATIC STANDBY DATABASE;
ORA-00283: recovery session canceled due to errors
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 161793 change 76431613 time 03/30/2017
00:08:34
ORA-00334: archived log: '/u02/oradata/mb/archivelogs1_2204_871859801.dbf'

Все архивлоги на месте, не знаю в чём может быть причина помогите пожалуйста.
Ответ:
denaro
flexgen,

переключался c помощью switchover


Было бы неплохо посмотреть на скрипты, как переключались с primary на standby и обратно.
Ну и логи, если можно.
Вопрос: Standby 32-bit, Primary 64-bit.

Возможно-ли организовать сабж? Есть сервер 64-bit, интересует организация standby 32-bit. Платформа W2003. Чисто для приема журналов.
Ответ:
Вячеслав Любомудров
...
Vadim Lejnin
а лицензию за standby все равно платить
А вот тут вопрос непроясненный
С одной стороны, софт установлен и даже запущен. А с другой -- реальных данных нет. В крайнем случае, лицензировать как active/passive кластер с учетом 10 дней в год.
Во всяких SIG-ах вроде тоже нет ничего вразумительного по этому поводу.
Хотя, опять же, про то что для репозитария RMAN (и даже GC/CC) может быть отдельностоящая БД, не требующая лицензирования, рассказывается прямо в доке (тоже казус, они должны обслуживать только лицензированные БД, тогда они не должны обслуживать сами себя? )

Мы как-то пытались здесь выяснить, но сошлись во мнении, что (как впрочем, и во всем остальном) надо разговаривать с представителями Oracle в каждом конкретном случае.


Ага, тоже интересно, комментариев не нашел по этому поводу
Вопрос: Standby: error on prim FAL[server]: DGID from FAL client not in Data Guard configuration

1) база большая, ~ 1TB
2) standby - за пару тысяч км (скорости не быстрые).

Standby восстановил из бэкапа. Обычным способом: скопировал бэкап, rman'ом: restore database; recover database.
Далее: установил уникальное имя, db_unique_name. SID - не менял.

Скопировал passwordfile.
На primary сделал controlfile:
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/primary_stb.ctl';


и "воткнул" его в primary_stb (STANDBY)

стартовал standby:
startup nomount
alter database mount standby database;


listener.ora on standby:
LISTENER =
  (DESCRIPTION_LIST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle-rep-hq.world.local)(PORT = 1521))
      )
    )

SID_LIST_LISTENER =
  (SID_LIST =
      (SID_DESC =
        (SID_NAME = primary)
        (GLOBAL_DBNAME = primary_stb)
       )
    )
ADR_BASE_LISTENER = /u01/app/oracle


при этом сами имена на standby:

SQL> show parameter _name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert		     string
db_name 			     string	 primary
db_unique_name			     string	 primary_stb
global_names			     boolean	 FALSE
instance_name			     string	 primary
lock_name_space 		     string
log_file_name_convert		     string
processor_group_name		     string
service_names			     string	 primary_stb.world.com

SQL> show parameter domain

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_domain			     string	 world.com


on primary:
ALTER DATABASE FORCE LOGGING;

ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,primary_stb)' scope=both;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=primary_stb.world.com  ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary_stb' scope=both;


STANDBY:
tnsping primary_stb
...
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521)) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=primary_stb.world.com)))
OK (0 msec)
----------------------------------------------------------------------------------------------------------------

tnsping primary
....
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=176.*.*.*) (PORT=1521)) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=primary.world.com)))
OK (120 msec)


PRIMARY:
tnsping primary_stb
...
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.*.*.*) (PORT=1521)) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=primary_stb.primary.com)))
OK (120 msec)
----------------------------------------------------------------------------------------------------------------------
 tnsping primary
......
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521)) (CONNECT_DATA= (SERVER=dedicated) (SERVICE_NAME=primary.world.com)))
OK (0 msec)


FAL: на primary:
SQL> show parameter fal_

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
fal_client			     string	 primary
fal_server			     string	 primary_stb


FAL: на standby:
SQL> show parameter  fal_

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
fal_client			     string	 primary_stb
fal_server			     string	 primary



когда на standby старткю принятие логов:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;


то на primary в alert_log:
WARN: ARC1: Terminating pid 32100 hung on an I/O operation
  Current log# 6 seq# 353966 mem# 0: /datadisk/app/oracle/oradata/primary/redo06.log
WARN: ARC1: Terminating pid 32102 hung on an I/O operation
WARN: ARC1: Terminating pid 32104 hung on an I/O operation
krsv_proc_kill: Killing 1 processes (Process by index)
krsv_proc_kill: Killing 1 processes (Process by index)
krsv_proc_kill: Killing 1 processes (Process by index)
ARC1: Detected ARCH process failure
ARC1: Detected ARCH process failure
ARC1: Detected ARCH process failure
ARC1: STARTING ARCH PROCESSES
Thu Mar 09 18:14:10 2017
ARC0 started with pid=28, OS id=3964 
Thu Mar 09 18:14:10 2017
ARC2 started with pid=35, OS id=3966 
Thu Mar 09 18:14:10 2017
ARC3 started with pid=36, OS id=3968 
ARC0: Archival started
ARC2: Archival started
ARC2: Becoming the heartbeat ARCH
Reclaiming FAL entry from dead process [pid 32102]
Archived Log entry 353981 added for thread 1 sequence 353965 ID 0x34ffcaa1 dest 1:
ARC3: Archival started
ARC1: STARTING ARCH PROCESSES COMPLETE
Reclaiming FAL entry from dead process [pid 32104]

...
Thu Mar 09 18:14:14 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
Thu Mar 09 18:14:25 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
Thu Mar 09 18:14:35 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
Thu Mar 09 18:14:46 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
Thu Mar 09 18:14:57 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
Thu Mar 09 18:15:07 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
Thu Mar 09 18:15:18 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
Thu Mar 09 18:15:28 2017
FAL[server]: DGID from FAL client not in Data Guard configuration
..


a на standby:
Thu Mar 09 20:13:38 2017
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
Media Recovery Start: Managed Standby Recovery (primary)
 started logmerger process
Thu Mar 09 20:13:38 2017
Managed Standby Recovery not using Real Time Apply
Parallel Media Recovery started with 8 slaves
Media Recovery Waiting for thread 1 sequence 353770
Fetching gap sequence in thread 1, gap sequence 353770-353770
Thu Mar 09 20:15:35 2017
FAL[client]: Failed to request gap sequence
 GAP - thread 1 sequence 353770-353770
 DBID 745756905 branch 874951621
FAL[client]: All defined FAL servers have been attempted.
------------------------------------------------------------
Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
parameter is defined to a value that's sufficiently large
enough to maintain adequate log switch information to resolve
archivelog gaps.
------------------------------------------------------------


Internet говорит:
SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;

FAL[server]: DGID from FAL client not in Data Guard configuration


Solution:
Modify FAL_SERVER and LOG_ARCHIVE_CONFIG,As per requirement.

FAL_SERVER=<standby services>
LOG_ARCHIVE_CONFIG= 'DG_CONFIG=(Primary services,standby services)


Если вот здесь поменять
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=primary_stb.world.com  ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary_stb' scope=both;

на
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=primary_stb  ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary_stb' scope=both;

то TNS отваливается по timeout'у: ora 12170


на standby:
[oracle@oracle-rep-hq ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 09-MAR-2017 20:31:06

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                09-MAR-2017 18:11:42
Uptime                    0 days 2 hr. 19 min. 24 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle-rep-hq/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle-rep-hq.world.local)(PORT=1521)))
Services Summary...
Service "primary_stb" has 1 instance(s).
  Instance "primary", status UNKNOWN, has 1 handler(s) for this service...
Service "primary_stb.world.com" has 1 instance(s).
 Instance "primary", status READY, has 1 handler(s) for this service...
The command completed successfully


gap логов не получается "докатить".

Их можно докатить вручную, но потом ситуация повторяется и не работает на автомате.

ах! да! есть еще трейс-файл (немного раньше по времени:
...
Started Parallel Media Recovery
*** 2017-03-09 19:42:09.656 4320 krsh.c
Managed Standby Recovery not using Real Time Apply
Dumping database incarnation table:
Resetlogs 0 scn and time: 0x0004.522fa29b 03/21/2015 18:07:01
Recovery target incarnation = 2, activation ID = 0
Influx buffer limit = 77854 min(50% x 155709, 100000)
Start recovery at thread 1 ckpt scn 27996469675 logseq 353770 block 2
Initial buffer sizes: read 1024K, overflow 832K, change 805K

*** 2017-03-09 19:42:09.821
Media Recovery add redo thread 1
*** 2017-03-09 19:42:09.908 4320 krsh.c
Media Recovery Waiting for thread 1 sequence 353770
*** 2017-03-09 19:42:09.908 4320 krsh.c
Fetching gap sequence in thread 1, gap sequence 353770-353770
Redo shipping client performing standby login

*** 2017-03-09 19:42:10.414
*** 2017-03-09 19:42:10.414 4645 krsu.c
Logged on to standby successfully
Client logon and security negotiation successful!

*** 2017-03-09 19:42:20.537
Redo shipping client performing standby login

*** 2017-03-09 19:42:21.033
*** 2017-03-09 19:42:21.033 4645 krsu.c
Logged on to standby successfully
Client logon and security negotiation successful!
...
Ответ: Ни того, ни другого
Вопрос: Redo логи standby создаются там где не хотелось бы.

Здравствуйте. Сделал standby базы данных по мануалу.
Восстанавливал БД на сервере standby:
RMAN> connect auxiliary sys@teststan
RMAN> duplicate target database for standby nofilenamecheck dorecover;
После чего запустил базу в режиме read only с накаткой логов.

Если вы не хотите сохранять на standby структуру каталогов основной базы, то необходимо создать каталоги в соответствии со значениями параметров db_file_name_convert и log_file_name_convert.
Поэтому в spfile параметры db_file_name_convert и log_file_name_convert я не указывал.

Пути каталогов primarу и standby у меня одинаковые.
Фалы данных, что на primarу, что на standby - расположены одинаково.
После того как всё у меня заработало, обратил внимание что redo логи standby базы данных лежат не в том месте как на primary.
primary: /u01/app/oracle/oradata/TEST/redo*
redo03.log stblog03.log
redo01.log stblog01.log
redo02.log stblog02.log


standby: /u01/app/oracle/fast_recovery_area/TEST_STAN/onlinelog/
o1_mf_1_bxjhyrq7_.log o1_mf_4_bxjhysft_.log o1_mf_7_bxfyg2sz_.log
o1_mf_2_bxjhyry4_.log o1_mf_5_bxjhysor_.log
o1_mf_3_bxjhys5x_.log o1_mf_6_bxjhysxv_.log

Если при создании следующего standby я укажу LOG_FILE_NAME_CONVERT = /u01/app/oracle/oradata/TEST/','/u01/app/oracle/oradata/TEST/' у меня redo логи лягут на своё место со своими же именами как на primary?
Ответ: О месте куда складывать логи говорят следующие параметры :

*.LOG_ARCHIVE_DEST_1=

'LOCATION=USE_DB_RECOVERY_FILE_DEST

 VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

 DB_UNIQUE_NAME=UNICNAME'

*.LOG_ARCHIVE_DEST_2=

'SERVICE=UNICNAME2 LGWR SYNC AFFIRM delay=0 max_failure=0 max_connections=1 reopen=300

 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

 DB_UNIQUE_NAME=UNICNAME2'

*.LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc