サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
中東情勢
sql-oracle.com
Oracleでアカウントロックされた場合 Oracleでログインするパスワードを既定回数以上間違えるとアカウント ロックされてしまいます。アカウント ロックされたユーザーを解除する方法を解説します。 ロックされたユーザーを確認する まずはSYSDBA権限でsqlplusへ接続します。 --sqlplusへSYSDBAで接続する sqlplus / as sysdba ロック状態を確認します。ロックされたユーザーを参照するには「DBA_USERS」を参照します。 -- アカウントロックされたユーザーを確認する SELECT USERNAME,ACCOUNT_STATUS,LOCK_DATE FROM DBA_USERS WHERE ACCOUNT_STATUS <> 'OPEN';
CONVERT(文字列から日付型に変換) 構文 SQLServerで文字列を日付型に変換するには「CONVERT」を使います。 CONVERT(日付型, 文字列) 例1. 文字列を日付型に変換する(年月日)パターン --文字列'20220901'を日付型に変換する SELECT CONVERT(DATETIME, '20220901'); [結果] 2022-09-01 00:00:00.000 CONVERTを使って、文字列「20220901」を日付型に変換することができました。 例2. 文字列を日付型に変換する(年月日)スラッシュ区切りパターン --文字列'2022/09/01'を日付型に変換する SELECT CONVERT(DATETIME, '2022/09/01'); [結果] 2022-09-01 00:00:00.000 スラッシュ入りの文字列「2022/09/01」もCO
Oracleの表領域が自動拡張かどうかをSQLで確認することができます。 Oracle 表領域の自動拡張を確認するSQL Oracleの表領域が自動拡張になっているか確認するには「DBA_DATA_FILES」を使います。 自動拡張を確認するSQL -- 自動拡張を確認する SELECT TABLESPACE_NAME, FILE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES ORDER BY 1 TABLESPACE_NAME FILE_NAME AUTOEXTENSIBLE IDXSP C:\ORACLE\ORADATA\ORCL\IDXSP.DBF YES SYSTEM C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF YES SYSAUX C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF YES TAB
初期化パラメータファイルとは? Oracleは起動時にファイルを読みこんでDBに必要な初期設定をします。このファイルのことを初期化パラメータファイルといいます。 Oracleはこの初期化パラメータファイルに様々な設定値をもたせています。例えば、メモリのサイズ(SGA・PGAサイズ)、バックアップ出力先(アーカイブログ)などなど。 参照:初期化パラメータ・ファイルの概要 Oracleの初期化パラメータファイルは2種類 Oracleの初期化パラメータファイルは2種類あります。
SQL Serverの認証モードとは SQL Serverは認証するために2種類の認証モードが用意されています。 Windows認証とSQL Server認証です。 参照:認証モードの選択 – TechNet – Microsoft Windows認証とは? SQL ServerのWindows認証はその名のとおりWindowsで認証するOS認証です。 OSにログオンしているユーザーで認証されます。WindowsはActive Directory(AD)で管理されるのでADユーザーを使用する認証モードです。 OSにログインしている時点で認証済みとみなされるため、SQL Serverでのユーザー名、パスワードの入力が省略されます。 下図はMicrosoft SQL Server Management Studioのログイン画面ですが、認証で「Windows認証」を選択するとユーザー名・パスワ
Oracleのテーブルは作成後でも別の表領域へ移動できます。 構文 テーブルの表領域を変更するSQLはコチラ。 -- テーブルの表領域を変更するSQL ALTER TABLE {テーブル} MOVE TABLESPACE {変更後の表領域}; Oracleの表領域の変更は「ALTER TABLE ~ MOVE ~」を使います。 例1. テーブルの表領域を変更する -- テーブルTBL1の表領域をTBSP1に変更するSQL ALTER TABLE TBL1 MOVE TABLESPACE TABSP1; 上の例ではテーブル「TBL1」の表領域を元の表領域から別の表領域「TABSP1」へ移動します。ちなみにOracleはテーブルだけでなく、インデックスも表領域を移動できます。 テーブルの表領域を変更すると、このテーブルにインデックスがある場合は無効になってしまいます。なのでインデックスを再作成
LEN、DATALENGTH(文字列の長さ 文字数・バイト数を取得する) 構文 SQLServerで文字列の長さである文字数・バイト数を取得るには「LEN」「DATALENGTH」を使います。 LEN(文字列) 「LEN」で文字列の文字数を取得します。 DATALENGTH(文字列) 「DATALENGTH」で文字列のバイト数を取得します。 参照:DATALENGTH (Transact-SQL) – MSDN – Microsoft 例1. LENで文字の長さを取得するパターン --LENで文字の長さを取得する SELECT LEN('佐藤花子'); [結果] 4 例2. DATALENGTHで文字のバイト数を取得するパターン --DATALENGTHで文字のバイトの長さを取得する SELECT DATALENGTH('佐藤花子'); [結果] 8 「LEN」「DATALENGTH」で文
Oracleユーザー削除SQL Oracleのユーザーを削除するには「DROP USER~」を使います。 -- Oracleユーザー削除SQL DROP USER {ユーザー} CASCADE; 例1. satouユーザーを削除するSQL -- SATOUユーザー削除 DROP USER satou; ここでは「SATOU」ユーザーを削除しました。 例2. satouユーザーを削除するSQL(CASCADE) -- SATOUユーザー削除(cascade) DROP USER satou CASCADE; 削除したいOracleユーザーでテーブルを作成していた場合は削除できません。 この場合は「CASCADE」をつけると削除できます。「DROP USER」に「CASCADE」をつけて削除します。 以上、Oracleのユーザーを削除するSQL「DROP USER」でした。
SQL Serverでログインユーザーのパスワードを変更する方法 パスワードを変更する方法 SQL Serverではログインユーザーのパスワードを後から変更することができます。Windows認証のユーザーのパスワードはOSのほうで変更します。こ Windows認証・・・OSでパスワード変更します。 SQL Server認証・・・SQL Server Management Studioでパスワード変更します。 こではSQL Server認証のログインユーザーのパスワードを変更する方法を解説します。 SQL Server認証のパスワードを変更する方法 1.SQL Server Management Studioを起動します。セキュリティ→ログイン→変更したいユーザーをダブルクリックします。 2. ログインのプロパティから「パスワード」があるので、そこで変更したパスワードを入力します。「パスワー
Oracleのシステム権限は2つあります。DBAロール・SYSDBA権限です。 Oracleのシステム権限(DBAロール・SYSDBA権限)についての解説とシステム権限をもつユーザーを取得します。 Oracleのシステム権限 DBAロール・SYSDBA権限とは Oracleのシステム権限はおもに2つあります。システム権限が2つあるのがややこしいですね。 DBAロール SYSDBA権限 DBAロール 「DBAロール」はDBA(Database Administrator)、いわゆる「データベース管理者」という名前からわかるように、管理者の権限をもつロールです。 この「DBAロール」がいわゆるシステム権限です。 SYSDBA権限 Oracleには「DBAロール」以外に「SYSDBA権限」というシステム権限もあります。実はこの「SYSDBA権限」は前述のDBAロールよりさらに強力な権限なのです。
Oracleのジョブでスケジュール実行する Oracleのストアドを実行する際、定期的にスケジューリングして実行したい場合があります。Windowsのタスクスケジュールのように。 例えば、「毎週日曜の夜0時にAプロシージャを実行する」など。 これがジョブです。 夜間のバッチ処理や定期的な処理はジョブでスケジュール実行すると便利ですね。ジョブはOracleの「DBMS_SCHEDULER」パッケージを利用します。 ジョブの権限 Oracleの「DBMS_SCHEDULER」でジョブを作成するには「CREATE JOB」権限が必要です。「MANAGE SCHEDULER」もあった方がいいかもしれません。 あらかじめ権限を割り当ててください。 -- ジョブを作成する権限 GRANT CREATE JOB TO user1; GRANT MANAGE SCHEDULER TO user1; DBM
INNER JOIN とは 「結合」は複数のテーブルをひっつけるという意味です。複数のテーブルを結合して、1つの結果にまとめたいときに使います。 INNER JOIN(内部結合)は複数のテーブルを結合し、条件が一致したもののみを取得します。 OUTER JOIN(外部結合)は優先するテーブルが条件一致しなくても取得しますが、内部結合はそうではありません。 この図ではAテーブルとBテーブルの結合条件が一致したレコードを取得します。(赤塗部分) INNER JOINの使い方 JOINを使用するパターン --内部結合 JOINを使用 SELECT {列} FROM {Aテーブル} a (INNER) JOIN {Bテーブル} b ON {a.列1}={b.列2} WHERE 条件; SQL Serverで内部結合するには、INNER JOIN句の前後に結合するテーブルを記述します。テーブル名の後
月を加算・減算するADD_MONTHS Oracleで月を足したり引いたり加算・減算するにはADD_MONTHSを使います。 構文 ADD_MONTHS(日付,加算・減算する月数) 日付を指定された月数で加算・減算します。 例1. 現在日に1月足すパターン --システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2022/01/01 05:05:15 --1ヶ月足す SELECT ADD_MONTHS(SYSDATE, 1) FROM DUAL; [結果] 2022/02/01 05:05:15 ここでは「ADD_MONTHS」を使って本日からひと月を加算しました。 例2. 現在日から2ヶ月前を取得するパターン --システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2022/01/01 05:05:15 --2ヶ月引く
Oracleの表領域のデータファイルは作成後でも移動できます。たとえばCドライブの容量に空きがなくなってしまい、Dドライブへ移動するケースなど。表領域のデータファイルを移動するには表領域を一度オフラインにしてから移動します。 1.表領域をオフラインにする -- 表領域をオフライン化 ALTER TABLESPACE tabsp1 OFFLINE; 2.データファイルを移動する 次にデータファイルを移動先のディレクトリへコピーします。エクスプローラーからデータファイルをコピーしてください。 3.データファイルをリネームする -- データファイルをリネームする ALTER TABLESPACE {表領域} RENAME DATAFILE {移動前のファイルパス} TO {移動後のファイルパス}; ALTER TABLESPACE tabsp1 RENAME DATAFILE 'C:\ORACL
Oracle表領域を削除するDROP TABLESPACE【SQL】 Oracleの表領域は削除できます。表領域を削除するには、DROP TABLESPACE~ を使います。 -- 表領域を削除する DROP TABLESPACE {表領域} INCLUDING CONTENTS; 例1. 表領域TABSP1を削除するSQL -- 表領域TABSP1を削除する DROP TABLESPACE TABSP1 INCLUDING CONTENTS; これで表領域TABSP1を削除できました。INCLUDING CONTENTSは表領域にデータがある場合につけないとエラーになります。表領域にデータが入っていなければINCLUDING CONTENTSは不要ですが、そういったケースはまれなのでつけておけばよいですね。 例2. 表領域TABSP1をデータファイルごと削除するSQL -- 表領域TAB
ディレクトリオブジェクト(DIRECTORY)の構文 -- ディレクトリオブジェクトを作成するSQL CREATE OR REPLACE DIRECTORY {ディレクトリ} AS {ディレクトリパス}; Oracleのバックアップでエクスポート・インポートを使う際にディレクトリオブジェクトを使用します。 ディレクトリオブジェクトとしてパスを事前に設定しておくことで、エクスポート・インポートで毎回フルパスを指定しなくてもよくなります。 ディレクトリオブジェクトdp_dirを作成するSQL -- ディレクトリオブジェクトdp_dirを作成する CREATE OR REPLACE DIRECTORY dp_dir AS 'd:\dump'; この例ではディレクトオブジェクト「dp_dir」を「d:\dump」に作成しました。 権限を付与する -- ディレクトリオブジェクトdp_dirの権限を付
Oracleのすべてユーザーを確認し、詳細情報も確認する場合は「DBA_USERS」を使います。 「DBA_USERS」は上記の「ALL_USERS」よりも詳細情報を確認することができます。 -- Oracleのユーザー一覧を確認する(詳細情報あり) SELECT * FROM DBA_USERS ORDER BY USERNAME; -- Oracleのユーザー一覧を確認する(項目指定) SELECT USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,PROFILE FROM DBA_USERS ORDER BY USERNAME;
SQL Serverで改行コード SQL Serverで改行コードを含むレコードを検索・更新・置換したい場合があります。改行コードを含むレコードを取得する場合はASCIIコードを変換すればSQL Serverで扱えます。 改行コードは「CR」「LF」があります。ASCIIコードは「CR」が「CHAR(13)」、「LF」が「CHAR(10)」です。 例1.SQL Serverで改行コードを取得する --SQL Serverで改行コードCRを取得する SELECT * FROM emp WHERE address LIKE '%' + CHAR(13) + '%'; --SQL Serverで改行コードCRLFを取得する SELECT * FROM emp WHERE address LIKE '%' + CHAR(13) + CHAR(10) + '%'; --SQL Serverで改行コー
Oracle12cはエディションが途中から変更されおります。 「バージョン12.1.0.1まで」と「バージョン12.1.0.2以降」でエディションが違います。ややこしいのが12.2から変わっているわけではないというところ。12.1の途中からです・・・。 Oracle12c(12.1.0.2以降~12.2)のエディション Standard Edition 2(SE2) Enterprise Edition(EE) Personal Edition(PE) Oracle12c(12.1.0.1まで)のエディション Standard Edition One(SE1) Standard Edition (SE) Enterprise Edition(EE) Express Edition(XE) Personal Edition(PE) エディション別の違い このエディションの違いは何でしょうか?
Oracleのビュー(VIEW)を作成するSQL ビューとは Oracleのビューはテーブルを整形できる便利なオブジェクトです。そしてテーブルと同じように使用することができます。 ただし、テーブルのようにデータを保持しているわけではありません。ビューはあくまで疑似テーブルです。 Oracleのビュー(VIEW) Oracleのビューはテーブルを整形できる便利なオブジェクトです。そしてテーブルと同じように使用することができます。 ただし、テーブルのようにデータを保持しているわけではありません。ビューはあくまで疑似テー... 構文 ビューを作成するには「CREATE OR REPLACE VIEW~」を使います。 -- ビューを作成する CREATE OR REPLACE VIEW {ビュー名} AS {SELECT文} ; 「OR REPLACE」は変更(上書き)するという意味です。なくても
Oracleデータベースへ接続して、SQLコマンドをうったり、逆にコマンドをうたなくてもマウスのクリックでできてしまうような便利なSQL開発ツールがあります。 今回はOracleのSQL開発ツールを見ていきましょう! SQL Plus SQL PlusはOracle標準で提供されるクライアントツールです。 DBAとしてはこのSQL Plusがあれば一通りのことは可能です。コマンドベースなのでWindowsユーザーには少し優しくないかもです。 DB管理はできても、データ編集は厳しい面があります。視覚的に見やすくはないですからね。 データベース管理者などのDBAは使いやすいですが、プログラマーにはちょっと使い辛い面があります。コマンド打つのが好きな人はいいですけど。 CSE Common SQL Environment いわゆるCSEです。 Oracle以外のデータベースにも使えるフリーで万能
A5:SQL Mk-2でかんたんにOracleへ接続する手順・方法を解説します。 A5:SQL Mk-2とは 「A5:SQL Mk-2」はフリーのSQL開発ツールです。「A5:SQL Mk-2」はOracleをはじめ、各種データベースに対応しています。 開発系のSQLを動かしたり、DBAの管理系ツールとしても使えるかなり万能で高機能なツールです。 参照:A5:SQL Mk-2 今回はA5:SQL Mk-2を使って、Oracleへ接続してみます。 A5:SQL Mk-2のダウンロード まずはA5:SQL Mk-2をダウンロードします。 →http://www.vector.co.jp/soft/dl/winnt/business/se422726.html インストールするタイプではないので、ダウンロードしたファイルを適当な場所へ解凍し、そのフォルダ内にある「A5M2.exe」を実行すれば使
OracleのMERGE(マージ) OralceでデータがあればUPDATEを、なければINSERTするには「MERGE」を使います。 --テーブルへ値を登録する MERGE INTO {テーブル1} USING {テーブル2} ON {結合条件} WHEN MATCHED THEN {Update文} WHEN NOT MATCHED THEN {INSERT文} ; データがなければ追加してくれるし、データがあれば更新してくれる便利なSQLが「MERGE」です。 例1. テーブル結合してMERGEするパターン --テーブルを結合してMERGEする MERGE INTO emp e USING emp_temp t ON e.empno = t.empno WHEN MATCHED THEN --UPDATE(テーブル名は記述しない) UPDATE SET e.emp_name = t.
OracleのINSERT ~ SELECTのパターン OracleでINSERTするには通常1レコードずつINSERTしますが、SELECTした結果をまとめてINSERTすることもできます。 「INSERT ~ SELECT」のパターンを3つ紹介します。
SQL Server BULK INSERT CSVファイルから登録する SQL Serverには「BULK INSERT」を使って、CSVファイルからデータを登録することができます。ここでは「BULK INSERT」について解説します! BULK INSERTの構文 --CSVファイルからINSERTする BULK INSERT {テーブル名} FROM {ファイルパス} WITH ({オプション}); {ファイルパス}のデータを{テーブル}へINSERTします。 代表的なオプションをいくつか紹介します。 DATAFILETYPE ファイルの型を指定します。 cha・・・文字形式 widechar・・・Unicode文字 native・・・ネイティブ (データベース) データ型 widenative・・・ネイティブ (データベース) データ型、Unicode文字 FIELDTERMIN
SQL Serverのインデックス(index)を作成するSQL 構文 SQL Serverでインデックスを作成するには「CREATE INDEX ~ON ~」を使います。 -- クラスター化インデックス作成 CREATE CLUSTERED INDEX {インデックス} ON {テーブル} ({列}); -- 非クラスター化インデックス作成 CREATE NONCLUSTERED INDEX {インデックス} ON {テーブル} ({列}); クラスター化インデックスと非クラスター化インデックスの違い クラスター化インデックス・・・テーブルに1つのみ。データを並びかえて格納する 非クラスター化インデックス・・・複数可。インデックスへのポインタを格納する クラスター化インデックスと非クラスター化インデックスの違いをザックリいうと、データ自体を並び替えて保存するのがクラスター化インデックスで
数値型(整数・小数・金額) int・decimal・float・money SQL Serverの数値型にint、decimal(numeric)、float、moneyがあります。 それぞれの数値型の違いを解説します。 int (整数) SQL Serverの整数は「int」 を使います。最大2,147,483,647です。これを超える場合は、「bigint」型を使用します。「int」より小さい「smallint」型もあります。 一般的にSQL Serverで整数型といえば「int」になります。
Oracleのトリガー(trigger)を有効・無効にすることができます。一時的にトリガーを無効にしたいときや有効に戻したいときがありますからね。 トリガーを有効・無効する ここではOracleのトリガーを有効・無効にする方法を説明します。トリガーを有効・無効にするには「ALTER TRIGGER」を使用します。 構文 --トリガーを無効にする ALTER TRIGGER {トリガー} DISABLE; --トリガーを有効にする ALTER TRIGGER {トリガー} ENABLE; SQL --トリガーを無効にする ALTER TRIGGER trg1 DISABLE; --トリガーを有効にする ALTER TRIGGER trg1 ENABLE; ここではトリガー「trg1」を有効・無効にしました。 テーブル毎にトリガーを有効・無効にする ここではテーブルをキーにします。テーブルに関
Oracleのパスワードには有効期限がありますが、このパスワード有効期限を無期限にすることができます。 Oracle 12cのパスワードポリシー そもそもOracle 12cのパスワードポリシーはこのようになっております。 パスワードは180日で期限切れとなる パスワードの期限切れの7日後にユーザーがロックされる 10回ログインに失敗すると、ユーザーが1日ロックされる ますます厳しくなっていくセキュリティですが、パスワードは180日で切れてしまいます。Oracle 11gから厳しくなりました。半年たつとそのユーザーはパスワードを変更しないと使えなくなってしまいます。 参照:ユーザー・パスワードの期限切れ – Oracle Database 2日でデータベース管理者 セキュリティ的にはもちろん好ましい仕様なのですが、実際使う立場だと何とも・・・。 あまりよろしくはないですが、パスワードの有効
次のページ
このページを最初にブックマークしてみませんか?
『Oracle初心者でもスッキリわかる | Oracle・データベース入門サイト。初心者でもわ...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く