ablog

不器用で落着きのない技術者のメモ

Oracle

Oracle Database 12.2 で create user すると ORA-65096 が発生する

Oracle Database 12.2 で create user すると ORA-65096 が発生する。 事象 Oracle Database 12.2 で create user すると ORA-65096 が発生する。 $ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sun Aug 23 16:03:13 2020 Copyright (c…

Amazon Linux 2 に SQLcl をインストールする

Amazon Linux 2 に SQLcl をインストールしたメモ。 インストール Open JDK 1.8.0 をインストール $ sudo su - ec2-user $ sudo yum -y install java-1.8.0-openjdk-devel.x86_64 $ java -version openjdk version "1.8.0_252" OpenJDK Runtime Environment …

Oracle Database の SQL トレースの歴史

Oracle Database の SQL トレースは最初は version 5(1986年リリース) で開発者のデバッグのために実装されました。version 5 では undocumented で not supported な機能でしたが、version 6 から documented でユーザーが使える機能になりました。 以下…

Oracle Database のクエリオプティマイザに関するエッセイ

JPOUG Advent Calendar 2019 の23日目のエントリーです。22日目は新久保 浩二さんのCOMMITについて少し考えてみた(1) でした。JPOUG Advent Calendar に参加するのも7回目になりました(皆勤賞)。Oracle Database などの商用DBや PostgreSQL、MySQL など RDBM…

AWRレポートを一括出力する

set pages 0 spool awr_tmp.sql select 'define report_type=html' || chr(10) || 'define dbid=2144341034' || chr(10) || 'define inst_num=1' || chr(10) || 'define num_days=40' || chr(10) || 'define begin_snap=' || SNAP_ID || chr(10) || 'define …

Oracle Database 12.1 EE on EC2 をサクッと作る

AWS Marketplace: Oracle Database 12.1 Enterprise Edition - Oracle Enterprise Linux 7.5 でEC2インスタンスを作成する。 ssh で接続する。 $ ssh -i ~/mykey.pem clckwrk@ec2-*-***-***-**.ap-northeast-1.compute.amazonaws.com Oracle Database を起動…

RDS Oracle で DataPump のダンプファイルをS3にアップロードする

RDS Oracle で DataPump のダンプファイルをS3にアップロードするには rdsadmin.rdsadmin_s3_tasks.upload_to_s3 を使うとよい。 例 SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3( p_bucket_name => 'mys3bucket', p_prefix => '', p_s3_prefix => '', p…

AWRのリポジトリデータをまるっとエクスポートして他のDBにインポートする

AWRのリポジトリデータを Data Pump export file にエクスポートして他のデータベースにインポートする手順。 インポート ダンプファイルをEC2にアップロードする。 $ scp -i ~/mykey.pem awrdump.dmp clckwrk@ec2-*-***-***-**.ap-northeast-1.compute.amaz…

DataPumpでメタデータ(DDL)のみエクスポートする

書式 $ expdp <username>/<password> directory=<directory object> content=metadata_only schemas=<schema name> dumpfile=<dump file name> LOGFILE=<log file name> 実行例 $ expdp system/manager directory=pump_dir content=metadata_only schemas=scott,hr dumpfile=ddl_scott_hr.dmp LOGFILE=exp_ddl_scott_hr.log 参考 h…</log></dump></schema></directory></password></username>

SwingBench の Data Generator で Sales History のデータを生成する

準備 RDS Oracle RDS Oracle データベースを作成する。 EC2 EC2インスタンスを作成する。 JDKをインストールする。 $ sudo yum install -y java-1.8.0-openjdk.x86_64 Data Generator をダウンロードする。 $ wget http://dominicgiles.com/swingbench/datag…

Oracle->PostgreSQL移行関連

AWS SCT 評価レポート AWS Schema Conversion Tool 評価レポート - AWS Schema Conversion Tool ora2pg Ora2Pg : Migrates Oracle to PostgreSQL Oracle Database 11g/12c To Amazon Aurora with PostgreSQL Compatibility (9.6.x) Migration Playbook https…

AWR Formatter を使ってみた

渡部さんがツイートされていて知った AWR Formatter を知ってみた。"知っている方も多いと思いますが、念のためにAWR Formatterツールを紹介します。"しらなかった・・・https://t.co/IQWPvl51Ry— Watabe Ryota / 渡部 亮太 (@wrcsus4) 2018年3月30日 AWR Fo…

Oracle Database の DBMS_RANDOM.VALUE を MySQL 向けに書き換える

Oracle Database の以下の PL/SQL コードを standard_price := DBMS_RANDOM.VALUE(30,50); MySQL ではこう書き換えると同じことができる。 select round( rand() * 20 + 30 ) into var_standard_price; 実際にプロシージャを作成して実行してみるとこんな感…

Oracle Database で mutex を意図的に発生させる

Oracle Database で意図時に mutex(以下は"cursor: pin S") を発生させる。 “Cursor: pin S” mutex contention testcase and diagnostics tools. | Latch, mutex and beyond 以下のPL/SQLコードを同時多重実行する。 begin for i in 1..1000000 loop execute…

grep でヒットした SQL トレースを tkprof で整形する

$ grep -l foo *.trc|xargs -I{} -n1 tkprof {} {}.tkprof sort=exeela

Oracle Database のインスタンスリカバリではオープンしてからロールバックする

Oracle Database のインスタンスリカバリはデータベースがオープンして使える状態になった後にバックグラウンドでロールバックが行われる。トランザクションがロールバックが完了していないブロックを変更し用とした場合はフォアグラウンドでロールバックが…

RDS Oracle で Statspack を使う

RDS Oracle で Statspack を使えるようにする手順をメモ。 オプショングループを作成する AWSマネジメントコンソールで RDS を選択する。 [オプショングループ]-[グループの作成]を選択し、任意の名前と説明を入力し、エンジンは oracle-eeを選択して、メジ…

Oracle Database の I/O 負荷テストツール SLOB(The Silly Little Oracle Benchmark) の紹介

JPOUG Advent Calendar 2017 の21日目のエントリーです。昨日は JPOUG in 15 minutes at db tech showcase Tokyo 2017 開催報告 でした。 JPOUG Advent Calendar に参加するのも6年目になりました。 今年は「SLOB(The Silly Little Oracle Benchmark) 」とい…

DMS Full Load 検証メモ

AWS Database Migration Service (DMS) の Full Load (Oracle Database -> MySQL) の検証メモ。 Oracle Database(ソース) の TIMESTAMP WITH TIME ZONE 型の列は DMS で MySQL(ターゲット) にロードすると varchar(37) 型の列に変換される*1。 ソースが TIME…

RMAN のチューニング参考資料

Oracleのバックアップを高速化する6つの方法(11g対応) | Oracle オラクルエンジニア通信 - 技術資料、マニュアル、セミナー Blog http://www.oracle.com/webfolder/technetwork/jp/ondemand/ddd2014/B2-2.pdf http://www.oracle.com/technetwork/jp/ondema…

Oracle Database から MySQL(Aurora MySQL互換含む) に移行する際に留意すべきこと

パラメータ SQL_MODE ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々 MySQL で NOT NULL 制約のある列に複数行インサートするとその型のデフォルト値が入る - ablog TX_ISOLATION トランザクション分離レベルは Oracle のデ…

AWRレポートを CSV に変換する手順

AWRレポートを CSV に変換する手順。CSV を EXCEL のピボットグラフなどを使って分析すると便利です。 Python スクリプトを入手する。 $ git clone https://github.com/yasushiyy/awr2csv.git AWRレポートの存在するディレクトリに移動する。 $ cd awrrep AW…

Oracle Database から Aurora MySQL互換 に DMS でデータをロードする

Oracle Database から Aurora with MySQL Compatibility にテーブルのデータを AWS Database Migration Service (DMS) でフルロードしてみたメモ。 ロード後のソースDBとターゲットDBのデータ比較 ソースDB(Oracle Database) SQL> select * from test_time…

Mac OS X に Oracle Instant Client をインストールする

ダウンロード Instant Client for macOS (Intel x86) から以下をダウンロードする。 instantclient-basic-macos.x64-12.1.0.2.0.zip instantclient-sqlplus-macos.x64-12.1.0.2.0.zip インストール 解凍する % unzip instantclient-basic-macos.x64-12.1.0.2…

消えたDB Time を追え (DB Time > CPU Time + Wait Time になるケース)

CPU のランキュー待ち ページイン時のディスクI/O待ち(メジャーフォルト) AIX on Power 7 SMT である条件下で発生するケース 問題ではなくCPU時間や使用率の計上の仕方により発生する トレースファイルに書くのに時間を要してるケースいるケース

「ロールバックセグメントの歌」と「データガードの歌」

前職(日本オラクル)の先輩データベースコンサルタントのちゃむさんからの依頼で、ロールバックセグメントの歌」と「データガードの歌」の歌詞と音源 を掲載します。 ちゃむさんはインサイトテクノロジー時代に「 おら!オラ!Oracle − どっぷり検証生活」…

「エキスパートはどう考えるか? 体感!パフォーマンスチューニング」@DB Connect 2017

2017/3/8 に開催された Oracle Database Connect 2017 で、「エキスパートはどう考えるか? 体感!パフォーマンスチューニング」というお題で、津島博士(解説)、しばちょう先生(司会)、JPOUGの関口さん、諸橋さん、渡部さん、私(パネラー)でパネルディ…

「SQL性能を最大限に引き出すDB 12cクエリー・オプティマイザ」 @TechNight#7

2017/3/27に Oracle Database Technology Night #7 で「SQL性能を最大限に引き出すDB 12cクエリー・オプティマイザ 〜 新機能活用と統計情報運用の戦略 〜」というお題で発表しました。 内容 SQL性能を最大限に引き出すDB 12cクエリー・オプティマイザ 〜 新…

Infiniband とRDS、Exafusion、RDMA とか

とりあえずメモ去年、Infiniband、RDMA あたりを調べたとに見つけた資料のいい絵。ブログにメモしとこ。 pic.twitter.com/VF6LIaWkj6— yohei.a-z (@yoheia) 2017年3月26日 pic.twitter.com/XlU3hQx0Vp— yohei.a-z (@yoheia) 2017年3月26日 参考 Exafusion Di…

SQLHCのススメ

SQLHCとは SQLチューニング・ヘルス・チェック・スクリプト(SQLHC)は My Oracle Support で提供されているPL/SQLスクリプト My Oracle Support の DocID: 1542531.1 から sqlhc.zip をダウンロード・解凍して、sqlplus で SQL_ID を指定して実行 指定した SQ…