Jumat, 06 Desember 2019

Oracle docker

Cara mengatur Oracle Database Docker 12c untuk Lingkungan Pengembangan Liferay

Maaf, artikel ini hanya tersedia dalam bahasa Inggris Amerika . Untuk alasan kenyamanan pengunjung, konten ditampilkan di bawah ini dalam bahasa alternatif. Anda dapat mengklik tautan untuk mengubah bahasa aktif.
Ketika kami memulai proyek baru menggunakan Liferay dan proyek tersebut melibatkan pengembangan entitas baru,
Pada artikel ini saya akan menjelaskan cara menggunakan Docker untuk mengatur wadah Oracle 12c untuk digunakan dengan Liferay. Saya juga merekomendasikan membaca artikel Cara membangun gambar Docker Liferay 7.2 dengan dukungan Oracle Database .

1. Apa saja persyaratannya

Sebelum melanjutkan dengan pengaturan wadah Docker, mari kita lihat apa persyaratannya.
  1. Anda memerlukan akun di Docker, yang dapat Anda buat dari Docker - Daftar ;
  2. Anda perlu menginstal atau memperbarui Docker di PC Anda. Lihat artikel ini untuk cara menginstal Docker di Windows.
Versi buruh pelabuhan yang saya berhasil menjalankan wadah Oracle Docker adalah: 17.x, 18.x dan 19.x. Versi Docker Engine (Edisi Komunitas) yang akan saya rujuk dalam artikel ini adalah 19.03.1 (Anda dapat memeriksa versi dengan docker version perintah).
Sistem operasi mirip Unix diperlihatkan dalam artikel ini. Dalam kasus saya, saya menggunakan macOS. Namun, sistem target harus memiliki.

2. Oracle Database 12c Docker Image

Selama beberapa tahun sekarang, Oracle Database Enterprise Edition 12 tersedia sebagai gambar di Docker Store . Dari Docker Store Anda harus checkout dan menerima persyaratan. Setelah menerima persyaratan Anda harus menemukan diri Anda pada halaman yang menjelaskan instruksi untuk digunakan.
Gambar-gambar berikut menunjukkan checkout, penerimaan persyaratan dan mendapatkan Oracle Database Enterprise Edition. Versi terbaru yang tersedia adalah 12c Rilis 2 , rilis ini adalah versi yang didukung oleh Liferay (Anda dapat melihat Liferay Digital Experience Platform 7.2 Matriks Kompatibilitas ).
Figure 1 - Checkout Oracle Database Enterprise Edition
Gambar 1 - Checkout Oracle Database Enterprise Edition
Figure 2 - Get Oracle Database Enterprise Edition Developer Tier
Gambar 2 - Dapatkan Tingkatan Pengembang Oracle Database Enterprise Edition
Figure 3 - Setup instruction
Gambar 3 - Instruksi pengaturan

3. Cara memulai instance Oracle Database Server

Langkah-langkah selanjutnya untuk memulai wadah Database Oracle adalah sebagai berikut:
  1. Login buruh pelabuhan
kalau gagal login
36
Looks like this is because it defaults to use the secretserviceexecutable which seems to have some sort of X11 dependency for some reason. If you install and configure pass docker will use that instead which seems to solve the problem.
sudo apt install gnupg2 pass 
gpg2 --full-generate-key
This generates a you a gpg2 key. After that's done you can list it with
gpg2 -k
Copy the key id (from the line labelled [uid]) and do
pass init "whatever key id you have"
  1. Tarik Oracle Database Enterprise Edition 12.2.0.1
  2. Jalankan wadah Docker dari gambar
Mengikuti urutan perintah yang diperlukan untuk memulai wadah.
Tarikan gambar Oracle mungkin membutuhkan waktu beberapa menit hingga ukuran 4GByte. Mengikuti output dari operasi tarikan.
Figure 4 - Output of the Docker Pull command
Gambar 4 - Output dari perintah Docker Pull
Gambar server database Oracle ini menggunakan volume data Docker untuk menyimpan file data, mengulang log, log audit, log peringatan dan melacak file. Volume data dipasang di dalam wadah di / ORCL. Untuk menggunakan direktori pada sistem host untuk volume data, saya membuat direktori oracle-db-data .
Perintah buruh pelabuhan menjalankan database dengan fitur-fitur berikut:
  1. Tetapkan wadah nama oracle-db-12c
  2. Mengekspos TCP / IP SQL Net port 1521
  3. Melalui variabel lingkungan
    1. Setel SID ke ORALFR
    2. Setel PDB ke ORALFRPDB
    3. Atur DB Domain ke oracledb.liferay.local
  4. Konfigurasikan penggunaan volume
