0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle 23c Free でユーザを作ろうとしてちょっとハマったこと

Last updated at Posted at 2025-04-20

はじめに

の続きで 23c Free を使おうとしてユーザ作成時にハマったことのご紹介です。
私と同じく特に11gまでしか利用したことが無い人のご参考になれば幸いです

前提

SQLDeveloperで接続

ホスト名:localhost
ポート:1521
SID:FREE

何をしようとしたか

ユーザを作る

CREATE USER testuser1 IDENTIFIED BY password;
GRANT CONNECT, RESOURCE TO testuser1;
GRANT UNLIMITED TABLESPACE TO testuser1;

以下エラーが発生する

CREATE USER testuser1 IDENTIFIED BY password
エラー・レポート -
ORA-65096: 共通ユーザーまたはロール名は、接頭辞C##で始める必要があります

https://docs.oracle.com/error-help/db/ora-65096/65096. 00000 -  "common user or role name must start with prefix %s"
*Cause:    An attempt is being made to create a common user or role without
           the correct prefix as specified in the COMMON_USER_PREFIX
           parameter.
*Action:   Specify a valid common user or role name with the correct prefix.
*Params:   1) common_user_prefix
           parameter.

エラーメッセージ

なんだと?8i,9i,10g,11gまでしか使ったことない自分は、こんなユーザ名のルールは聞いたことが無い。

ORA-65096: 共通ユーザーまたはロール名は、接頭辞C##で始める必要があります

少し調べると

12cからのマルチテナント・アーキテクチャで、CDB(コンテナデータベース)にユーザを作成しようとしているらしい。

しかも、

マルチテナント・アーキテクチャはOracle Database 12cから出てきた機能になり、次のLong Term ReleaseであるOracle Database 23cでは必須構成(従来型のデータベースはサポート対象外)になります。

とのこと。

なんだと?23cはマルチテナント・アーキテクチャしかない?

ノート:マルチテナント・コンテナ・データベースは、Oracle Database 21cでサポートされる唯一のアーキテクチャです。ドキュメントが改訂されている間は、従来の用語が残っている可能性があります。ほとんどの場合、「データベース」と「非CDB」は、コンテキストに応じてCDBまたはPDBを指しています。アップグレードなどの一部のコンテキストでは、「非CDB」が以前のリリースの非CDBを指しています。

とのこと。

21cからマルチテナント・アーキテクチャのみなのか。
だいぶ時代の流れから取り残されていたと実感。

とりあえず、11gのようにユーザを作るには?

PDB(プラガブル・データベース)に接続して、ユーザを作れば良さそう。

どうやって、PDBに接続するのか?というと、

を見ると

sqlplus sys@localhost:1521/FREEPDB1 as sysdba

とすると FREEPDB1 と思いきや、接続できず。

ホスト名:localhost
ポート:1521
SID:FREEPDB1

image.png

SIDじゃなくて、サービス名か!?というところで、試したら接続できた!

ホスト名:localhost
ポート:1521
サービス名:FREEPDB1

image.png

あらためてユーザ作成

無事に作成完了。

User TESTUSER1は作成されました。


Grantが正常に実行されました。


Grantが正常に実行されました。

あらためて結論

21c以降、マルチテナント・アーキテクチャ(12cからの機能)というものがスタンダードになっているようなので、11gまでしか利用したことが無い人はご注意を。

とはいえ、CDBにユーザを作ってみたくなったので、今度作ってみたいと思います。
あと、起動とか停止とかも11gまでしか知らない自分としては興味津々。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?