Rust
07.05.2021

Rust as Oracle External Procedure

Inspired by a little chat with Frits Hoogland about the future of programming languages I challenged myself to learn a bit of Rust and show how to create a shared library to send emails and attach it to Oracle as an external procedure (just as I did with GoLang here: https://blog.ora-600.pl/2021/05/04/golang-as-oracle-external-procedure/) The steps are actually […]


Read more
GO
04.05.2021

GoLang as Oracle external procedure

This short article is a result of the following Twitter activity: So let’s do it! First of all, you have to install GoLang: https://golang.org/doc/install Once this is done, we can create a Go program to send emails. We will use "gopkg.in/mail.v2″ to make it simple. Below you can find a simple GoLang code to send […]


Read more
KVM + TTE + VMI
15.04.2021

KVM – how to read encrypted Oracle Database blocks from Virtual Machine memory

Remember my post, regarding dumping the SGA to read encrypted blocks? What if I tell you, that you can do the same, while being a KVM host administrator with no credentials to a VM itself? Let’s prepare our secure database in a way I did in article AMM vs security. After enabling Oracle Wallet and […]


Read more
KVM VMI
10.04.2021

VMI vs Security – careful what you type in a terminal

In my previous article I described a few technics of accessing a guest virtual machine from the virtualization host (KVM) without any credentials. It assumed that our data can get compromised by a corrupted vendor employee. After publishing it I had a few talks with my colleagues and have to explain one thing – the […]


Read more
KVM
30.03.2021

Cloud/KVM/VDSM/SRIOV/WTF security…

So apparently this cloud-thing is here for good. You may even say that it became endemic 😉 With cloud there is one potential problem – the bigger and heavier it is, the more possible is the leak. Cloud after all is just a virtualization in a big scale and if you go to public cloud […]


Read more
08.01.2021

What to do with 5GB of trace files?

Parse it 🙂 Simple, right? But for sure we are not going to use tkprof for 14 000 trace files, are we? We don’t have Diagnostic Pack and we just started a complete database tracing for an hour or two, because the customer said that they encounter performance problems during this period. Now you have […]


Read more
LXD + XE 18c
13.07.2020

Linux Containers (LXD) and Oracle 18cXE – installation

There’s a lot of articles about installing Oracle XE 18c on Docker. But Docker is not the only containerization technology on the market. In this article, we are going to create Oracle XE 18c installation in Linux Containers (LXD) A bit of history – LXC vs LXD When we start our adventure with Linux Containers […]


Read more
STADO
22.01.2020

When AWR is not enough, a.k.a. Why your app is not cloud-ready. #SMARTDB

In my previous post I described a case of "enq: TX – row lock contention" that was actually a network latency problem. More and more those kinds of problems (it seems like history happens all over again) caused my friend (Radosław Kut) and me to write a simple tool to analyze SQL performance from a […]


Read more
#SMARTDB
09.01.2020

The curious case of enq: TX – row lock contention

So we had a doubtful pleasure of migrating a few databases from Oracle Exadata X3-2 to Oracle Exadata X7-2 Cloud at Customer. Why doubtful? Well, this a material for a whole different story with a lot of beer – let me just say, that CC gen 1 was a bit rough around the edges 😉 […]


Read more
XE18c
27.09.2019

How to install Oracle XE 18c in Oracle Cloud Free Tier

You probably heard by now about Oracle Cloud Free Tier While it sounds good, the only databases that you can use are in fact autonomous databases (which are not interesting for a tech, geeky guy like me). Of course, you have also "2 virtual machines with 1/8 OCPU and 1 GB memory each." I thought: […]


Read more
GO
20.03.2019

Golang chatting with Oracle

Python is awesome. I like Python very much, but there are some cases where Python’s performance is just not enough. What other options do we have? Well, there’s for example GoLang Problem with GoLang is that there is not a lot on the Internet about using it with Oracle Databases. Let me show you some […]


Read more
ODBV3 & ASM
04.10.2018

ODBV3 and ASM

At Trivadis Performance Days 2018 (awesome event by the way) I promised to deliver ODBV3 with support for ASM – and here it is! 🙂 https://github.com/ora600pl/odbv To use it, you have to have access to a user at ASM level with at least SYSDBA privilege. In the connect string you don’t have to add AS […]


Read more
ODBV3
17.09.2018

ODBV3 – more comfortable usage

It has been crazy few months – organizing POUG2018 took a lot of energy but it was satisfying as hell! 😀 This weekend I had some time to prepare a new version of ODBV for Trivadis Performance Days 2018 where I’ll be talking about the internals of database block storage. The series of articles about […]


Read more
SGADUMP
10.07.2018

Dumping SGA to read encrypted blocks

After my last article AMM vs security, Martin Berger wrote to me: well, even without AMM you can do it: write your own process which attaches to the same shm segments – and use its memory mapping (?) My response was that it is also possible with ASMM but AMM makes it extremely easy. And […]


Read more
AMM
18.05.2018

AMM vs security

Most of us already know that AMM sucks. But usually, we think about disadvantages of AMM in terms of performance. Let’s see why it sucks in the terms of security 😉 Let’s create an encrypted tablespace for HR.EMPLOYEES and protect HR schema with Database Vault. Contents of sqlnet.ora Now we will use dbca to configure […]


Read more
1 2 3 7

Contact us

Database Whisperers sp. z o. o. sp. k.
al. Jerozolimskie 200, 3rd floor, room 342
02-486 Warszawa
NIP: 5272744987
REGON:362524978
+48 508 943 051
+48 661 966 009
info@ora-600.pl

Newsletter Sign up to be updated