PR

OracleとMySQLの比較一覧まとめ

スポンサーリンク
MySQL

Oracleから学習し始めるとMySQLを始めた際に、呼び方や機能、コマンドの違いを理解するのが大変だったので、比較した結果を一覧にまとめてみました。

呼び方の比較

一般的な呼び方 Oracleの呼び方 MySQLの呼び方
エラーログ アラートログ エラーログ
更新情報ログ REDOログ トランザクションログ
(≒バイナリログ)
更新情報アーカイブログ アーカイブログ バイナリログ
監査ログ AUDITログ ジェネラルログ
共有メモリ SGA innodb_buffer_pool_size
クラスタ構成 RAC(Real Application Clusters) MySQL Cluster

機能の比較

機能 Oracle コマンド MySQL コマンド
DB起動 srvctl start database -d <DB名>
(もしくはSQL*Plus上でstartup)
systemctl start mysqld
DB停止 srvctl stop database -d <DB名>
(もしくはSQL*Plus上でshutdown)
systemctl stop mysqld
エクスポート expdp mysqldump
インポート impdb mysql < <ダンプファイル>
物理バックアップ rman mysqlbackup (Enterpriseのみ)
xtrabackup (Percona無償)

SQL*Plusとmysqlコマンドの比較

コマンド Oracle(SQL*Plus) MySQL(mysqlコマンド)
接続 sqlplus <ユーザー名>@<ネットサービス名>
(ネットサービス名はtnsnames.oraに記述)
mysql -h <ホスト名> -u <ユーザー名> -p
バージョン確認 select * from v$version; select version();
ユーザ一覧 select username from dba_users; select user,host from mysql.user;
テーブル一覧 select table_name from user_tables; show tables;
テーブル定義確認 desc <テーブル名>; desc <テーブル名>;
インデックス一覧 select
table_name,
index_name,
column_name,
column_position

from user_ind_columns
where table_name = ‘<テーブル名>
order by 1,2,4;
show index from <テーブル名>;
セッション確認 select username,machine,program
from v$session;
show processlist;
パラメータ確認 show parameter <パラメータ名> show variables like ‘<パラメータ名>’;
SQLファイル実行 @<SQLファイル> source <SQLファイル>
SQL結果ログ保存開始 spool <出力ファイル名> \T <出力ファイル名>
SQL結果ログ保存終了 spool off \t
実行計画取得 explain plan for <SQL文>;
select plan_table_output from table(DBMS_XPLAN.DISPLAY);
explain <SQL文>;
SQL実行時間 set timing on; デフォルトで表示される

OracleからMySQLに入る方、MySQLからOracleへ入る方の参考になれば幸いです。