Old configuration:
Now check the configuration
راه آسان جهت مدیریت حافظه در دیتابیس اوراکل این است که آن را به AMM واگذار کنیم. به همین جهت باید دو پارامتر MEMORY_TARGET و MEMORY_MAX_TARGET را تنظیم کنید.
AMM به صورت خودکار SGA و PGA را بر اساس نیاز دیتابیس و بالانس کاری تنظیم می کند به صورتی که جمع مقدار حافظه ای که به این دو تخصیص میدهد برابر با مقدار MEMORY_TAGET می شود. به این نکته توجه داشته باشید که AMM مقدار MEMORY_TARGET را تغییر نمیدهد و در صورتی که نیاز داشته باشید خود شما باید مقدار این پارامتر را تغییر بدهید. (حداکثر به اندازه MEMORY_MAX_TARGET)
تغییر پارامتر MEMORY_TARGET به صورت داینامیک انجام می شود و احتیاجی به ریست کردن دیتابیس نیست با استفاده از دستور زیر
ALTER SYSTEM SET MEMORY_TARGE=nM ;
اما در صورتی که بخواهید مقدار پارامتر MEMORY_MAX_TARGET را تغییر بدهید باید دیتابیس را یکبار خاموش رو روشن کنید.
ALTER SYSTEM SET MEMORY_MAX_TARGET=nM scope=spfile;
برای اینکه مدیریت حافظه را به حالت manual تغییر بدهید دستور زیر را اجرا کنید:
ALTER SYSTEM SET MEMORY_TARGET=0;
در زمانی که سیستم در مد AMM باشد مقادیر زیر برقرار است:
ALTER SYSTEM SET SGA_TARGET=0;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET=0;
همانطور که ابتدای متن گفته شد این مقادیر به صورت اتوماتیک مقدار دهی میشوند.
جدول V$MEMORY_TARGET_ADVICE مقدار توصیه شده از سوی اوراکل برای پارامتر MEMORY_TAGET را نشان می دهد. به شکل زیر توجه کنید:
خروجی جدول زیر به این صورت تفسیر میشود که مقدار 1 در ستون MEMORY_SIZE_FACTOR نمایانگر مقدار اکنون MEMORY_TARGET است و دیگر مقادیر را اگر در مقدار حافظه در این حالت ضرب کنیم مقدار ستون حافظه بدست می آید. همچنین ستون ESTD_DB_TIME نمایانگر مدت زمان دیتابیس برای تکمیل کردن بارکاری خود می باشد. اگر مقدار حافظه را در این مثال از 360مگابایت که مقدار اکنون است به مقدار 450 مگابایت تغییر دهیم مدت زمانی که دیتابیس برای انجام بارکاری میخواهد از 341 به 335 تغییر میکند و افزایش MEMORY_TARGET به بیشتر از این مقدار تاثیری در زمان تمام کردن کار نخواهد گذاشت.
هنگامی که تغییرات را اعمال کردید و دیتابیس را خاموش و روشن کردید ممکن است با خطای زیر مواجه شوید:
ORA_00845: MEMORY_TARGET not supported on this system but memory size seems to be fine
این خطا بیان گر این است که اندازه حافظه سیستم شما ایرادی ندارد ولی مقدار shared memory file system کافی نیست و باید به اندازه memory_max_target تغییر پیدا کند.
برای این حالت باید به صورت زیر عمل کنید:
در صورتی که مقدار MEMORY_MAX_TARGET را نمی دانید به PFILE در مسیر $ORACLE_HOME/dbs/initINSTANCENAME.ora مراجعه کنید و مقدار را بدست آورید. سپس با دستور زیر اندازه /dev/shm را تغییر دهید:
$ df -h /dev/shm
$
mount -t tmpfs shmfs -o size=some_value_in_number_with_size /dev/shm
برای مثال:
mount -t tmpfs shmfs -o size=4096m /dev/shm
موفق باشید.
منابع:
https://docs.oracle.com/cd/B28359_01/server.111/b28310/memory004.htm#ADMIN11202
https://stackoverflow.com/questions/33366282/oracle-startup-not-possible-ora-00845-memory-target-not-supported-on-this-sys
اگر در مراحل deployment add host در Oracle Cloud 13 یا Oracle Cloud 12
ERROR: The Oracle Management Server (OMS) host and port specified via OMS_HOST & EM_UPLOAD_PORT is not available. Pass in a valid hostname and port number for the OMS to successfully deploy the agent.
با خطای بالا مواجه شدید موارد زیر را مد نظر قرار بدید و حتماً بررسی کنید :
1- بررسی وضعیت OMS :
OMS بالا است.
2- ping OMS :
4-بررسی wget :
wget
http://192.168.1.88:4903/empbs/genwallet
یا
wget https://192.168.1.88:4903/empbs/genwallet
یا
wget http://OMS:4903/empbs/genwallet
5- در صورت بر قرار بوده شرایط فوق و حل نشدن مشکل مسیر deploy را حذف و مجدد راه اندازی را انجام بدید.
در صورتی که نرم افزار دیتابیس اوراکل را قبلا نصب کرده باشید حتما در یکی از مراحل نصب با گزینه های انتخاب نصب در مد:
مواجه شده اید. اوراکل بعضی از ویژگی هایش را در مد standard غیرفعال کرده است از جمله امکان پارتیشن کردن جداول. شما می توانید با اجرای دستور زیر بر روی دیتابیس خود متوجه بشوید که امکان پارتیشن کردن جداول بر روی دیتابیس شما فعال است یا خیر:
select * from v$option where parameter = 'Partitioning';
در صورتی که بخواهید جدولی را پارتیشن بندی کنید و نرم افزار شما در مد standard نصب شده باشد با خطای زیر مواجه می شوید:
ORA-00439: feature not enabled: Partitioning
معنی این خطا این است که قابلیت پارتیشن کردن بر روی دیتابیس شما فعال نیست. برای فعال کردن این قابلیت بر روی دیتابیس خود باید مراحل زیر را انجام بدهید البته به این نکته توجه داشته باشید که دیتابیس ما بر روی سیستم عامل اوراکل لینوکس نصب شده و در مورد دیتابیس هایی که بر روی سیستم عامل ویندوزی نصب شده اند مراحل کار متفاوت است.
o $ cd $ORACLE_HOME/rdbms/lib
o $ make -f ins_rdbms.mk part_on
o $ make -f ins_rdbms.mk ioracle
خب امیدوارم که این مطلب برای شما مفید باشه :)
در صورتی که بخواهید به صورت remote به دیتابیس لاگین کنید به صورت زیر
sqlplus sys@tnsname as sysdba
ممکن است با ارور ORA-01017 مواجه شوید. برای برطرف کردن این مشکل ابتدا مطمئن شوید که فایل پسورد در مسیر $ORACLE_HOME/dbs/orapwORACLE_SID وجود دارد. در صورتی که این فایل موجود بود به صورت زیر به دیتابیس لاگین شوید:
sqlplus / as sysdba
SQL> select * from v$pwfile_users;
no rows selected
SQL> show parameter remote_login
NAME TYPE VALUE
------------------------------------ ----------- ----------
remote_login_passwordfile string EXCLUSIVE
همانطور که مشاهده می کنید در جدول V$PWFILE_USERS رکوردی وجود ندارد در نتیجه با وجود فایل orapwdoracle_sid و یا حتی امکان انجام دستور تغییر پسورد نام کاربری ولی باز هم شما امکان ورود به دیتابیس به صورت REMOTE را نخواهید داشت.
برای برطرف کردن این مشکل ابتدا فایل پسورد را پاک کنید سپس با دستور زیر این فایل را دوباره بسازید:
orapwd file=$ORACLE_HOME/dbs/orapwORACLE_SID password=xyzyzx#123 entries=2
حتما به این نکته توجه کنید که باید نام فایل پسورد جدید که ایجاد می کنید باید داری پسوند نام ORACLE_SID باشد و حروف بزرگ و کوچک را حتما رعایت کنید.
بعد از انجام دستور بالا شما قادر خواهید بود که به دیتابیس به صورت REMOTE لاگین کنید. همچنین فراموش نکنید که remote_login_passwordfile مقدارش EXCLUSIVE یا SHARED باشد.
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------
----- -----
SYS TRUE TRUE
در صورتی که شما بخواهید سرور STANDBY داشته باشید یا اینکه نود های شما به صورت RAC باشند باید فایل پسورد ایجاد شده را با دستور SCP به شکل زیر به تمام سرورهای دیگر انتقال بدهید:
scp $ORACLE_HOME/dbs/orapwORACLE_SID oracle@serverip:$ORACLE_HOME/dbs
سپس به داخل تمام سرورهایی که فایل را انتقال داده اید لاگین کنید و نام این فایل را به نام ORACLE_SID همان سرور تغییر دهید.
برای مثال در صورتی که شما دیتاگارد راه اندازی کرده باشید و پسورد کاربر SYS در دو دیتابیس شما متفاوت باشد در AlertLog شما با این خطا مواجه می شوید:
Error 1017 received logging on to the standby
------------------------------------------------------------
Check that the primary and standby are using a password file
and remote_login_passwordfile is set to SHARED or EXCLUSIVE,
and that the SYS password is same in the password files.
returning error ORA-16191
همینطور می توانید با اجرای دستور زیر بر روی سرور PRODUCTION خطای بالا را مشاهده کنید:
SQL> select message, to_char(timestamp,'HH:MI:SS') timestamp
from v$dataguard_status
where severity in ('Error','Fatal')
order by timestamp;
SQL> select dest_id,status,error from v$archive_dest;
بعد از اینکه فایل پسورد در سرور PRODUCTION را تغییر دادید و در سرور گارد کپی کردید می توانید با استفاده از یکی از دو راه زیر در صورتی که تنظیمات اولیه گارد را انجام داده باشید دوباره دو دیتابیس را SYNC کنید:
ON STANDBY SERVER:
SQL> alter database recover managed standby database cancel;
SQL> alter database recover managed standby database disconnect from session;
OR ON PRODUCTION:
SQL> alter system set log_archive_dest_state_2=DEFER;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
و در نهایت دستور زیر را اجرا کنید:
SQL> ALTER SYSTEM SWITCH LOGFILE;
دیتابیس ها شروع به SYNC کردن می کنند در نهایت برای اطمینان می توانید دستور زیر را اجرا کنید:
SQL> select t1.max_seq_archived, t2.max_seq_applied
from (select max(sequence#) max_seq_archived from v$archived_log) t1,
(select max(sequence#) max_seq_applied
from v$archived_log
where applied = 'YES') t2;
موفق باشید.
مدیریت خودکار حافظه (MMA)در پایگاهداده اوراکل نسخه 11
اوراکل گامهای بلندی در سادهسازی مدیریت حافظه در چند نسخه اخیر از پایگاهداده برداشته است .
اوراکل نسخه 9i مدیریت PGA را به طور خودکار از طریق معرفی پارامتر PGA_AGGREGATE_TARGET انجام می دهد
اوراکل 10g این روند را با خودکار کردن مدیریت SGA با استفاده از پارامتر SGA_TARGET انجام
داده.
اوراکل 11g این یک مرحله را با اجازه دادن به شما برای تخصیص یک تکه از حافظه به کار میبرد، که اوراکل از آن برای مدیریت پویا هم SGA و هم PGAاستفاده میکند.
در زمان نوشتن این مستند مدیریت حافظه خودکار (AMM) تنها بر روی سیستم عامل های اصلی پشتیبانی میشود:
(Linux, Solaris, Windows, HP-UX, AIX)
راه آسان جهت مدیریت حافظه در دیتابیس اوراکل این است که آن را به AMM واگذار کنیم. به همین جهت باید دو پارامتر MEMORY_TARGET و MEMORY_MAX_TARGET را تنظیم کنید.
AMM به صورت خودکار SGA و PGA را بر اساس نیاز دیتابیس و بالانس کاری تنظیم می کند به صورتی که جمع مقدار حافظه ای که به این دو تخصیص میدهد برابر با مقدار MEMORY_TAGET می شود. به این نکته توجه داشته باشید که AMM مقدار MEMORY_TARGET را تغییر نمیدهد و در صورتی که نیاز داشته باشید خود شما باید مقدار این پارامتر را تغییر بدهید. (حداکثر به اندازه MEMORY_MAX_TARGET)
تغییر پارامتر MEMORY_TARGET به صورت داینامیک انجام می شود و احتیاجی به ریست کردن دیتابیس نیست با استفاده از دستور زیر
ALTER SYSTEM SET MEMORY_TARGE=nM ;
اما در صورتی که بخواهید مقدار پارامتر MEMORY_MAX_TARGET را تغییر بدهید باید دیتابیس را یکبار خاموش رو روشن کنید.
ALTER SYSTEM SET MEMORY_MAX_TARGET=nM scope=spfile;
برای اینکه مدیریت حافظه را به حالت manual تغییر بدهید دستور زیر را اجرا کنید:
ALTER SYSTEM SET MEMORY_TARGET=0;
در زمانی که سیستم در مد AMM باشد مقادیر زیر برقرار است:
ALTER SYSTEM SET SGA_TARGET=0;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET=0;
همانطور که ابتدای متن گفته شد این مقادیر به صورت اتوماتیک مقدار دهی میشوند.
جدول V$MEMORY_TARGET_ADVICE مقدار توصیه شده از سوی اوراکل برای پارامتر MEMORY_TAGET را نشان می دهد. به شکل زیر توجه کنید:
خروجی جدول زیر به این صورت تفسیر میشود که مقدار 1 در ستون MEMORY_SIZE_FACTOR نمایانگر مقدار اکنون MEMORY_TARGET است و دیگر مقادیر را اگر در مقدار حافظه در این حالت ضرب کنیم مقدار ستون حافظه بدست می آید. همچنین ستون ESTD_DB_TIME نمایانگر مدت زمان دیتابیس برای تکمیل کردن بارکاری خود می باشد. اگر مقدار حافظه را در این مثال از 360مگابایت که مقدار اکنون است به مقدار 450 مگابایت تغییر دهیم مدت زمانی که دیتابیس برای انجام بارکاری میخواهد از 341 به 335 تغییر میکند و افزایش MEMORY_TARGET به بیشتر از این مقدار تاثیری در زمان تمام کردن کار نخواهد گذاشت.
هنگامی که تغییرات را اعمال کردید و دیتابیس را خاموش و روشن کردید ممکن است با خطای زیر مواجه شوید:
ORA_00845: MEMORY_TARGET not supported on this system but memory size seems to be fine
این خطا بیان گر این است که اندازه حافظه سیستم شما ایرادی ندارد ولی مقدار shared memory file system کافی نیست و باید به اندازه memory_max_target تغییر پیدا کند.
برای این حالت باید به صورت زیر عمل کنید:
در صورتی که مقدار MEMORY_MAX_TARGET را نمی دانید به PFILE در مسیر $ORACLE_HOME/dbs/initINSTANCENAME.ora مراجعه کنید و مقدار را بدست آورید. سپس با دستور زیر اندازه /dev/shm را تغییر دهید:
$ df -h /dev/shm
$
mount -t tmpfs shmfs -o size=some_value_in_number_with_size /dev/shm
برای مثال:
mount -t tmpfs shmfs -o size=4096m /dev/shm
موفق باشید.
منابع:
https://docs.oracle.com/cd/B28359_01/server.111/b28310/memory004.htm#ADMIN11202
https://stackoverflow.com/questions/33366282/oracle-startup-not-possible-ora-00845-memory-target-not-supported-on-this-sys
اگر در بازیابی RMAN با خطای زیر مواجه شدید و دیتابیس شاملStandby و در مد Maximize Availability بود مراحل زیر را جهت رفع خطا دنبال کنید :
ORA-16072: a minimum of one standby database destination is required;
ORA-03113: end-of-file on communication channel
خطای بالا پس از تلاش برای OPEN کردن پایگاه داده پس از Restore وRecover RMAN رخ داده است.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 3689
Session ID: 5644 Serial number: 5
در RMAN بعد از open resetlogs:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 17 and starting SCN of 822561
در فایل Alert.log :
Mon May 16 16:29:17 2016
alter database open
Mon May 16 16:29:18 2016
LGWR: STARTING ARCH PROCESSES
Mon May 16 16:29:18 2016
ARC0 started with pid=21, OS id=3196
ARC0: Archival started
LGWR: STARTING ARCH PROCESSES COMPLETE
ARC0: STARTING ARCH PROCESSES
LGWR: Primary database is in MAXIMUM AVAILABILITY mode
LGWR: Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR
LGWR: Minimum of 1 LGWR standby database required
Errors in file /soft/app/oracle/diag/rdbms/remitdb/remitdb/trace/remitdb_lgwr_3144.trc:
ORA-16072: a minimum of one standby database destination is required
Mon May 16 16:29:19 2016
ARC1 started with pid=22, OS id=3198
LGWR (ospid: 3144): terminating the instance due to error 16072
Mon May 16 16:29:20 2016
System state dump requested by (instance=1, osid=3144 (LGWR)), summary=[abnormal instance termination].
System State dumped to trace file /soft/app/oracle/diag/rdbms/remitdb/remitdb/trace/remitdb_diag_3134_20160516162920.trc
Dumping diagnostic data in directory=[cdmp_20160516162920], requested by (instance=1, osid=3144 (LGWR)), summary=[abnormal instance termination].
Instance terminated by LGWR, pid = 3144
Mon May 16 16:31:18 2016
راه حل :
مرحله 1 : Startup دیتابیس در حالت mount .
SQL> startup mount;
ORACLE instance started.
Total System Global Area 7482626048 bytes
Fixed Size 2267792 bytes
Variable Size 5804918128 bytes
Database Buffers 1660944384 bytes
Redo Buffers 14495744 bytes
Database mounted.
SQL> select open_mode, DATABASE_ROLE, guard_status, SWITCHOVER_STATUS from v$database;
OPEN_MODE DATABASE_ROLE GUARD_S SWITCHOVER_STATUS
-------------------- ---------------- ------- --------------------
MOUNTED PRIMARY NONE NOT ALLOWED
مرحله 2 : انتقال دیتابیس به مد maximize performance .
SQL> alter database set standby database to maximize performance;
Database altered.
SQL>
مرحله 3 : خاموش کردن دیتابیس.
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
مرحله 4 : Startup دیتابیس در حالت mount .
SQL> startup mount;
ORACLE instance started.
Total System Global Area 7482626048 bytes
Fixed Size 2267792 bytes
Variable Size 5804918128 bytes
Database Buffers 1660944384 bytes
Redo Buffers 14495744 bytes
Database mounted.
مرحله 5 : open کردن دیتابیس.
SQL> alter database open;
Database altered.
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
source : http://bishwanathdas.blogspot.com/2016/05/ora-16072-minimum-of-one-standby.html
در این مقاله تلاش می شود تا از InconsistentProperties که ناشی از یکسان نبودن مقادیر پارامتر بین spfile، پیکربندی Data Guard Broker و پایگاه داده است، حل شود.
در صورت مشاهده خطا ORA-16714 در ابزار مدیریت دیتاگارد DGMGRL
DGMGRL> show configuration;
Configuration - orcl
Protection Mode: MaxPerformance
Databases:
orcl - Primary database
orcladg - Physical standby database
Warning: ORA-16714: the value of property DbFileNameConvert is inconsistent with the database setting
Warning: ORA-16714: the value of property LogFileNameConvert is inconsistent with the database setting
و یا در مسیر لاگ های اوراکل که Data Guard Broker لاگ فایلی به نام drc<primary site>.log ایجاد میکند ,خطای زیر را مشاهده کردید :
Property 'DbFileNameConvert' has inconsistent values:METADATA='', SPFILE='+DATA/orcl,+DATA/orcl', DATABASE='+DATA/orcl, +DATA/orcl'
Property 'LogFileNameConvert' has inconsistent values:METADATA='+DATA/orcl/ONLINELOG/,+DATA /orcl/ONLINELOG/', SPFILE='+DATA/orcl,+DATA/orcl', DATABASE='+DATA/orcl, +DATA/orcl'
با استفاده از دستور زیر موارد دارای تناقض که درست تنظیم نشده را مشاهده میکنید:
DGMGRL /
DGMGRL> show database '<db_unique_name>' 'InconsistentProperties'
سپس مقدار جدید را با استفاده از دستور زیر اعمال نمایید تا Warning مربوطه بر طرف گردد.
On Primary:
DGMGRL> edit DATABASE "orcl" SET PROPERTY DbFileNameConvert = '+DATA/orcl, +DATA/orcl'
DGMGRL> edit DATABASE "orcl" SET PROPERTY LogFileNameConvert = '+DATA/orcl, +DATA/orcl'
On Standby:
DGMGRL> edit DATABASE "orcl" SET PROPERTY DbFileNameConvert = '+DATA/orcl, +DATA/orcl'
DGMGRL> edit DATABASE "orcl" SET PROPERTY LogFileNameConvert = '+DATA/orcl, +DATA/orcl'
Problem :
========
ORA-12012: error on auto execute of job SYS”.”ORA$AT_OS_OPT_SY_936″ ORA-20001: Statistics Advisor: Invalid task name for the current user ORA-06512: at SYS.DBMS_STATS”, line 47207 ORA-06512: at SYS.DBMS_STATS_ADVISOR”, line 882 ORA-06512: at SYS.DBMS_STATS_INTERNAL”, line 20059 ORA-06512: at SYS.DBMS_STATS_INTERNAL”, line 22201 ORA-06512: at SYS.DBMS_STATS”, line 47197 2017-03-13T00:47:21.394481+00:00
Cause :
========
This issue is happening because of the unavailability of the Stats Advisor Tasks from the created database.
Resolution :
=============
1. Connect to the created database using the SYSDBA privilege and run the following command:
2.
SQL>select name, ctime, how_created from sys.wri$_adv_tasks where owner_name = ‘SYS’ and name in (‘AUTO_STATS_ADVISOR_TASK’,’INDIVIDUAL_STATS_ADVISOR_TASK’); no rows selected
3.
SQL> EXEC dbms_stats.init_package(); PL/SQL procedure successfully completed.
4.
SQL>select name, ctime, how_created from sys.wri$_adv_tasks where owner_name = ‘SYS’ and name in (‘AUTO_STATS_ADVISOR_TASK’,’INDIVIDUAL_STATS_ADVISOR_TASK’); NAME CTIME HOW_CREATED ——————– —————– ——————— AUTO_STATS_ADVISOR_TASK 13-MAR-17 CMD INDIVIDUAL_STATS_ADVISOR_TASK 13-MAR-17 CMD
5. Once the Stats Advisor Tasks are available in database, the database alert log no longer has: – ORA-06512 FROM ORA$AT_OS_OPT_SY_XXX
در این مقاله تلاش می شود تا از InconsistentProperties که ناشی از یکسان نبودن مقادیر پارامتر بین spfile، پیکربندی Data Guard Broker و پایگاه داده است، حل شود.
در صورت مشاهده خطا ORA-16714 در ابزار مدیریت دیتاگارد DGMGRL
DGMGRL> show configuration; Configuration - orcl Protection Mode: MaxPerformance Databases: orcl - Primary database orcladg - Physical standby database Warning: ORA-16714: the value of property DbFileNameConvert is inconsistent with the database setting Warning: ORA-16714: the value of property LogFileNameConvert is inconsistent with the database setting
و یا در مسیر لاگ های اوراکل که Data Guard Broker لاگ فایلی به نام drc<primary site>.log ایجاد میکند ,خطای زیر را مشاهده کردید :
Property 'DbFileNameConvert' has inconsistent values:METADATA='', SPFILE='+DATA/orcl,+DATA/orcl', DATABASE='+DATA/orcl, +DATA/orcl' Property 'LogFileNameConvert' has inconsistent values:METADATA='+DATA/orcl/ONLINELOG/,+DATA /orcl/ONLINELOG/', SPFILE='+DATA/orcl,+DATA/orcl', DATABASE='+DATA/orcl, +DATA/orcl'
با استفاده از دستور زیر موارد دارای تناقض که درست تنظیم نشده را مشاهده میکنید:
DGMGRL / DGMGRL> show database '<db_unique_name>' 'InconsistentProperties'
سپس مقدار جدید را با استفاده از دستور زیر اعمال نمایید تا Warning مربوطه بر طرف گردد.
On Primary: DGMGRL> edit DATABASE "orcl" SET PROPERTY DbFileNameConvert = '+DATA/orcl, +DATA/orcl' DGMGRL> edit DATABASE "orcl" SET PROPERTY LogFileNameConvert = '+DATA/orcl, +DATA/orcl' On Standby: DGMGRL> edit DATABASE "orcl" SET PROPERTY DbFileNameConvert = '+DATA/orcl, +DATA/orcl' DGMGRL> edit DATABASE "orcl" SET PROPERTY LogFileNameConvert = '+DATA/orcl, +DATA/orcl'
اگر در بازیابی RMAN با خطای زیر مواجه شدید و دیتابیس شاملStandby و در مد Maximize Availability بود مراحل زیر را جهت رفع خطا دنبال کنید :
ORA-16072: a minimum of one standby database destination is required;
ORA-03113: end-of-file on communication channel
خطای بالا پس از تلاش برای OPEN کردن پایگاه داده پس از Restore وRecover RMAN رخ داده است.
SQL> alter database open; alter database open * ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 3689 Session ID: 5644 Serial number: 5
در RMAN بعد از open resetlogs:
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 17 and starting SCN of 822561
در فایل Alert.log :
Mon May 16 16:29:17 2016
alter database open
Mon May 16 16:29:18 2016
LGWR: STARTING ARCH PROCESSES
Mon May 16 16:29:18 2016
ARC0 started with pid=21, OS id=3196
ARC0: Archival started
LGWR: STARTING ARCH PROCESSES COMPLETE
ARC0: STARTING ARCH PROCESSES
LGWR: Primary database is in MAXIMUM AVAILABILITY mode
LGWR: Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR
LGWR: Minimum of 1 LGWR standby database required
Errors in file /soft/app/oracle/diag/rdbms/remitdb/remitdb/trace/remitdb_lgwr_3144.trc:
ORA-16072: a minimum of one standby database destination is required
Mon May 16 16:29:19 2016
ARC1 started with pid=22, OS id=3198
LGWR (ospid: 3144): terminating the instance due to error 16072
Mon May 16 16:29:20 2016
System state dump requested by (instance=1, osid=3144 (LGWR)), summary=[abnormal instance termination].
System State dumped to trace file /soft/app/oracle/diag/rdbms/remitdb/remitdb/trace/remitdb_diag_3134_20160516162920.trc
Dumping diagnostic data in directory=[cdmp_20160516162920], requested by (instance=1, osid=3144 (LGWR)), summary=[abnormal instance termination].
Instance terminated by LGWR, pid = 3144
Mon May 16 16:31:18 2016
راه حل :
مرحله 1 : Startup دیتابیس در حالت mount .
SQL> startup mount; ORACLE instance started. Total System Global Area 7482626048 bytes Fixed Size 2267792 bytes Variable Size 5804918128 bytes Database Buffers 1660944384 bytes Redo Buffers 14495744 bytes Database mounted. SQL> select open_mode, DATABASE_ROLE, guard_status, SWITCHOVER_STATUS from v$database; OPEN_MODE DATABASE_ROLE GUARD_S SWITCHOVER_STATUS -------------------- ---------------- ------- -------------------- MOUNTED PRIMARY NONE NOT ALLOWED
مرحله 2 : انتقال دیتابیس به مد maximize performance .
SQL> alter database set standby database to maximize performance; Database altered.
مرحله 3 : خاموش کردن دیتابیس.
SQL> shutdown immediate ORA-01109: database not open Database dismounted. ORACLE instance shut down.
مرحله 4 : Startup دیتابیس در حالت mount .
SQL> startup mount; ORACLE instance started. Total System Global Area 7482626048 bytes Fixed Size 2267792 bytes Variable Size 5804918128 bytes Database Buffers 1660944384 bytes Redo Buffers 14495744 bytes Database mounted.
مرحله 5 : open کردن دیتابیس.
SQL> alter database open; Database altered. SQL> select open_mode from v$database; OPEN_MODE -------------------- READ WRITE
source : http://bishwanathdas.blogspot.com/2016/05/ora-16072-minimum-of-one-standby.html
در صورتی که بخواهید به صورت remote به دیتابیس لاگین کنید به صورت زیر
sqlplus sys@tnsname as sysdba
ممکن است با ارور ORA-01017 مواجه شوید. برای برطرف کردن این مشکل ابتدا مطمئن شوید که فایل پسورد در مسیر $ORACLE_HOME/dbs/orapwORACLE_SID وجود دارد. در صورتی که این فایل موجود بود به صورت زیر به دیتابیس لاگین شوید:
sqlplus / as sysdba SQL> select * from v$pwfile_users; no rows selected SQL> show parameter remote_login NAME TYPE VALUE ------------------------------------ ----------- ---------- remote_login_passwordfile string EXCLUSIVE
همانطور که مشاهده می کنید در جدول V$PWFILE_USERS رکوردی وجود ندارد در نتیجه با وجود فایل orapwdoracle_sid و یا حتی امکان انجام دستور تغییر پسورد نام کاربری ولی باز هم شما امکان ورود به دیتابیس به صورت REMOTE را نخواهید داشت.
برای برطرف کردن این مشکل ابتدا فایل پسورد را پاک کنید سپس با دستور زیر این فایل را دوباره بسازید:
orapwd file=$ORACLE_HOME/dbs/orapwORACLE_SID password=xyzyzx#123 entries=2
حتما به این نکته توجه کنید که باید نام فایل پسورد جدید که ایجاد می کنید باید داری پسوند نام ORACLE_SID باشد و حروف بزرگ و کوچک را حتما رعایت کنید.
بعد از انجام دستور بالا شما قادر خواهید بود که به دیتابیس به صورت REMOTE لاگین کنید. همچنین فراموش نکنید که remote_login_passwordfile مقدارش EXCLUSIVE یا SHARED باشد.
SQL> select * from v$pwfile_users; USERNAME SYSDB SYSOP ------------------------------ ----- ----- SYS TRUE TRUE
در صورتی که شما بخواهید سرور STANDBY داشته باشید یا اینکه نود های شما به صورت RAC باشند باید فایل پسورد ایجاد شده را با دستور SCP به شکل زیر به تمام سرورهای دیگر انتقال بدهید:
scp $ORACLE_HOME/dbs/orapwORACLE_SID oracle@serverip:$ORACLE_HOME/dbs
سپس به داخل تمام سرورهایی که فایل را انتقال داده اید لاگین کنید و نام این فایل را به نام ORACLE_SID همان سرور تغییر دهید.
برای مثال در صورتی که شما دیتاگارد راه اندازی کرده باشید و پسورد کاربر SYS در دو دیتابیس شما متفاوت باشد در AlertLog شما با این خطا مواجه می شوید:
Error 1017 received logging on to the standby ------------------------------------------------------------ Check that the primary and standby are using a password file and remote_login_passwordfile is set to SHARED or EXCLUSIVE, and that the SYS password is same in the password files. returning error ORA-16191
همینطور می توانید با اجرای دستور زیر بر روی سرور PRODUCTION خطای بالا را مشاهده کنید:
SQL> select message, to_char(timestamp,'HH:MI:SS') timestamp from v$dataguard_status where severity in ('Error','Fatal') order by timestamp; SQL> select dest_id,status,error from v$archive_dest;
بعد از اینکه فایل پسورد در سرور PRODUCTION را تغییر دادید و در سرور گارد کپی کردید می توانید با استفاده از یکی از دو راه زیر در صورتی که تنظیمات اولیه گارد را انجام داده باشید دوباره دو دیتابیس را SYNC کنید:
ON STANDBY SERVER: SQL> alter database recover managed standby database cancel; SQL> alter database recover managed standby database disconnect from session; OR ON PRODUCTION: SQL> alter system set log_archive_dest_state_2=DEFER; SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
و در نهایت دستور زیر را اجرا کنید:
SQL> ALTER SYSTEM SWITCH LOGFILE;
دیتابیس ها شروع به SYNC کردن می کنند در نهایت برای اطمینان می توانید دستور زیر را اجرا کنید:
SQL> select t1.max_seq_archived, t2.max_seq_applied from (select max(sequence#) max_seq_archived from v$archived_log) t1, (select max(sequence#) max_seq_applied from v$archived_log where applied = 'YES') t2;
موفق باشید.
اگر در مراحل deployment add host در Oracle Cloud 13 یا Oracle Cloud 12
ERROR: The Oracle Management Server (OMS) host and port specified via OMS_HOST & EM_UPLOAD_PORT is not available.Pass in a valid hostname and port number for the OMS to successfully deploy the agent.
با خطای بالا مواجه شدید موارد زیر را مد نظر قرار بدید و حتماً بررسی کنید :
1- بررسی وضعیت OMS :
[oracle@OMS ~]$ $OMS_HOME/bin/emctl status oms Oracle Enterprise Manager Cloud Control 13c Release 2 Copyright (c) 1996, 2016 Oracle Corporation. All rights reserved. WebTier is Up Oracle Management Server is Up JVMD Engine is Up BI Publisher Server is Down BI Publisher is disabled, to enable BI Publisher on this host, use the 'emctl config oms -enable_bip' command
OMS بالا است.
2- ping OMS :
[oracle@OMS ~]$ $OMS_HOME/bin/emctl status oms unknown host OMS [oracle@jystdrac1 ADATMP_2018-01-23_13-38-45-PM]$ ping 192.168.1.88 PING 192.168.1.88 (192.168.1.88) 56(84) bytes of data. 64 bytes from 192.168.1.88: icmp_seq=1 ttl=64 time=1.37 ms 64 bytes from 192.168.1.88: icmp_seq=2 ttl=64 time=0.615 ms
4-بررسی wget :
wget http://192.168.1.88:4903/empbs/genwallet یا wget https://192.168.1.88:4903/empbs/genwallet یا wget http://OMS:4903/empbs/genwallet
[oracle@jystdrac1 ~]$ wget http://OMS:4903/empbs/genwallet --2018-01-23 16:02:03-- http://oms:4903/empbs/genwallet Resolving oms. 192.168.1.88 Connecting to oms|192.168.1.88|:4903. connected. HTTP request sent, awaiting response. No data received. Retrying. --2018-01-23 16:02:04-- (try: 2) http://oms:4903/empbs/genwallet Connecting to oms|192.168.1.88|:4903. connected. HTTP request sent, awaiting response. No data received. Retrying. --2018-01-23 16:02:06-- (try: 3) http://oms:4903/empbs/genwallet Connecting to oms|192.168.1.88|:4903. connected. HTTP request sent, awaiting response. No data received. Retrying.
5- در صورت بر قرار بوده شرایط فوق و حل نشدن مشکل مسیر deploy را حذف و مجدد راه اندازی را انجام بدید.
If you are getting an error message or Pop-UP which says The page has expired. Click OK to continue.” This means that your Cloud Control session has expired or timeout as there was no activity in your session.
The default value for session timeout is 45 minutes. Can we increase this session timeout frame, YES! You can. You set this value as per requirement of your company’s security policy. It may vary for different clients or companies.
As per your requirement you can increase the Session Timeout time by changing the value of oracle.sysman.eml.maxInactiveTime” parameter. Also note that the value for this parameter is always defined in Minutes. In-my case the requirement was to keep the session active unless the user itself does not logs out from the application. So I set the value of oracle.sysman.eml.maxInactiveTime” parameter to -1. But if let’s say you want the session to be active for 10 hours you can set the value to 600. However if you want your session be active forever like in my case, you can set its value to -1.
NOTE: Zero means that the value is set to default than 45 minutes.
To check which session timeout is currently active, you can deduct the following command.
[oracle@hanoemap1 bin]$ cd –
/app/oracle/product/middleware13C/bin
[oracle@hanoemap1 bin]$ ./emctl get property -name oracle.sysman.eml.maxInactiveTime
Oracle Enterprise Manager Cloud Control 13c Release 2
Copyright (c) 1996, 2016 Oracle Corporation. All rights reserved.
SYSMAN password:
Value for property oracle.sysman.eml.maxInactiveTime at Global level is -1
[oracle@hanoemap1 bin]$
NOTE: This change will need your OMS to restart, if you have multi-OMS environment, you may need to bounce both OMS.
You can also change this property from EM Console if you want. Navigate to Setup -> Manage Cloud Control -> Management Servers.
From Management Servers Home Page, Drop Down Management Servers and click on Configuration properties”
On Management Server Configuration Properties Page, you can see all the properties listed, along with oracle.sysman.eml.maxInactiveTime” in our case, highlighted in Yellow.
Click on the property Name, for whom you want to change the value. It will take you to Set Property” page where you can make the changes.
Make the change in the property value and Click on Save.
source
اگر در مراحل deployment add host در Oracle Cloud 13 یا Oracle Cloud 12
ERROR: The Oracle Management Server (OMS) host and port specified via OMS_HOST & EM_UPLOAD_PORT is not available.Pass in a valid hostname and port number for the OMS to successfully deploy the agent.
با خطای بالا مواجه شدید موارد زیر را مد نظر قرار بدید و حتماً بررسی کنید :
1- بررسی وضعیت OMS :
[oracle@OMS ~]$ $OMS_HOME/bin/emctl status oms Oracle Enterprise Manager Cloud Control 13c Release 2 Copyright (c) 1996, 2016 Oracle Corporation. All rights reserved. WebTier is Up Oracle Management Server is Up JVMD Engine is Up BI Publisher Server is Down BI Publisher is disabled, to enable BI Publisher on this host, use the 'emctl config oms -enable_bip' command
OMS بالا است.
2- ping OMS :
[oracle@OMS ~]$ $OMS_HOME/bin/emctl status oms unknown host OMS [oracle@jystdrac1 ADATMP_2018-01-23_13-38-45-PM]$ ping 192.168.1.88 PING 192.168.1.88 (192.168.1.88) 56(84) bytes of data. 64 bytes from 192.168.1.88: icmp_seq=1 ttl=64 time=1.37 ms 64 bytes from 192.168.1.88: icmp_seq=2 ttl=64 time=0.615 ms
4-بررسی wget :
wget http://192.168.1.88:4903/empbs/genwallet یا wget https://192.168.1.88:4903/empbs/genwallet یا wget http://OMS:4903/empbs/genwallet
[oracle@jystdrac1 ~]$ wget http://OMS:4903/empbs/genwallet --2018-01-23 16:02:03-- http://oms:4903/empbs/genwallet Resolving oms. 192.168.1.88 Connecting to oms|192.168.1.88|:4903. connected. HTTP request sent, awaiting response. No data received. Retrying. --2018-01-23 16:02:04-- (try: 2) http://oms:4903/empbs/genwallet Connecting to oms|192.168.1.88|:4903. connected. HTTP request sent, awaiting response. No data received. Retrying. --2018-01-23 16:02:06-- (try: 3) http://oms:4903/empbs/genwallet Connecting to oms|192.168.1.88|:4903. connected. HTTP request sent, awaiting response. No data received. Retrying.
5- بررسی مجدد پورت های باز Cloud Control
6- در صورت بر قرار بوده شرایط فوق و حل نشدن مشکل مسیر deploy را حذف و مجدد راه اندازی را انجام بدید.
1-
SQL>alter user dbsnmp account locked; SQL>alter user dbsnmp account unlock;
Targets > Databases > Select the Database form the radio button > Configure > Test connection
SQL>ALTER PROFILE new_profile LIMIT PASSWORD_LIFE_TIME UNLIMITED PASSWORD_REUSE_MAX UNLIMITED; SQL>ALTER USER dbsnmp PROFILE new_profile;
Moving an Oracle table can move it to another tablespace and another database with TNS.
cat /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/tnsnames.ora
target =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = srv2.cloud.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl2)
)
)
alter table hr.employees move tablespace users@target online parallel 16;
We can all transactions on all databases .
Build it Oracle.
درباره این سایت