INSERT Cümlesi Kilit bekler mi?

Merhaba Arkadaşlar,

INSERT cümlesi kilit bekler mi? Evet bir durumda bekler. Eğer işlem yapılan tabloda PK, Unique constraint varsa bekleyebilir.

Aşağıdaki örnekle basitçe test edebiliriz.

CREATE TABLE T1 (
C1 NUMBER(10),
C2 NUMBER(10),
PRIMARY KEY (C1));

INSERT INTO T1 SELECT ROWNUM, ROWNUM*10 FROM DUAL CONNECT BY LEVEL<=1000000;

COMMIT;

session 1:

UPDATE T1
SET C1=-C1
WHERE C1<=100;

Bu esnada henüz commit yapılmadan 2. session insert yaparsa, 2. session 1. session ‘ı bekler.

session 2:

INSERT INTO T1 VALUES (-10,10);

Session 2 kilit bekler.

ilk session 100 den küçük değerleri – yaparak update ediyor. Bende INSERT cümlesinde pk alanına -10 insert ediyorum. -10 için update cümlesi kilit attığı için ve benim insertim pkdan dolayı -10 ‘un varlığını kontrol ettiği için bekleyecektir.

PK veya Unique constraint olmasa INSERT beklemeyecekti.

Veritabanımızı Standard Edition ‘dan Enterprise Edition ‘a Nasıl Taşırız?

Merhaba,

Oracle Veritabanı Standart Edition kullanıyorsak ve Enterprise Edition’a geçiş yapmak istiyorsak aşağıdaki adımlarla bu işlemi gerçekleştirmemiz mümkündür:

Standard Edition veritabanı yazılımı sürümü ile Enterprise Edition veritabanı yazılımı sürümünün aynı olduğundan emin olmamız gerekiyor.

Örneğin, Standard Edition veritabanı yazılımımızın sürümünün 12.1.0.2 olduğunu varsayarsak, 12.1.0.2 Enterprise Edition ‘a geçiş yapmamız gerekiyor.

  • Veritabanını kapatalım

Windows işletim sistemi kullanıyorsak, bütün Oracle servislerini durduralım.

  • Standard Edition veritabanı yazılımını kaldıralım.
  • Oracle Universal Installer kullanarak Enterprise Edition veritabanı yazılımını yükleyelim.
  • Enterprise Edition yükleme esnasında Standart Edition Oracle home dizini ile aynı dizini seçelim.
  • “Software Only” seçeneğini seçerek yüklemeye devam edelim.
  • Veritabanımızı yeni EE Oracle home üzerinden açalım.

Veritabanımızın Enterprise Edition’a geçişi tamamlanmıştır.

Aşağıdaki gibi doğrulayabiliriz:

SQL> select banner from v$version;

BANNER
——————————————————————————–
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 – 64bit Production
PL/SQL Release 12.1.0.2.0 – Production
CORE 12.1.0.2.0 Production
TNS for Linux: Version 12.1.0.2.0 – Production
NLSRTL Version 12.1.0.2.0 – Production

12c ASM Veritabanından ASM Olmayan Veritabanına RMAN Restore Yavaşlık Sorunu

12.1 ASM kullananan bir veritabanından aldığımız RMAN yedeği, MOUNT modunda ASM olmayan bir veritabanına geri dönmek istediğimizde uzun bir süre beklediğini gördüm.

RMAN-03090: Starting restore at 2015-11-09 15:01:53
RMAN-08030: allocated channel: ORA_AUX_DISK_1
RMAN-08500: channel ORA_AUX_DISK_1: SID=1 device type=DISK

RMAN-08021: channel ORA_AUX_DISK_1: restoring control file
RMAN-08180: channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
RMAN-08505: output file name=/oradata/C12102/controlfile/control01.ctl

RMAN-03091: Finished restore at 2015-11-09 15:01:55

Control file başarılı restore edildikten sonra veritabanı restore işleminin başlaması 20-30 dk. civarında bekliyor.

