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?

【備忘録】初心者でも安心!SQL*PlusとSQLで学ぶOracleユーザー&テーブル操作入門

Last updated at Posted at 2025-06-22

この記事を作成した経緯

Oracleデータベースを使った開発や検証を始めたいけれど、
「ユーザーの作り方が分からない」「SQL*Plusの接続ってなに?」という壁にぶつかる方は少なくありません。

この記事では、仮想マシンに構築したOracle環境に対して、
ユーザー作成・権限付与・SQL*Plusからの接続・テーブル作成まで、
実際に使えるSQLコマンドとともにやさしく解説します。

Oracle初心者の方でも、この1ページで必要な基本操作をマスターできるはずです。

この記事が想定している読者

Oracle Database 23ai Free VirtualBox Appliance で Oracle DB 23ai環境を構築している方

ユーザー関連

  • ユーザー作成
CREATE USER hoge IDENTIFIED BY hogePass
  DEFAULT TABLESPACE users
  TEMPORARY TABLESPACE temp
  QUOTA UNLIMITED ON users;
  • 権限の付与
    ①ログイン権限
GRANT CREATE SESSION TO hoge;

②開発用に便利な権限

GRANT CREATE TABLE, CREATE VIEW TO hoge;

③ロールでまとめて付与

GRANT CONNECT, RESOURCE TO hoge;

ユーザー状態の確認

  • 登録済みユーザーと状態の確認
SELECT username, account_status FROM dba_users ORDER BY username;
  • 権限を持つユーザーの確認
SELECT grantee 
FROM dba_sys_privs 
WHERE privilege = 'CREATE SESSION'
  AND grantee IN (SELECT username FROM dba_users);
  • VECTORユーザーの情報確認
SELECT * FROM dba_users WHERE username = 'VECTOR';
SELECT * FROM dba_sys_privs WHERE grantee = 'VECTOR';

テーブル作成

サンプルテーブル USER_TABLE
CREATE TABLE USER_TABLE (
  UNO   NUMBER,
  UNAME VARCHAR2(24),
  AGE   NUMBER,
  BDATE DATE
);

接続とSQL*Plus操作

  • SQL*Plusで直接接続する場合
sqlplus hoge/hogePass@localhost:1521/freepdb1
  • 接続せずにSQL*Plusを起動(後で CONNECT)
sqlplus /nolog
CONNECT hoge/hogePass@localhost:1521/freepdb1

エラーと対処メモ

エラーコード 内容と対策例
SP2-0640 未接続状態でSQLを実行 → CONNECT で接続する
ORA-01031 権限が不足している → GRANT で必要な権限を付与
ORA-01017 ユーザー名またはパスワードが不正
ORA-28000 アカウントがロック → ALTER USER ユーザー名 ACCOUNT UNLOCK;
ORA-12154 / ORA-12514 接続識別子やサービス名が不正 → lsnrctl status で確認

その他

TeraTermから下記コマンドでcommand not foundが出た場合、
環境変数でORACLE_HOMEを設定できていない可能性があります。

sqlplus /nolog

その際は下記コマンドを実行するとうまくいく場合があります。
※freepdb1をすでに作成している場合

export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree/
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=freepdb1
$ORACLE_HOME/bin/sqlplus sys@localhost:1521/freepdb1 as sysdba

またこちらの方法は毎回exportする必要があるので以下のように
Linux環境のホームディレクトリの/.bash_profileにパスを追加しておくと
毎回コマンドを打たなくて済みます。
※/.bash_profileは隠しファイルだったのでvimで編集しています。

 vi ~/.bash_profile

image.png

【参考記事】
[SQL:01]sqlplusをどこで実行する?PATHって? | Linux初心者のクラウドサーバあれこれ、AWSのちGCE

いまさら遅い?Oracle Databaseのコンテナ技術
初めてのvim【基本操作編】

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?