データベース一覧

phpでオラクルデータベースに接続

 

PDOのオラクル対応がなかなかうまくできずに苦戦しました。

 

対策1以下をダウンロードし

oracle instant clientの32bitを、phpフォルダ、phpフォルダ\extにコピー

対策2php.iniの

extension=php_oci8_12c.dll の”;”を除去し、設定を有効にした
extension=php_pdo_oci.dllの”;”を除去し、設定を有効にした

対策3PCの再起動

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[SQL] テーブルの中身を別のテーブルにコピー

Insert Into コピー先テーブルA(フィールドA1,フィールドA2,フィールドA3)
Select フィールドB1,フィールドB2,フィールドB3
From コピー元テーブルB



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[mySQL] Illegal mix of collations のエラー

Illegal mix of collationsのエラーが出た場合

異なる属性のデータをlikeに指定している可能性があります。

 

intSize lile ‘あああ’

 

属性を合わせた値をセットしましょう。

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[MySQL] TIMESTAMP型を明示的に自動更新させない方法

TIMESTAMP型で属性が「on update CURRENT_TIMESTAMP」となっているフィールドは更新時に自動で最新の日付がセットされるので便利な時もありますが、処理の都合上、更新したくないときは、明示的に更新を避けるような

SQL文を組み込むことができます。

 

日付フィールド名 = 日付フィールド名 のように、現在のフィールド値にフィールド名を入れるようなupdate文を作り実行すればOKです。

update table_name set value = ‘12345’, startYmd = startYmd where id = ‘1234’;



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[PostgreSQL] 固まってしまった時の対処

postgres
急に普通の削除ができなくなり、原因不明なまま、再起動で楽になろうと

思ったが、チャラにする前になんかできることはないか。できることがあるんじゃね。

と、拷問に近い、追い詰めのあげく、たどり着いたのが

このコマンド

プロセスIDを見極めて、プロセスを個別に削除する作戦。

 

プロセスIDを個別に指定して削除



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[amazon クラウド] RDS上のMySQLでリージョン間のレプリケーションを構築する

2015-07-12前回、前々回とRDS内でのレプリケーションの仕組み、MySQLでのレプリケーションの仕組みををまとめましたが

それを踏まえて

リージョン間でレプリケーションしたらどうなるかをまとめてみました。

WS000038

つまり更新系はマスターでないと他のスレーブに配ってくれないので、データは

マスターに行く。参照系は、各リージョンにあるRDSに繋げば、データ量が多いクエリも

マスターを見に行くより早いのは間違いない。

この方法による構築での課題点は

・参照系と更新系でデータベースの接続先が違う。

・MySQLのレプリケーションは非同期レプリケーションなので、タイミングによっては、
整合性がとれていないクエリー結果になってしまう。
上記の図の例で言いますと、海外1と海外2はタイミングによっては、結果がずれる。
東京は、マスターを参照するので、ずれはない。
因みに、リージョン内での参照系レプリケーションであればRDS側のReadReprication機能で対応できます。

具体的な手順を以下に記載します。

1.まず、マスターのEC2を立ち上げます。

2.MySQLをインストールしましょう。

3.マスターのリージョンにRDSインスタンスをmySQLで起動します。

•MySQL5.6.13のRDS

•Publicly AccessibleをON

•Mullti-AZオプションはOFF

•セキュリティグループではお互いの通信を許可

ポートの開放

インバウンド、アウトバウンド両方

4.EC2からRDSのmySQLに接続

5.ここでレプリケーション用のユーザーを作成しておく

6.テスト用のテーブルを作成する。

7.バイナリ―のログにアクセスできるようにストアドプロシージャーを実行する。

8.内容を控えておく

8.次に、スレーブ用のリージョンのRDSのインスタンスを起動します。

同じようにポートを解放してください。

9.スレーブのデータベースに接続します。

10.レプリケーション用のユーザーを作成します。

11.マスターのデータベースをそのままスレーブにコピーします。

最初にマスターをダンプします。

次にスレーブ側でダンプファイルをインポートします。

12.スレーブ側 mySQLにて以下ストアドプロシージャ―を実行します。

先程の内容をセットします。

13.スレーブ側でレプリケーションを開始します。

14.状況確認します。

13.マスター側で

データを登録

14.スレーブ側でレコードが増えているか確認 レコードが1件増えていれば

同期確認完了。



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[MySQL] レプリケーションの仕様(マスタースレーブの関係)

前回のアマゾンクラウドでのお話でもお伝えしましたが、レプリケーションとは、

データベースを複製することで、以下の役割を満たします。

・データベースがぶっ壊れたときのための予備

・もうひとつ同じデータベースを作っておくことで負荷分散スピードアップ

mysqlは

非同期レプリケーションによるマスタースレーブ型です。

非同期レプリケーションとはマスターの更新状況の保全を待たず同時に書き込むこと。

マスタースレーブ型はマスター1つに複数のスレーブを持つ。更新はマスターに全てやらせる

その内容をスレーブが取りにいく仕組み。

高機能のデータベースソフトはマルチマスター型もできる。

常に自分もマスターになれるということ。みんなで更新する感じですね。

mySQLは、マスタースレーブの関係は出来上がっています。

 

 

 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[mySQL] 指定したテーブルの最大カラム数を取得したい

select count(*) from sys.columns
where object_id=object_id(‘テーブル名’)

sys.columsというシステムで用意されたテーブル(ディクショナリ)に

を参照して取得するというパターン



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




[SQL Server 2008 R2] エラーコード 一覧

SQL Serverのエラーコード一覧を見つけました。

https://msdn.microsoft.com/ja-jp/library/cc645603.aspx

参考までに以下内訳

接続、SQLに関しては

https://msdn.microsoft.com/ja-jp/library/cc645611(v=sql.105).aspx

ADO等の接続プロバイダ経由のエラーに関しては(VBやC#を使用した接続)

https://msdn.microsoft.com/ja-jp/library/cc645950(v=sql.105).aspx

 

 


 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。


 




SQLServer ストアドプロシージャーの存在チェック DROP して CREATE PROCEDURE する

解説

sys.objects
データベース内で作成されるユーザー定義のスキーマ スコープ オブジェクトごとに 1レコード作成されます。

sys.objectsにある「type」カラムは以下のデータが格納されています。
AF = 集計関数 (CLR)
C = CHECK 制約
D = DEFAULT (制約またはスタンドアロン)
F = FOREIGN KEY 制約
FN = SQL スカラー関数
FS = アセンブリ (CLR) スカラー関数
FT = アセンブリ (CLR) テーブル値関数
IF = SQL インライン テーブル値関数
IT = 内部テーブル
P = SQL ストアド プロシージャ
PC = アセンブリ (CLR) ストアド プロシージャ
PG = プラン ガイド
PK = PRIMARY KEY 制約
R = ルール (旧形式、スタンドアロン)
RF = レプリケーション フィルター プロシージャ
S = システム ベース テーブル
SN = シノニム
SQ = サービス キュー
TA = アセンブリ (CLR) DML トリガー
TF = SQL テーブル値関数
TR = SQL DML トリガー
TT = テーブルの種類
U = テーブル (ユーザー定義)
UQ = UNIQUE 制約
V = ビュー
X = 拡張ストアド プロシージャ

ですので、今回は「P」を指定しています。
同じようにこのタイプを指定してオブジェクトの存在チェックが可能です。

 


 



メルマガ登録をお願いします。

素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。