Oracle12cでユーザを作成する方法
2020/04/20
SQLコマンドを使用したユーザ作成
Oracle12cからマルチテナント・アーキテクチャが採用されており、以前までの手順ではユーザが作成できません。
ここではPDBに接続してユーザを作成する方法を記載します。
接続先の変更
ユーザ作成時にコンテナ・データベース(CDB)からプラガブル・データベース(PDB)に接続先を変更する必要があります。
最初に現在の接続先を確認します。
現在の接続先がCDBの場合は「CDB$ROOT」と表示されます。
sqlplus / as sysdba SQL> SHOW CON_NAME CON_NAME ------------------------------ CDB$ROOT
接続するPDBの状態を確認します。
PDB(PDB$SEED以外)の状態が「MOUNTED」と表示される場合は、PDBを起動する必要があります。
SQL> SHOW PDBS CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBORCL MOUNTED
PDBが停止している場合は、PDBを起動します。
PDBの状態が「READ WRITE」変わったことを確認します。
SQL> ALTER PLUGGABLE DATABASE <PDB名> OPEN; プラガブル・データベースが変更されました。 SQL> SHOW PDBS CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBORCL READ WRITE NO
PDBに接続先を変更します。
SQL> ALTER SESSION SET CONTAINER = <PDB名>; セッションが変更されました。 SQL> SHOW CON_NAME CON_NAME ------------------------------ PDBORCL
ユーザの作成
PDBに接続後にユーザを作成します。
SQL> CREATE USER <ユーザ名> IDENTIFIED BY <パスワード> ユーザーが作成されました。
作成したユーザに必要に応じて権限を付与します。
SQL> GRANT CONNECT, RESOURCE TO <ユーザ名>; -- CONNECTとRESOURCE権限を付与する場合 権限付与が成功しました。
Oracleにログインする
作成したユーザでPDBに接続するにはtnsnames.oraに定義を追加する必要があります。
<ネットサービス名> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <ホスト名>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <PDB名>) ) )
tnsnames.oraの編集後にOracleに接続します。
sqlplus <ユーザ名>/<パスワード>@<ネットサービス名>
Google AdSense PC
Google AdSense PC
関連記事
-
-
[SQL Server]除算時の注意点
SQLServerで除算結果が小数になる場合 たとえば、1100グラムをキロに換算する場合は「1100 / 1000」で計算すれば「1.1kg」と求められるが …
-
-
[Oracle]OracleからWebサービスを利用する方法
SOAPリクエストを送信してレスポンスを表示する 前回はOracleからWebサイトにアクセスする方法を記載しましたが、今回はOracleからSOAP形式のWe …
-
-
Oracleで文字列を全角大文字に変換する(ひらがな・カタカナの小文字(捨て仮名)対応)
Oracleの文字列検索で全角半角、大文字小文字、ひらがなカタカナを区別しないであいまい検索する場合は比較対象の文字列形式を統一する必要があります。 文字列形式 …
-
-
[SQL Server]クロス集計の方法
PIVOTを使ってクロス集計する SQL ServerでExcelのピボットテーブルのようなクロス集計をするには、PIVOT関係演算子を使って集計することができ …
-
-
Oracle12cのPDBを自動起動にする方法
Oracle12cのプラガブル・データベース(PDB)は初期設定のままでは、毎回、手動で起動させる必要があります。 この記事ではOS起動時やOracle再起動時 …
-
-
[Oracle]データベースを再構築してOracle Expressのキャラクタセットを変更する
前回の記事でCSALTERを使用したキャラクタセットの変更方法を記載しましたが、サブセットのキャラクタセットからスーパセットへの変更のみ可能でした。 この記事で …
-
-
[SQLServer]日付文字列 + 時刻文字列をDATETIME型に変換する方法
SQLServerで日付文字列 + 時刻文字列をDATETIME型に変換する方法 日付と時刻を別のカラムに格納している場合に日時データとして扱いたい場合は CO …
-
-
[Oracle]WEBサイトやWEB APIをOracleから呼び出す方法
WEBリクエストを送信してレスポンスを表示する OracleからWEBサイトやWEB APIなどのネットワークサービスを呼び出すには、UTL_HTTPパッケージ …
-
-
[SQL Server]再帰SQLで集計する
WITH(共通テーブル式)を使って集計する WITH句とは 共通テーブル式 (CTE) は、単一の SELECT、INSERT、UPDATE、DELETE、CR …
-
-
Oracle 11g XEへのデータ移行方法を検討してみる
Oracleのデータ移行時は移行元と移行先の文字コードに注意する必要があります。 Windows環境のOracleでは「JA16SJIS」や「JA16SJIST …