色々DBを使っているとコマンドのパラメータ等を忘れることがあるのでメモ
対象のDBは以下
Oracle
SQL Server
MySQL
PostgreSQL
内容は以下
サービス起動・停止
接続コマンド
ネットワーク設定
DB作成・ユーザ作成
管理情報取得のSQL
その他SQL
ODBC・JDBC接続
その他メモ
参考リンク
1.Oracle
1-1.サービス起動・停止
1-2.接続コマンド
1-2-1.コマンド
sqlplus <ユーザ名>/<パスワード>
sqlplus <ユーザ名>/<パスワード>@<ホスト名>:<ポート番号>/<サービス名>
1-2-2.ヘルプ
sqlplus /?
1-3.ネットワーク設定
1-4.DB作成・ユーザ作成
DBの作成は「dbca」コマンドで行う。
CREATE USER <ユーザ名>
IDENTIFIED BY "<パスワード>"
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
/
GRANT DBA TO <ユーザ名>;
1-5.管理情報取得のSQL
show con_name;
SELECT PARAMETER,VALUE FROM NLS_DATABASE_PARAMETERS where parameter = 'NLS_CHARACTERSET';
その他SQL
select rawtohex(列名) from テーブル名;
ODBC・JDBC接続
http://apis.jpn.ph/fswiki/wiki.cgi?page=Oracle%2FInstantClient
Windows版のインストールは管理者モードで実行する必要がある。
また、64bitOSでも32bitのODBCドライバを使う場合は32bit版のBasic ODBC Updated を使うこと。
環境変数にNLS_LANGの指定をしないと、インストール時にJAを付けても日本語化されない。
その他メモ
コンテナとプラガブルについて
コンテナ・データベースが12cから導入され、1つのコンテナデータベースに複数のプラガブル・データベースを作成できるようになった。
文字型のbyte数について
char(5)、varchar(5) 5byte。UTF8環境で「あああああ」とやったら『値が大きすぎます(実際: 15、最大: 5)』となった。
nchar(5)、nvarchar2(5) 5文字。rawtohexで確認したら「30423042304230423042」だったのでUTF16で格納されている。lengthbでバイト数を確認したら10byt。
NLS_LANG
●UTF8
$export NLS_LANG=Japanese_Japan.AL32UTF8
●SJIS
$export NLS_LANG=Japanese_Japan.JA16SJIS
参考リンク
ORA-28040
サーバ側のsqlnet.oraに以下の内容を記載する。
SQLNET.ALLOWED_LOGON_VERSION=8
特にサービスを再起動する必要もなかった。
2.SQL Server
2-1.サービス起動・停止
Windowsのサービスか、「SQL Server Configration Manager」を使用する。
2-2.接続コマンド
2-2-1.コマンド
sqlcmd -U <ユーザ名> -P <パスワード>
sqlcmd -U <ユーザ名> -P <パスワード> -d <データベース名> -S <サーバ名>
2-2-2.ヘルプ
sqlcmd /?
管理者ユーザー
sa
メモ
SQL文の後に「go」を入力する必要がある。
2-3.ネットワーク設定
「SQL Server Configration Manager」を起動し、ネットワークの構成でTCP/IPを有効にする。
既定のインスタンスの場合は,ポート番号は1433
2-4.DB作成・ユーザ作成
create database <データベース名>;
GO
USE master;
CREATE LOGIN <ユーザ名>
WITH PASSWORD = N'<パスワード文字列>' ,
DEFAULT_DATABASE = <デフォルトの接続データベース名>;
GO
USE <データベース名>;
CREATE USER <ユーザ名>;
exec sp_addrolemember db_owner,<ユーザ名>;
GO
2-5.管理情報取得のSQL
select DB_NAME()
select @@version;
2-6.ODBC・JDBC接続
2-7.CSVデータの取り込み
Management StudioからSQL Server Import and Export Wizardを使用する。
なお、Wizardを使わずに、Management Studioで、テーブルに対してEdit Top 200
でテーブルの内容を表示し、エクセルの内容を張り付けでもデータの登録は可能。
2-7-1.Chose a Data Source
- Flat File Sourceを選択する。
- Code Pageは932を選択する。
- Advancedで型を設定する。
- datetime2 -> DT_DBTIMESTAMP2
その他メモ
ユーザー削除でdrop userを実行すると「存在しないか、権限がありません。」
が表示される。管理ツールでは削除可能。
参考リンク
3.MySQL
PostgreSQL
Port番号
Oracle
SQL Server
既定のインスタンスの場合は1433
MySQL
PostgreSQL
接続コマンド
Oracle
SQL Server
コマンド
sqlcmd -U <ユーザ名> -P <パスワード>
管理者ユーザ
sa
備考
切断
quit