2019-05-01から1ヶ月間の記事一覧

バージョンアップ

DB

Oracle (12cR1)→(12cR2)https://docs.oracle.com/cd/E82638_01/upgrd/index.html --12cR2のソフトウェアインストール --アップグレード前情報ツールの実行 export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1export ORACLE_BASE=/u01/app/oracleex…

リリース日

DB

Oracle 11gR2 2009年9月12cR1 2013年7月12cR2 2017年3月18c 2018年7月19c 2019年4月 MySQL 5.6 2013年2月5.7 2015年10月8.0 2018年4月 PostgreSQL 9.4 2014年12月9.5 2016年1月9.6 2016年9月10 2017年10月11 2018年10月12 2019年10月 13 2020年9月 14 2021年…

amazon linux2へpostgresql9.6の拡張インストール

AWS

(0)準備sudo su -yum install gcc readline-devel openssl-devel postgresql-staticecho postgres | passwd --stdin postgres (1)pg_hint_plan su - postgres tar xvzf pg_hint_plan96-1.2.4.tar.gzcd pg_hint_plan96-1.2.4make exitexit sudo sh -c "cd /va…

amazon linux2へMySQL8.0インストール

AWS

https://qiita.com/2no553/items/952dbb8df9a228195189 yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm yum info mysql-community-server yum -y install mysql-community-server mysqld --version systemctl enab…

amazon linux2へpostgresql9.6インストール

AWS

https://dev.classmethod.jp/cloud/aws/how-to-work-with-amazon-linux2-amazon-linux-extras/https://www.setouchino.cloud/blogs/95 amazon-linux-extras listamazon-linux-extras install postgresql9.6 yum install postgresql-server postgresql-devel …

リコンパイル

DB

Oracle create or replace procedure proc1 asbegin null;end;/ alter procedure proc1 compile; MySQL 明示的にコンパイルするコマンドは調べた限り見つからない PostgreSQL 明示的にコンパイルするコマンドは調べた限り見つからない SQL Server Customer …

フラッシュバック

DB

Oracle SELECT OLDEST_FLASHBACK_SCN, OLDEST_FLASHBACK_TIMEFROM V$FLASHBACK_DATABASE_LOG; shutdown immediate;startup mount;FLASHBACK DATABASE TO SCN 1784574;alter database open resetlogs; MySQL 未対応の模様 ※MariaDB 10.2.4の場合、mysqlbinlog…

動的SQL

DB

Oracle declare tabname varchar2(100);begin tabname := 'tab98'; execute immediate 'create table '||tabname||'(col1 int)';end;/ MySQL https://qiita.com/hand10ryo/items/6f7c9669ba8870cb16a9https://gene.hatenablog.com/entry/20100608/1275994173…

類似テーブル作成

DB

Oracle (12R2)create table tab2 for exchange with table tab1; MySQL create table tab111 like tab1; PostgreSQL create table tab111( like tab1); SQL Server 調べた限りない模様

アプリケーション名のセット

DB

Oracle select SID,SERIAL#,USERNAME,CLIENT_IDENTIFIER from v$session; exec dbms_session.set_identifier('application1'); MySQL 調べた限りない模様 PostgreSQL show application_name;set application_name to 'test'; セットしたアプリケーション名は…

データブロック確認

DB

Oracle https://taityo-diary.hatenablog.jp/entry/2015/08/17/170644 create table tab23(col1 int,col2 varchar2(100));insert into tab23 values(1,'XXXXXXXXXXXXXXXXXXXXXXX');commit;alter system checkpoint; selectdbms_rowid.rowid_to_absolute_fno(…

アーカイブログ削除

DB

Oracle rman target / list archivelog all; delete archivelog until time 'sysdate - 20'; MySQL ※指定されたログファイル名または日付の前にあるログインデックスファイルにリストされているすべてのバイナリログファイルを削除します。 purge BINARY log…

リストアポイント

DB

Oracle create restore point rp1; select * from v$restore_point; MySQL 調べた限りない模様 PostgreSQL select pg_create_restore_point('rp1'); vim recovery.conf recovery_target_name = 'rp1' SQL Server https://docs.microsoft.com/ja-jp/sql/relat…

SSL接続

DB

Oracle https://docs.oracle.com/cd/E57425_01/121/DBSEG/asossl.htm#GUID-6AD89576-526F-4D6B-A539-ADF4B840819Fhttps://docs.oracle.com/cd/E57425_01/121/DBIMI/walet.htm#GUID-7BEA833A-AB6B-4F9B-A3B2-7727BA6608FB__CIHDHIDChttps://qiita.com/takech9…

Row-Level Security

DB