RMAN-03090: Starting restore at 2015-11-09 15:21:59
RMAN-12016: using channel ORA_AUX_DISK_1
RMAN-12016: using channel ORA_AUX_DISK_2
RMAN-12016: using channel ORA_AUX_DISK_3
RMAN-12016: using channel ORA_AUX_DISK_4

Bu esnada alert log dosyasına aşağıdaki mesaj ara ara devamlı basıldığını gözlemledim.

WARNING: failed to start ASMB (ASM instance not found)

Errors in file /opt/oracle/diag/rdbms/c12102/C12102/trace/C12102_asmb_24847.trc:
ORA-15077: could not locate ASM instance serving a required diskgroup
ORA-29701: unable to connect to Cluster Synchronization Service
WARNING: ASMB exiting with error

Bu sorunun sebebi 19503821 numaralı BUG ‘dır ve çözümü için 19503821 numaralı patchin yüklenmesi gerekmektedir.

RMAN Restore Esnasında Karşılaşılan ORA-01180 ve ORA-01110 Hataları

Merhaba,

Canlı veritabanından alınan full veritabanı yedeğini test veritabanına geri dönerken system datafile ‘ı ile ilgili aşağıdaki hata ile karşılaştık. Son control dosyasının restore edildiğinden ve elimizdeki yedeklerin catalog edildiğini kontrol ettikten sonra iki kere daha denedim. Fakat aynı hatayı aldık.

Starting restore at 10-OCT-17
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
using channel ORA_DISK_7
using channel ORA_DISK_8

creating datafile file number=1 name=/DATA/alfa/datafile/system01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 10/10/2017 01:08:29
ORA-01180: can not create datafile 1
ORA-01110: data file 1: ‘+DATAC1/ALFA/DATAFILE/system.319.922730217’

Oracle Metalink üzerinde hataları arattığınızda aşağıdaki 2 döküman işinizi çözecektir.

RMAN restore fails with ORA-01180: can not create datafile 1 (Doc ID 1265151.1)
RMAN restore of database fails with ORA-01180: Cannot create datafile 1 (Doc ID 1573040.1)

Bir önceki incarnation numarasına reset yapıp, tekrar restore işlemini deneyelim.

SQL> select INCARNATION#, RESETLOGS_TIME from v$database_incarnation order by RESETLOGS_TIME desc;

INCARNATION# RESETLOGS
———— ———
2 22-MAY-17
1 16-SEP-16

rman target /

RMAN> reset database to incarnation 1;

RMAN> restore database;

FRA alanı ile birlikte backup controlfile kullanılırsa, FRA alanı için implicit crosscheck  işlemi yapılır ve controlfile dosyasındaki tüm bilgiler kataloglanır. Resetlogs işlemi sonrasında oluşan arşiv dosyaları yeni bir incarnation oluşturur. Yeni bir incarnation oluşmasından dolayı önceki incarnation ‘a ait yedekleri yeni incarnation üzerinde dönemezsiniz.

 

Reset işlemi sonrası veritabanımızı başarılı bir şekilde geri dönebildik.

Reset ve restore işlemleri öncesi spfile veya pfile dosyasından FRA parametrelerini silerekte sorunu çözebilirdik. FRA parametreleri yerine  log_archive_dest_1 parametresini arşiv lokasyonu olarak set etmemiz yeterli olacaktır.

Oracle OEM 13c Agent Manüel Nasıl Yükleriz?

1- Öncelikle OMS Server üzerinden agent yazılımını indirmemiz gerekiyor. SYSMAN kullanıcı ile login olalım.ysman.

[oracle@isu13c bin]$ ./emcli login -username=sysman
Enter password :

Login successful

[oracle@isu13c bin]$ ./emcli sync
Synchronized successfully

2- Desteklenen platform listesine bakalım.

[oracle@isu13c bin]$ ./emcli get_supported_platforms
———————————————–
Version = 13.1.0.0.0
Platform = Linux x86-64
———————————————–
Platforms list displayed successfully.

3- Agent yazılımını indirelim.

