Upload
garanti-teknoloji
View
334
Download
3
Embed Size (px)
Citation preview
Erkan ÜLGEY
Kimim ben
- 2010 Comp.Eng. @ Itu
- 2010 – 2014 DBA @ TUBITAK
- 2012 - ~M.Sc. @ Boun
- 2013 -~ Blogger @ kamudba.blogspot.com.tr
- 2013 -~ 11g OCP
- 2015 - ~ DBA @ Garanti Teknoloji
- Şimdilerde Big Data ile uğraşıyor.
İletişim:
tr.linkedin.com/in/erkanulgey
twitter.com/erkanulgey
Oracle Cloud Servisleri – Complete Example
İçerik
- Oracle Cloud Servislerine kayıt olmak
- Oracle Cloud Database Servisi ile veritabanı oluşturmak
o SSH Public Key oluşturma
o Tape backup için Oracle Cloud Storage servisi ayarlamaları
- Cloud veritabanı bağlantıları
o Host Bağlantısı
o EM Express Bağlantısı
o SQLDeveloper Bağlantısı
Oracle Cloud servislerine genel bir bakış için https://cloud.oracle.com/home adresinden bu
servisleri görebilirsiniz.
- Oracle Cloud Servislerine kayıt olmak
İstediğimiz bir servisin anasayfası açılıp, Try It yapılır. Şu an için BigData servisleri gibi çoğu servisin
trial servisi aktif değil arkadaşlar.
Gerekli bir oracle hesabımız olduktan sonra kayıt adımlarına başlayabiliriz. Oracle Cloud hesabı
farklı bir üyelik ve bilgiler gerektirmektedir.
Ekranda görüldüğü gibi gerekli bilgileri girildikten sonra üyelik onayı mailini alıyoruz, ve
servislerimiz arka tarafta Oracle Data center larında hazırlanıyor.
Burada önemli bir nokta Company bilgisi, identity-domain olarak daha sonraki bağlantı
adımlarında kullanacağız.
Servislerin hazırlanması 2 haftaya yakın bir süre almıştı, bize ayrılan data centerin yoğunluğu
bunda etkili olabilir. Bundan sonraki adımlarda daha önce aktive ettiğim örnek hesap üzerinden
devam edeceğim.
Dashboard üzerinden Oracle Cloud üzerindeki trial servislerimizi ve kullanım oranları
görüntüleyebiliriz.
- Oracle Cloud Database Servisi ile veritabanı oluşturmak
Oracle Database Cloud servisi ile Service Console açılır. Burada daha önce oluşturduğumuz
veritabanlarını görüntüleyebiliriz. Sistem şu an için 5 OCPU, 75GB memory , 250GB storage ve
5NAT IP ‘ye kadar trial alan vermektedir.
Create service ile yeni bir veritabanı oluşturulur. Aşağıda son adım ekran görüntüsü var. Burada
bazı ön ayarla yapmamız gerekiyor. SSH Public Key ve eğer Storage hizmeti alacaksak , container
oluşturma ve bağlantı bilgisi girilmesi gerekiyor. Bu sebeple bu noktada ara verip ön adımları
yapıyoruz.
- Oracle Cloud Database Servisi ile veritabanı oluşturmak
o SSH Public Key oluşturma
Oracle dökümantasyonda geçen aşağıdaki komut çalıştırılır.
Cloudday adında bir SSH public key oluşturuyoruz.
$ ssh-keygen -b 2048 -t rsa -f cloudday
Generating public/private rsa key pair.
…
$ ls cloudday*
cloudday cloudday.pub
- Oracle Cloud Database Servisi ile veritabanı oluşturmak
o SSH Public Key oluşturma
o Tape backup için Oracle Cloud Storage servisi ayarlamaları
Oracle Storage Cloud servisi ile etkileşimde bulunmak için 2 farklı yöntem var.
- REST Apiler
- JAVA Kütüphaneleri.
REST api yöntemi daha hızlı olduğu için bu örnekte kullacağım, gerekli curl paketinin kurulu olması
gerekiyor.
Curl paketi ile bağlantı adımlarında 3 temel bilgi gerekiyor.
X-Storage-User, X-Storage-Pass : Bu bilgiler cloud servislerine erişirken girdiğimiz bilgiler
Rest Endpoint Url: Bu bilgi ise aşağıdaki ekranda görünmektedir. Ancak burdaki linki aşağıdaki
şekilde düzenlemek gerekiyor.
https://trmycompany.storage.oraclecloud.com/v1/Storage-trmycompany ->
https://trmycompany.storage.oraclecloud.com/auth/v1.0
Curl paketi ile authentication sağlandıktan sonra storage servisi üzerinde işlemler yapmaya
başlayabiliriz.
Token alınması:
$ curl -v -s -X GET -H "X-Storage-User: Storage-
trmycompany:[email protected]" -H "X-Storage-Pass: <PASS>"
https://trmycompany.storage.oraclecloud.com/auth/v1.0
* Trying 160.34.0.231...
* Connected to trmycompany.storage.oraclecloud.com (160.34.0.231) port 443
(#0)
* TLS 1.2 connection using TLS_RSA_WITH_AES_128_CBC_SHA
* Server certificate: *.storage.oraclecloud.com
* Server certificate: VeriSign Class 3 Secure Server CA - G3
* Server certificate: VeriSign Class 3 Public Primary Certification Authority
- G5
> GET /auth/v1.0 HTTP/1.1
> Host: trmycompany.storage.oraclecloud.com
> User-Agent: curl/7.43.0
> Accept: */*
> X-Storage-User: Storage-trmycompany:[email protected]
> X-Storage-Pass: 0rAcle*10
>
< HTTP/1.1 200 OK
< Date: Sat, 07 Nov 2015 13:18:12 GMT
< X-Auth-Token: AUTH_tk90d97fd6e5e931bca8110013c75e0e67
< X-Storage-Token: AUTH_tk90d97fd6e5e931bca8110013c75e0e67
< X-Storage-Url: https://storage.us2.oraclecloud.com/v1/Storage-trmycompany
< Content-Length: 0
< Server: Oracle-Storage-Cloud-Service
<
* Connection #0 to host trmycompany.storage.oraclecloud.com left intact
Token kısa süreli sağlanıyor, daha sonra X-Auth-Token bilgisi ile sonraki bağlantılarımızda tekrar
şifre girmek zorunda kalmıyoruz.
Container oluşturmak:
$ curl -v -s -X PUT -H "X-Auth-Token: AUTH_tk90d97fd6e5e931bca8110013c75e0e67"
https://trmycompany.storage.oraclecloud.com/v1/Storage-
trmycompany/cloudcontainer
* Trying 160.34.0.231...
* Connected to trmycompany.storage.oraclecloud.com (160.34.0.231) port 443
(#0)
…
< HTTP/1.1 201 Created
< X-Trans-Id: tx665ad2197a174e7f9a928-00563dfae1ga
…
Gördüğünüz gibi cloudcontainer adında bir storage alanı oluşturduk, storage servisi ile
yetkilendirme yapmak mümkün.
Container içeriği listeleme:
$ curl -v -s -X GET -H "X-Auth-Token: AUTH_tk90d97fd6e5e931bca8110013c75e0e67"
https://trmycompany.storage.oraclecloud.com/v1/Storage-
trmycompany/cloudcontainer
* Trying 160.34.0.231...
* Connected to trmycompany.storage.oraclecloud.com (160.34.0.231) port 443
(#0)
....
< HTTP/1.1 204 No Content
< X-Container-Object-Count: 0
…
Şu an için veri yok, PUT metodu ile dosya upload edebiliriz. Oracle 5GB dan büyük dosya upload
etmeye izin vermiyor.
- Oracle Cloud Database Servisi ile veritabanı oluşturmak
Evet artık, veritabanı oluşturmaya başlayabiliriz.
İlk adımda Create Service butonu tıklanır. Sonraki ekranda üyelik bilgileri seçilir, burda
veritabanını Oracle’ın default konfigüre etmesine izin verebiliriz ve faturalandırma seçeneği
işaretlenir.
Sonraki adımda veritabanı sürümü ve kurulum tipi seçilir. Burda HP veya EP seçmekte fayda var.
Aksi takdirde EM ekranlarında diagnostic ve tuning pack gibi gerekli lisansları bulamıyor ve örneğin
EM Express Peformance Hub sayfasında boş gösteriyor.
Son adımda aşağıdaki sayfadaki bilgileri giriyoruz.
Burda daha önce oluşturduğumuz SSH Public Key dosyasını upload edip , Storage Cloud servis
container bilgilerini giriyoruz. Container bilgisi için isim formatı şu şekilde olmalı
Storage-CompanyBilgisi/containerAdı
Bu adımdan sonra onay verip işlemi başlatıyoruz, Oracle kurulum durumunu sırayla
göstermektedir. Yaklaşık 2 saate yakın süren bir işlem sonunda sistem hazır olmaktadır.
- Cloud veritabanı bağlantıları
o Host Bağlantısı
Şimdi cloud üzerindeki veritabanı sunucumuza bağlantı yapalım.
SecureCRT , putty ,terminal vs gibi araçlar ile daha önce hazırladığımız SSH keylerimiz ile bağlantı
kurulabilir.
SecureCRT ile bağlanmak:
Daha önce oluşturduğumuz private key ile bağlantımızı oracle kullanıcısı ile gerçekleştiriyoruz.
Şimdi cloud sunucumuza bakalım ve storage alanımıza backup başlatalım.
[oracle@cloudday2015 ~]$ hostname
cloudday2015
[oracle@cloudday2015 ~]$ df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/xvdb2 16G 11G 4.1G 73% /
tmpfs 7.4G 3.8G 3.6G 52% /dev/shm
/dev/xvdb1 194M 91M 94M 49% /boot
/dev/xvdc1 30G 9.2G 19G 33% /u01
/dev/mapper/dataVolGroup-lvol0
25G 6.7G 17G 29% /u02
/dev/mapper/fraVolGroup-lvol0
42G 12G 28G 30% /u03
/dev/mapper/redoVolGroup-lvol0
9.9G 3.2G 6.2G 34% /u04
[oracle@cloudday2015 ~]$ ifconfig -a
eth0 Link encap:Ethernet HWaddr C6:B0:D6:02:FC:89
inet addr:10.106.29.162 Bcast:10.106.29.163 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2060055 errors:0 dropped:5 overruns:0 frame:0
TX packets:1047575 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:114379420 (109.0 MiB) TX bytes:5653299613 (5.2 GiB)
Interrupt:53
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:280789 errors:0 dropped:0 overruns:0 frame:0
TX packets:280789 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:44549051 (42.4 MiB) TX bytes:44549051 (42.4 MiB)
[oracle@cloudday2015 ~]$ lsnrctl status
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 08-NOV-2015 16:41:16
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cloudday2015.compute-
trmycompany.oraclecloud.internal)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 07-NOV-2015 14:05:20
Uptime 1 days 2 hr. 35 min. 56 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File
/u01/app/oracle/diag/tnslsnr/cloudday2015/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cloudday2015.compute-
trmycompany.oraclecloud.internal)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=cloudday2015.compute-
trmycompany.oraclecloud.internal)(PORT=5500))(Security=(my_wallet_directory=/u
01/app/oracle/product/12.1.0/dbhome_1/admin/cloud/xdb_wallet))(Presentation=HT
TP)(Session=RAW))
Services Summary...
Service "cloud.trmycompany.oraclecloud.internal" has 1 instance(s).
Instance "cloud", status READY, has 1 handler(s) for this service...
Service "cloudXDB.trmycompany.oraclecloud.internal" has 1 instance(s).
Instance "cloud", status READY, has 1 handler(s) for this service...
Service "pdb1.trmycompany.oraclecloud.internal" has 1 instance(s).
Instance "cloud", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@cloudday2015 ~]$
[oracle@cloudday2015 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sun Nov 8 16:41:26 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c EE High Perf Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Advanced Analytics
and Real Application Testing options
SQL> SQL> SQL>
SQL> select log_mode,open_mode,name from v$database;
LOG_MODE OPEN_MODE NAME
------------ -------------------- ---------
ARCHIVELOG READ WRITE CLOUD
SQL>
SQL> exit
Disconnected from Oracle Database 12c EE High Perf Release 12.1.0.2.0 - 64bit
Production
With the Partitioning, Oracle Label Security, OLAP, Advanced Analytics
and Real Application Testing options
[oracle@cloudday2015 ~]$
[oracle@cloudday2015 ~]$ rman target /
Recovery Manager: Release 12.1.0.2.0 - Production on Sun Nov 8 16:42:05 2015
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
connected to target database: CLOUD (DBID=444804778)
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name CLOUD are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; #
default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; #
default
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 5 BACKUP TYPE TO BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 2 G FORMAT
'cloudstorage_%d_%U' PARMS 'SBT_LIBRARY=libopc.so,
ENV=(OPC_PFILE=/u01/app/oracle/product/12.1.0/dbhome_1/dbs/opccloud.ora)';
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE ON;
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR
LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/u01/app/oracle/product/12.1.0/dbhome_1/dbs/snapcf_cloud.f'; # default
RMAN> configure default device type to sbt_tape;
old RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
new RMAN configuration parameters:
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
new RMAN configuration parameters are successfully stored
RMAN> backup database plus archivelog;
Starting backup at 08-NOV-15
current log archived
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=137 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: Oracle Database Backup Service Library VER=3.15.1.16
allocated channel: ORA_SBT_TAPE_2
channel ORA_SBT_TAPE_2: SID=259 device type=SBT_TAPE
channel ORA_SBT_TAPE_2: Oracle Database Backup Service Library VER=3.15.1.16
allocated channel: ORA_SBT_TAPE_3
channel ORA_SBT_TAPE_3: SID=367 device type=SBT_TAPE
channel ORA_SBT_TAPE_3: Oracle Database Backup Service Library VER=3.15.1.16
allocated channel: ORA_SBT_TAPE_4
channel ORA_SBT_TAPE_4: SID=14 device type=SBT_TAPE
channel ORA_SBT_TAPE_4: Oracle Database Backup Service Library VER=3.15.1.16
allocated channel: ORA_SBT_TAPE_5
channel ORA_SBT_TAPE_5: SID=142 device type=SBT_TAPE
….
Burda önemli nokta storage hizmeti , tape bağlantısı RMAN üzerinde tanımlı olmasına ragmen default device olarak tanımlı değil, tape backup için değişikliği yapmamız gerekiyor. Backup başlattık, şimdi backupların cloud storage servisine gittiğine emin olalım:
$ curl -v -s -X GET -H "X-Auth-Token: AUTH_tk79df142a007e8172da637011c60e3b08"
https://trmycompany.storage.oraclecloud.com/v1/Storage-
trmycompany/cloudcontainer
,* Trying 160.34.0.231...
* Connected to trmycompany.storage.oraclecloud.com (160.34.0.231) port 443
(#0)
..
< X-Container-Object-Count: 331
…
cloudday2015/ohcfgfiles_20151108_0217.tar.gz
cloudday2015/oscfgfiles_20151108_0217.tar.gz
cloudfirstobject
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151107-
00/rLdAzfjGXKHD/0000000001
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151107-
00/rLdAzfjGXKHD/metadata.xml
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151108-
00/BYtsJcJUb3Tk/0000000001
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151108-
00/BYtsJcJUb3Tk/metadata.xml
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151108-
01/Wp9Q3OKXkfGb/0000000001
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151108-
01/Wp9Q3OKXkfGb/metadata.xml
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151108-
02/n9t4UTUXKlvj/0000000001
file_chunk/444804778/CLOUD/backuppiece/2015-11-08/c-444804778-20151108-
02/n9t4UTUXKlvj/metadata.xml
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000001
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000002
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000003
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000004
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000005
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000006
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000007
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000008
file_chunk/444804778/CLOUD/backuppiece/2015-11-
08/cloudstorage_CLOUD_02qln52f_1_2/rbVvkpoRf0Jx/0000000009
….
- Cloud veritabanı bağlantısı
o Host Bağlantısı
o EM Express Bağlantısı
EM Express 5500 portundan çalışmakta, bu yüzden 5500 portu için port forwarding yapılması
gerekiyor. Halihazırdaki host bağlantımızı bu işlem için düzenliyoruz.
https://129.152.159.134:5500/em adresinden EM arayüzüne erişmek istiyoruz
ancak sayfa gelmeyebilir, bunun sebebi Oracle Cloud servislerinde network
izinlerinin default da disable gelmesi (birden fazla database service create edince
karşılaştım)
Bu sorunu çözmek için Cloud Compute servisine bağlanmamız gerekiyor.
- Cloud veritabanı bağlantısı
o Host Bağlantısı
o EM Express Bağlantısı
o SQLDeveloper Bağlantısı
Veritabanı bağlantısı için 1521 portuna erişim sağlamamız gerekiyor. SQL Developer 4.0.3 versiyonundan
itibaren SQL developer üzerinden doğrudan SSH Tunneling yapabiliriz. Bu örnekte SQLDeveloper 4.1.2
versiyonunu kullandım.
Yeni bağlantı oluştururken SQL Developerda Connectiopn Type farklı olarak SSH seçilerek,
oluşturduğumuz tunneling apisini kullanıyoruz.
Bağlantımızı bu şekilde görebiliriz.