Oracle VPD --手順1: ユーザー・アカウントとサンプル表の作成conn / as sysdba GRANT CREATE SESSION, CREATE ANY CONTEXT, CREATE PROCEDURE, CREATE TRIGGER, ADMINISTER DATABASE TRIGGER TO sysadmin_vpd IDENTIFIED BY oracle; GRANT EXECUTE ON DBMS_…

sleep

DB

Oracle execute DBMS_LOCK.SLEEP(10); MySQL select sleep(10); PostgreSQL select pg_sleep(10); SQL Server https://sql55.com/query/sql-sleep-waitfor.php begin select getdate();waitfor delay '00:00:05';select getdate(); endgo

繰り返し実行

DB

Oracle while true; doecho "set linesize 150"echo "select * from v\$instance;"echo "select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') from dual;"sleep 2 ;done | sqlplus / as sysdba ※SQLcl(Oracle SQL Developerコマンドライン) REPEAT <iterations> <sleep>スリープ間</sleep></iterations>…

例外ハンドリング

DB

Oracle set serveroutput on declarebeginfor i in 1..1000 loop insert into tab1 values(1); commit;end loop; exception when DUP_VAL_ON_INDEX then dbms_output.put_line('一意性の制約違反発生'); when others then dbms_output.put_line(SQLCODE); db…

スプール

DB

Oracle spool a.log select * from v$instance; spool off MySQL https://qiita.com/xuj/items/ebbb993841359d8e2b91 pager cat > a.log PostgreSQL \o sql.log ただし、実行結果は表示されない SQL Server sqlcmd -o sql.log

マルチマスタ

DB

Oracle アドバンスド・レプリケーション https://www.system-exe.co.jp/dbexpert06/https://www.oracle.com/technetwork/jp/ondemand/database/db-technique/replipractice-520823-ja.pdf (12cR1) node1: 192.168.137.124 →マスター定義サイト、DB名:PROD1.e…

レプリケーション遅延監視

DB

Oracle Data Guard Broker dgmgrl connect sys/oracle show database verbose 'stb'; トランスポート・ラグや適用ラグを確認可能 -- RDSマニュアルに記載の方法the sum of the Apply Lag value and the difference between the current time and the apply l…

DDLのロールバック

DB

Oracle DDLはロールバックできない MySQL DDLはロールバックできない PostgreSQL DDLでもロールバック可能 start transaction; truncate table tab33;rollback; SQL Server DDLでもロールバック可能 begin transaction; truncate table tab33;rollback;

カラム追加・変更・削除

DB

Oracle (19c)drop table tab1 purge;create table tab1(col1 int);alter table tab1 add(col2 varchar2(10));alter table tab1 modify(col2 varchar2(100));alter table tab1 drop(col2); drop table tab2 purge;create table tab2(col1 int);alter table ta…

乱数ソート

DB

Oracle select * from tab1 order by dbms_random.value(); MySQL select * from tab1 order by rand(); PostgreSQL select * from tab1 order by random() ; SQL Server select * from tab1 order by newid() ;

フルスキャンとインデックスの制御

DB

Oracle OPTIMIZER_INDEX_COST_ADJを指定すると、オプティマイザがアクセス・パスを選択するときに、索引を使用する傾向の強さを調整できます。つまり、オプティマイザが全表スキャンよりも索引アクセス・パスを選択する傾向を、強めたり弱めたりすることがで…

ロックタイムアウト

DB

Oracle select * from tab1 for update wait 10; --DDL文がDMLロック・キューで待機する時間の時間制限alter session set ddl_lock_timeout = 3; insert文に対して、カラム追加はこの制限が適用されず、待ち続けるカラム変更はこの制限が適用されるカラム削…

接続時オプション

DB

Oracle vim $ORACLE_HOME/sqlplus/admin/glogin.sql set lines 1000set pages 5000 set sqlprompt "&_connect_identifier(&_user)> " MySQL vim /etc/my.cnf [mysqld]init_connect='SET autocommit=0' ※init_connect の内容は、SUPER 権限を持つユーザーに対…

稼動統計情報クリア

DB

Oracle インスタンス再起動しかない模様 MySQL flush status; ※一部の変数のみ PostgreSQL select * from pg_stat_user_tables where relname = 'tab1'; select pg_stat_reset(); SQL Server (2019) 待機統計情報のリセットDBCC SQLPERF("sys.dm_os_wait_sta…

プランナ統計情報クリア

DB

MySQL (8.0.26) drop table tab1;create table tab1(col1 int,col2 varchar(100) ); insert into tab1 values(100,'AAA');insert into tab1 values(200,'BBB');insert into tab1 values(300,'CCC');select * from tab1; analyze table tab1; select * from m…

強制復旧

DB

Oracle なし MySQL vim /etc/my.cnf [mysqld]innodb_force_recovery = 1 テーブルをダンプできるように、innodb_force_recovery オプションを使用して、バックグラウンド操作が実行されないようにして InnoDB ストレージエンジンを強制的に起動させることが…