[oracle@isu13c bin]$ ./emcli get_agentimage -destination=/tmp/agentinstaller -platform=”Linux x86-64″
=== Partition Detail ===
Space free : 53 GB
Space required : 1 GB
Check the logs at /u01/app/oracle/gc_inst/em/EMGC_OMS1/sysman/emcli/setup/.emcli/get_agentimage_2018-04-25_12-12-30-PM.log
Downloading /tmp/agentinstaller/13.1.0.0.0_AgentCore_226.zip
File saved as /tmp/agentinstaller/13.1.0.0.0_AgentCore_226.zip
Downloading /tmp/agentinstaller/13.1.0.0.0_Plugins_226.zip
File saved as /tmp/agentinstaller/13.1.0.0.0_Plugins_226.zip
Downloading /tmp/agentinstaller/unzip
File saved as /tmp/agentinstaller/unzip
Executing command: /tmp/agentinstaller/unzip /tmp/agentinstaller/13.1.0.0.0_Plugins_226.zip -d /tmp/agentinstaller
Exit status is:0
Agent Image Download completed successfully.

4- İndirdiğimiz agent yazılımını, yükleyeceğimiz sunucuya kopyalayalım ve unzip edelim.

scp 13.1.0.0.0_AgentCore_226.zip oracle@172.16.3.29:/DATA/install

unzip 13.1.0.0.0_AgentCore_226.zip

5-Agent yazılımını artık yükleyebiliriz.

mkdir /u01/app/oracle/agent
./agentDeploy.sh AGENT_BASE_DIR=/u01/app/oracle/agent \
-force \
-ignorePrereqs \
-invPtrLoc /etc/oraInst.loc \
AGENT_PORT=3872 \
EM_UPLOAD_PORT=4903 \
OMS_HOST=isu13c \
ORACLE_HOSTNAME=oracledrs \
AGENT_INSTANCE_HOME=/u01/app/oracle/agent/agent_inst \
AGENT_REGISTRATION_PASSWORD=xxxxxx \
SCRATCHPATH=/tmp

Yükleme tamamlandıktan sonra root.sh scriptini root kullanıcısıyla çalıştırmayı unutmayınız.

Agent çalışır durumda hazırdır.

/u01/app/oracle/agent/agent_13.1.0.0.0/bin/emctl status agent
Oracle Enterprise Manager Cloud Control 13c Release 1
Copyright (c) 1996, 2015 Oracle Corporation. All rights reserved.
—————————————————————
Agent Version : 13.1.0.0.0
OMS Version : 13.1.0.0.0
Protocol Version : 12.1.0.1.0
Agent Home : /u01/app/oracle/agent/agent_inst
Agent Log Directory : /u01/app/oracle/agent/agent_inst/sysman/log
Agent Binaries : /u01/app/oracle/agent/agent_13.1.0.0.0
Core JAR Location : /u01/app/oracle/agent/agent_13.1.0.0.0/jlib
Agent Process ID : 64876
Parent Process ID : 64751
Agent URL : https://oracledrs:3872/emd/main/
Local Agent URL in NAT : https://oracledrs:3872/emd/main/
Repository URL : https://isu13c.localdomain:4903/empbs/upload
Started at : 2017-11-21 09:51:57
Started by user : oracle
Operating System : Linux version 4.1.12-37.4.1.el6uek.x86_64 (amd64)
Number of Targets : 7
Last Reload : (none)
Last successful upload : 2018-04-25 13:22:43
Last attempted upload : 2018-04-25 13:22:43
Total Megabytes of XML files uploaded so far : 172.1
Number of XML files pending upload : 0
Size of XML files pending upload(MB) : 0
Available disk space on upload filesystem : 59.73%
Collection Status : Collections enabled
Heartbeat Status : Ok
Last attempted heartbeat to OMS : 2018-04-25 13:23:53
Last successful heartbeat to OMS : 2018-04-25 13:23:53
Next scheduled heartbeat to OMS : 2018-04-25 13:24:53

—————————————————————
Agent is Running and Ready