Anda dapat menyesuaikan nilai-nilai parameter awal sesuai keinginan Anda, ini adalah yang biasanya saya gunakan untuk lingkungan pengembangan saya.
Anda dapat memantau awal wadah dengan melihat log atau menggunakan perintah buruh pelabuhan di bawah ini.
Gambar di bawah ini menunjukkan output dari perintah docker ps. Anda dapat melihat status wadah yang siap ( sehat ) untuk digunakan dan port 1521 diekspor.
Figure 5 - Output of the Docker ps command for checking status of the oracle-db-12c container
Gambar 5 - Output dari perintah Docker ps untuk memeriksa status wadah oracle-db-12c

4. Pengaturan Database Oracle untuk Liferay

Kita hampir sampai! Sekarang wadah Oracle Database kita sudah habis, kita perlu:
  1. Periksa ukuran blok yang seharusnya 8KByte, seperti yang diminta oleh Liferay;
  2. Periksa set karakter yang harus AL32UTF8, seperti yang diminta oleh Liferay;
  3. Membuat tablespace untuk data Liferay;
  4. Pembuatan pengguna dan pemberian hibah
Semua operasi basis data akan dilakukan melalui SQLPlus setelah tersambung ke wadah. Kata sandi default untuk terhubung ke database dengan pengguna sys adalah Oradoc_db1 .
Perintah berikut mengeksekusi SQLPlus pada wadah.
Gambar di bawah ini menunjukkan ukuran ukuran blok.
Figure 6 - Check Oracle Block Size
Gambar 6 - Periksa Ukuran Blok Oracle
Gambar di bawah ini menunjukkan set karakter yang dikonfigurasi dengan benar dengan AL32UTF8.

Gambar 7 - Periksa set karakter HARUS AL32UTF8
Pada titik ini kita melanjutkan dengan membuat tablespace, satu untuk data dan satu untuk data sementara. Biasanya untuk lingkungan pengembangan, untuk setiap proyek Liferay saya lebih memilih untuk membuat tablespace ad hoc dan menghindari menggunakan USERS dan TEMP tablespace standar
Ukuran yang disarankan tepat untuk tablespace tidak dapat diberikan karena berbeda dan dapat digunakan dalam berbagai skenario. Berikut adalah beberapa praktik terbaik:
  • Jangan mulai dengan ukuran awal yang terlalu besar, karena dapat membuang-buang ruang.
  • Jangan izinkan file data individual tumbuh besar (di atas 8-10Gb) - tidak praktis dari sudut pandang pemeliharaan. Alih-alih menambahkan beberapa file data (masing-masing dengan ukuran maksimal 8-10Gb).
  • Gunakan ukuran blok tunggal (8K) untuk seluruh DB untuk menghindari perangkap manajemen pool penyangga untuk tablespace non-standar (yang ukuran bloknya berbeda dari DB_BLOCK_SIZE).
Sebagai langkah terakhir kita harus membuat pengguna dan memberinya hibah yang benar.
Pada titik ini kita berada dalam posisi untuk melakukan koneksi ke skema baru menggunakan alat seperti Oracle SQLDeveloper . Gambar-gambar berikut menunjukkan konfigurasi koneksi database, tampilan tabel Liferay dan status tablespace yang dibuat untuk Liferay.
Parameter untuk terhubung ke skema Liferay baru adalah:
  • Nama pengguna / kata sandi: liferay_myproject / liferay_myproject
  • Nama host: localhost
  • Nama Layanan: ORALFRPDB.oracledb.liferay.local
Figure 8 - Configuring connection to the Oracle database via SQL Developer
Gambar 8 - Mengkonfigurasi koneksi ke database Oracle melalui SQL Developer
Figure 9 - View Liferay Tables
Gambar 9 - Lihat Tabel Liferay
Figure 10 - Overview on the status of the Oracle Database
Gambar 10 - Tinjauan umum tentang status Database Oracle
Sekarang kita dapat menghubungkan instance Liferay kita ke database Oracle yang baru saja kita konfigurasi 😉
Gambar di bawah ini menunjukkan status Docker Liferay yang menggunakan instance Oracle Database yang kami konfigurasikan selama artikel ini.
Figure 11 - Status of the docker container Liferay and Oracle
Gambar 11 - Status kontainer docker Liferay dan Oracle

kesimpulan

Pada artikel ini saya ingin menunjukkan kepada Anda bagaimana saya biasanya mengkonfigurasi lingkungan saya ketika saya perlu memiliki Oracle Database untuk nantinya terhubung ke Liferay.
Seperti yang Anda lihat, menggunakan Docker menjadikan ini semua sangat sederhana dan cepat.
Saya harap artikel ini bermanfaat

Tidak ada komentar:

Posting Komentar