Oracle Cloud Developer Image 19.05を使ってみた

開発者向け開発者向け全部入りイメージであるOracle Cloud Developer Imageが新しくなりました。

* [Oracle Cloud Developer Image Adds Java SE 11 and 12 and Oracle SQL Developer | Oracle Linux Blog](https://blogs.oracle.com/linux/oracle-cloud-developer-image-adds-java-se-11-and-12-and-oracle-sql-developer)

[Oracle Cloud Developer Imageがリリースされたときの記事](https://qiita.com/shakiyam/items/6ba70516d2d78ed83664)と同様に、現時点(2019年5月22日)でどんなツールのどのバージョンが入っているか確認してみました。

### [Oracle Linux 7](https://docs.cloud.oracle.com/iaas/images/oraclelinux-7x/) ###

```console
[opc@instance-20190522-1040 ~]$ cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.6"
ID="ol"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.6"
PRETTY_NAME="Oracle Linux Server 7.6"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:6:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.6
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.6
```

### [Java Platform, Standard Edition (Java SE)](https://www.oracle.com/technetwork/java/javase/overview/index.html) ###

```console
[opc@instance-20190522-1040 ~]$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b31)
Java HotSpot(TM) GraalVM EE 19.0.0 (build 25.212-b31-jvmci-19-b01, mixed mode)
```

デフォルトが先日アナウンスされたばかりの[Oracle GraalVM Enterprise Edition](https://blogs.oracle.com/graalvm/announcementl)になってます。

`alternatives --config java`で切り替えられるので、試してみます。

```console
[opc@instance-20190522-1040 ~]$ sudo alternatives --config java

There are 5 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java)
   2           /usr/java/jdk1.8.0_211-amd64/jre/bin/java
   3           /usr/java/jdk-11.0.3/bin/java
   4           /usr/java/jdk-12.0.1/bin/java
 + 5           /opt/graalvm/graalvm-ee-19.0.0/bin/java

Enter to keep the current selection[+], or type selection number: 1
[opc@instance-20190522-1040 ~]$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
```

```console
[opc@instance-20190522-1040 ~]$ sudo alternatives --config java

There are 5 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java)
   2           /usr/java/jdk1.8.0_211-amd64/jre/bin/java
   3           /usr/java/jdk-11.0.3/bin/java
   4           /usr/java/jdk-12.0.1/bin/java
   5           /opt/graalvm/graalvm-ee-19.0.0/bin/java

Enter to keep the current selection[+], or type selection number: 2
[opc@instance-20190522-1040 ~]$ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
```

```console
[opc@instance-20190522-1040 ~]$ sudo alternatives --config java

There are 5 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java)
 + 2           /usr/java/jdk1.8.0_211-amd64/jre/bin/java
   3           /usr/java/jdk-11.0.3/bin/java
   4           /usr/java/jdk-12.0.1/bin/java
   5           /opt/graalvm/graalvm-ee-19.0.0/bin/java

Enter to keep the current selection[+], or type selection number: 3
```

```console
[opc@instance-20190522-1040 ~]$ java -version
java version "11.0.3" 2019-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.3+12-LTS, mixed mode)
[opc@instance-20190522-1040 ~]$ sudo alternatives --config java

There are 5 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java)
   2           /usr/java/jdk1.8.0_211-amd64/jre/bin/java
 + 3           /usr/java/jdk-11.0.3/bin/java
   4           /usr/java/jdk-12.0.1/bin/java
   5           /opt/graalvm/graalvm-ee-19.0.0/bin/java

Enter to keep the current selection[+], or type selection number: 4
```

```console
[opc@instance-20190522-1040 ~]$ java -version
java version "12.0.1" 2019-04-16
Java(TM) SE Runtime Environment (build 12.0.1+12)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
```

OpenJDK 8, Oracle Java SE 8, Oracle Java SE 11, Oracle Java SE 12, Oracle GraalVM EEと盛りだくさんですね。

### Python 3.6 ###

```console
[opc@instance-20190522-1040 ~]$ python36 -V
Python 3.6.6
```

### Node.js 10 and [node-oracledb](http://oracle.github.io/node-oracledb/doc/api.html) ###

```console
[opc@instance-20190522-1040 ~]$ node -v
v10.15.3
[opc@instance-20190522-1040 ~]$ npm ls --parseable --global --depth=0
/usr/lib
/usr/lib/node_modules/npm
/usr/lib/node_modules/oracledb
npm ERR! missing: nan@^2.12, required by oracledb@3.1.2
```

あれ？nanで怒られていますね。

### Go 1.12 ###

```console
[opc@instance-20190522-1040 ~]$ go version
go version go1.12 linux/amd64
```

### [Oracle Instant Client](https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html) 18.5 ###

```console
[opc@instance-20190522-1040 ~]$ sqlplus -version

SQL*Plus: Release 18.0.0.0.0 - Production
Version 18.5.0.0.0
```

### [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sql-developer.html) 19.1 ###

```console
[opc@instance-20190522-1040 ~]$ cat /opt/sqldeveloper/sqldeveloper/bin/version.properties

COMPANY=Oracle
PRODUCT=SQL Developer
VERSION=19.01001271702f
VER=19.1.0
VER_FULL=19.1.0.127.1702
BUILD_LABEL=127.1702
BUILD_NUM=127.1702
EDITION=
```

### [Oracle SQL Developer Command Line (SQLcl)](https://www.oracle.com/database/technologies/appdev/sqlcl.html) 19.1 ###

```console
[opc@instance-20190522-1040 ~]$ sql -V
SQLcl: Release 19.1.0.0 Production
```

### [Oracle Cloud Infrastructure CLI](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/cliconcepts.htm) ###

```console
[opc@instance-20190522-1040 ~]$ oci -v
2.5.9
```

### Terraform ###

```console
[opc@instance-20190522-1040 ~]$ terraform version
Terraform v0.11.13

Your version of Terraform is out of date! The latest version
is 0.11.14. You can update by downloading from www.terraform.io/downloads.html
```

### [Oracle Container Runtime for Docker](https://blogs.oracle.com/linux/announcing-oracle-container-runtime-for-docker-release-1809) ###

```console
[opc@instance-20190522-1040 ~]$ sudo docker version
Client:
 Version:           18.09.1-ol
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        c3ab8a8
 Built:             Mon Feb 11 23:20:32 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1-ol
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       c3ab8a8
  Built:            Mon Feb 11 23:09:34 2019
  OS/Arch:          linux/amd64
  Experimental:     false
  Default Registry: docker.io
```

### [Oracle Cloud Infrastructure Utilities](https://docs.cloud.oracle.com/iaas/Content/Compute/References/ociutilities.htm)

```console
[opc@instance-20190522-1040 ~]$ sudo systemctl status ocid.service
● ocid.service - Oracle Cloud Infrastructure utilities daemon
   Loaded: loaded (/etc/systemd/system/ocid.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-05-22 01:45:04 GMT; 47min ago
 Main PID: 4708 (python2.7)
    Tasks: 5
   Memory: 76.0M
   CGroup: /system.slice/ocid.service
           tq4708 python2.7 /usr/libexec/ocid
           mq9496 /usr/sbin/iscsiadm -m discovery -t st -p 169.254.2.8 3260

May 22 01:44:28 instance-20190522-1040 su[9030]: (to opc) root on none
May 22 01:45:04 instance-20190522-1040 systemd[1]: Started Oracle Cloud Infrastructure utilities daemon.
May 22 01:54:31 instance-20190522-1040 su[17634]: (to opc) root on none
May 22 01:54:38 instance-20190522-1040 su[17684]: (to opc) root on none
May 22 02:04:46 instance-20190522-1040 su[18457]: (to opc) root on none
May 22 02:04:54 instance-20190522-1040 su[18510]: (to opc) root on none
May 22 02:15:02 instance-20190522-1040 su[20727]: (to opc) root on none
May 22 02:15:10 instance-20190522-1040 su[30811]: (to opc) root on none
May 22 02:25:19 instance-20190522-1040 su[8883]: (to opc) root on none
May 22 02:25:27 instance-20190522-1040 su[8933]: (to opc) root on none
```

### VNC Server ###

```console
[opc@instance-20190522-1040 ~]$ vncserver -version

WARNING: The first attempt to start Xvnc failed, possibly because the font
catalog is not properly configured.  Attempting to determine an appropriate
font path for this system and restart Xvnc using that font path ...
Could not start Xvnc.


Xvnc TigerVNC 1.8.0 - built Oct 31 2018 03:02:26
Copyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12000000, The X.Org Foundation


Xvnc TigerVNC 1.8.0 - built Oct 31 2018 03:02:26
Copyright (C) 1999-2017 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12000000, The X.Org Foundation
```