カテゴリ: oracle

Oracle DatabaseのデータバックアップにはRMANというツールを使うのが定番。
バックアップ先は普通は別のディスクを指定するが、Amazon S3に取る事もできる。
その時に使うのがOracle Secure Backup (OSB) Cloud ModuleというRMAN用のモジュール。
そのインストーラosbws_installer.jarというJARファイルで、javaコマンドから利用する。

java -jar osbws_install.jar -AWSID アクセスキー文字列 -AWSKey シークレットキー文字列 -walletDir $ORACLE_HOME/dbs/osbws_wallet -libDir $ORACLE_HOME/lib/

この時、Javaのバージョンが11以降だとJAXBのライブラリが同梱されていないのでインストールに失敗する。

Oracle Secure Backup Web Service Install Tool, build 12.2.0.1.0DBBKPCSBP_2018-06-12

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

        at com.amazon.s3.Utils.sha256Digest(Utils.java:331)

        at com.amazon.s3.AWSAuthConnection.addSigV4AuthHeader(AWSAuthConnection.java:758)

        at com.amazon.s3.AWSAuthConnection.makeRequest(AWSAuthConnection.java:594)

        at com.amazon.s3.AWSAuthConnection.makeRequest(AWSAuthConnection.java:555)

        at com.amazon.s3.AWSAuthConnection.listBucket(AWSAuthConnection.java:283)

        at com.amazon.s3.AWSAuthConnection.listBucket(AWSAuthConnection.java:261)

        at com.amazon.s3.AWSAuthConnection.connect(AWSAuthConnection.java:825)

        at oracle.backup.s3.install.S3Config.s3Connect(S3Config.java:447)

        at oracle.backup.s3.install.S3Config.doConfig(S3Config.java:228)

        at oracle.backup.s3.install.S3Config.main(S3Config.java:212)

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter

        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)

        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)

        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)

        ... 10 more

自前でjaxb-coreとjaxb-implの実装ライブラリとその依存先ライブラリ一式をmavenなどのツールで漏れなく集めてクラスパスに通せば動くとは思うのだけれど、まぁJAXBが添付されているLTSのJava 8を使うのが手っ取り早い(9や10でも動くとは思う。ちなみにドキュメントではしれっと1.7)。
インストールが成功すると以下のようなメッセージが出て、指定したウォレットディレクトリにcwallet.ssoがつくられ、指定したライブラリディレクトリにlibosbws.soが入り、$ORACLE_HOME/dbs/に.oraができるか更新される。。

Oracle Secure Backup Web Service Install Tool, build 12.2.0.1.0DBBKPCSBP_2018-06-12

AWS credentials are valid.

Oracle Secure Backup Web Service wallet created in directory /opt/oracle/product/23c/dbhomeFree/dbs/osbws_wallet.

Oracle Secure Backup Web Service initialization file /opt/oracle/product/23c/dbhomeFree/dbs/osbwsFREE.ora created.

Downloading Oracle Secure Backup Web Service Software Library from file osbws_linux64.zip.

Download complete.

[oracle@localhost TMP]$

AWSのアクセスキーとシークレットアクセスキーは、インストール時に利用され、インストーラがウォレットを作成する模様(Amazon S3がOracle DB用のcwallet.ssoを作って返してくれるとも思えない…)。
つまりS3ではなくS3互換APIを持つサービスに保存したい時はインストール時に設定を行う必要があるようだ。

使う時は、startup mountしたDBにRMANで接続して

RMAN> run {

            allocate channel dev1 type

            sbt parms='SBT_LIBRARY=/opt/oracle/product/23c/dbhomeFree/lib/libosbws.so,

            SBT_PARMS=(OSB_WS_PFILE=/opt/oracle/product/23c/dbhomeFree/dbs/osbwsFREE.ora)';

            backup database;

          }

とか。





このエントリーをはてなブックマークに追加 mixiチェック

今月中に取らないと不味い事になるのでこの忙しいというのに渋々先週末は勉強して取れた。それにしても会社の金だと寧ろプレッシャー掛かって嫌ですね。
Oracle Database以外のOracle製品の試験にしては問題文の日本語が割と意味が通る方。この手の試験は日本語訳が大体酷くてまず文章の意味の取り方で悩む事が多い。
しかし使わない機能は本当に全く何も分からんな…。クーバネティスでファンクションとか使ってる人は居るのかしら…。ちなみに私は一度も試してすらもいない。そして何故これ系の試験だとADBはいつもVCNの外に配置してACLでアクセス制御されるのか…。普通プライベートエンドポイント使うと思う。


このエントリーをはてなブックマークに追加 mixiチェック

Always FreeのユーザのアイドリングしているComputeは止められるそうな。マジか。
つか使ってるんだけど!何を以てしてアイドリングと判断したのか。
Always Free customers - We will be reclaiming idle Always Free compute resources. If you have Always Free compute instances that have been idle for the past 7 days, you will receive an email with additional details. Click here to Learn More
アカウントをPAYGにすると止まらなくなるそうだが…。まぁAlways Freeの範囲で使う分には課金されないとのことだし、OCI Functionsとかも試してみたいしPAYGにするか…。
まずMFA認証入れないといかんかも。デカいインスタンス立てられてビットコイン掘られたりExaとかプロビジョニングされてしまうと破産なので…。


このエントリーをはてなブックマークに追加 mixiチェック

が発生している?
https://twitter.com/shinshin86/status/1520410719560241153
https://twitter.com/harusugi5/status/1521498079400460294
https://twitter.com/miyahancom/status/1521775811174359042
https://twitter.com/Hikogori_x3/status/1521758570521382912
Twitterじゃあるまいし何事なんだ…。いやTwitterアカウントの謎凍結なら「むきー!」で済むが、Oracle Cloudの謎BANは洒落にならんだろ…。アカウント消えるとVCNから何からシステム丸ごと一式全部消えて業務止まるやんけ。データのバックアップ先も恐らくOCIのObjectStorageだろうから一緒に消える悪夢。
一体何が起きたのか…クレカの支払いが滞ったのか、ロシア人と間違えられたのか、Computeで麻薬取引サーバでも立てていたのか、はたまた…。
でも被害者(?)の方々もSRも上げずにのんびりQAチャットしている謎。私ならSev1でSRですよ。まぁSev1にしちゃうとこっちも24H対応させられるから2か…。つかこの人達、普通にOCI管理コンソールのスクショ挙げてるし。ログインできてるじゃん!単にリソース削除されてるだけっぽい。
ちなみにかく言う私も3年前に一回それっぽいメールが来てた。
0505

でもこれは時期的に考えてFree Trial期間が終わった通知で、管理コンソールには相変わらず入れるしAlways Freeのインスタンスなどは普通に使えて今に至るけどね。
※ただでっかく赤い「Cloud Account Disabled」って文字列はどうかと思う。

実は単にこの人達、トライアル期間終了でAlways Free対象外の分が消えただけなのではなかろうか?
https://docs.oracle.com/ja-jp/iaas/Content/FreeTier/freetier.htm#freetrial__when-trial-ends 
-----
 ノート

Ampere A1 ComputeインスタンスがAlways Freeテナンシで使用できる数を超えてプロビジョニングされている場合、有料アカウントにアップグレードしないかぎり、既存のAmpere A1 Computeインスタンスはすべて無効になり、30日後に削除されます。既存のArmベースのインスタンスをAlways Freeユーザーとして引き続き使用するには、トライアルが終了する前に、テナンシ内のすべてのAmpere A1 Computeインスタンスで合計してOCPUは4つ、メモリーは24GBを超えていないことを確認してください。
------

とは言え実は私も嘗て仕事でOCIのテナントを有料アクティベートしようとしたらしくじった事があり、その時は結局別テナントを登録し直した事があったり。


このエントリーをはてなブックマークに追加 mixiチェック

マジか。
マジだった。
メモリが24GBといったら自宅鯖よりも多い。アフィサイト更新処理も余裕で流せるやんけ(WindowsからLinuxに移植になるが、JavaとPythonだし何とかなるだろう…)。自宅サーバが不要になるな。お喋りBotも高機能化できる。いや24GBは流石に不要だから12GBを2つにして片方はテスト環境にするか…等々夢が広がリング。
だがしかし。
「可用性ドメインmhkC:AP-TOKYO-1-AD-1のシェイプVM.Standard.A1.Flexの容量が不足しています。 後で再試行してください。 ホスト容量についてさらに学習します。」
0605

案の定、リソース不足でプロビジョニング失敗。やっぱりね。
まぁ今のAlways Freeも当初はこんな感じだったので、そのうち空くだろう。



このエントリーをはてなブックマークに追加 mixiチェック

Oracle Cloud InfrastuructureってのはAWSやGCPやAzureのOracle社版ね。出遅れて知名度が低いが、Oracle製品の料金が他クラウドより安くなる自作自演ライセンスとか下りの通信量が安いとか、安さで勝負らしい。
OCIはもとよりクラウドものは年がら年中仕様が変わるからこういう本は内容がすぐ古びるというか例えば本書も出たばかりなのに既にロードバランサのシェイプは今はFlexになってたりするけど、本書の価値はやはり日本人筆者によるまともな日本語で記述されている点、および章立てがオラクル社員以外の常人にも理解可能な構成になっている点だろう。いやこれは重要で例えばこれを読んで何を言っているのかわかるまで30分はかかるが本書だと1秒だ。
内容は平易なので簡単に読めたが、GoldenGateの設定手順が細かく書かれているのは良いね。GG面倒だし。
実際は、まっさらな新規構築で敢えてAWSやAzureではなくOCIを選択する事があるかは微妙で、大半は既存Oracle DBユーザが渋々クラウドリフトだろうからオンプレとの接続とDB移行あたりを詳しくやって欲しかったけどそこはケースバイケースの部分が大きく長大になるだろうし致し方ないのだろう。
移行と言えばオラクル社も本書もAutonomous DBを熱く推しているけど、オラクル社推奨のRMANのバックアップモジュールでObject Storage上に作成したバックアップから、Autonomous DBって、はて、作成できたっけかな。


このエントリーをはてなブックマークに追加 mixiチェック

理屈はイマイチ納得がいかないが、事実として。
1.80でヘルスチェックする時も、OS側のFWは80と443の両方を開ける。
2.ヘルスチェック先のURLのデフォは「/」。Apacheを入れただけだと、ウェルカムページが表示される。そのままだと何故かヘルスチェックが失敗する。/var/www/html/の下に適当なテキストでindex.htmlを作ると、ヘルスチェックが成功する。
ちなみにチュートリアルは以下。

https://community.oracle.com/docs/DOC-1019312


このエントリーをはてなブックマークに追加 mixiチェック

JDBCからアクセスするOracle謹製PureJavaサンプル
https://www.oracle.com/technetwork/jp/database/application-development/jdbc/documentation/atp-5073445-ja.html

JDBCライブラリ一式は、Ivy.xmlで
<dependency org="com.oracle.ojdbc" name="ojdbc10" rev="latest.integration" />
で取れる(JDK10以降用のその時の最新版)。
サンプルの
DB_URL="jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/users/test/wallet_dbname/"
のところ、
・TNS_ADMINには、ダウンロードしたウォレット.zipを展開して中身を配置したディレクトリを記載する。
・dbname_mediumには、展開したtnsnames.oraの中に記載されている短いネットサービス名を記載する。

Object Storageに入れたCSVを取り込むPL/SQL
https://docs.oracle.com/cd/E83857_01/paas/autonomous-data-warehouse-cloud/user/dbmscloud-reference.html#GUID-52C9974C-D95E-4E41-AFBD-0FC4065C029A

Object Storageに入れたgzipを外部表として参照できるらしい
http://nekora2520.livedoor.blog/archives/22367190.html

それにしても、SQLLoaderの動作は謎だ…。
このエントリーをはてなブックマークに追加 mixiチェック

Oracle JDBC drivers on Maven Central
の手順でおk。
Ivyの場合は
<dependency org="http://com.oracle.ojdbc" name="ojdbc10" rev="latest.integration" />
を加えるだけ。
因みに上記は無責任に「その時の最新版」を持ってくる設定なので、ちゃんと使う人はちゃんとバージョン情報指定した方が良いだろう。
OTNからダウンロードする時はOTNのアカウントが必要だったが、Mavenの時は特に認証情報は不要。使う際のライセンス関連は知らぬ。ただ、Oracle DB使う人がOTNやMOSのアカウント持ってない状況は考えにくいのでまぁ深く考えない事とする。
やさしく学ぶ基礎からのJDBC
伊賀 敏樹
毎日コミュニケーションズ
2004-04


このエントリーをはてなブックマークに追加 mixiチェック

先日からOCIのFree TierのAutonomous DBにアフィサイトのデータを入れてOracle Textで検索エンジンにしようとしているんだが、諸般の事情で1テーブルに全部入れられず、更新タイミングが違う2テーブルを
参照時に結合せねばならぬ事が判明、となるとマテリアライズドビューがよかろう。
で調べてたら、https://qiita.com/ora_gonsuke777/items/7f790554a84c1aa16a71 という話が。Object Storage上のgzipなCSVをOracleから外部表として参照できるそうな。
実表とマテビューの両方を持つのは全20GBのFreeTier的に勿体ないので、実表の片方をこれにすれば大分節約になるのではないか。
そもそもマテビューにすれば、gzip転送時間は裏でいくら掛けても良いのでは。となると何もOCIのCompute使わず、我が家の自宅鯖からObjectStorageにのんびり転送すれば良いという事になり、色々と良い事ずくめなので、ちょっとこっちのやり方を研究しよう。実務にも役立たないとも限らない。
このエントリーをはてなブックマークに追加 mixiチェック

↑このページのトップヘ