[Oracle]データベースインスタンス、テーブルスペース、ユーザー、およびテーブル間の関係

完全なOracleデータベースは通常、Oracleデータベースとデータベースインスタンスの2つの部分で構成されます。
1)データベースは、一連の物理ファイル(データファイル、制御ファイル、オンラインログ、パラメータファイルなど)のコレクションです
。2)Oracleデータベースインスタンスは、割り当てられたOracleバックグラウンドプロセス/スレッドと共有メモリ領域のセットです。サーバー上。

Oracleデータベースサーバーが起動すると、実際にはサーバーのメモリにOracleインスタンスが作成され(つまり、共有メモリがサーバーメモリに割り当てられ、関連するバックグラウンドメモリが作成されます)、Oracleデータベースインスタンスを使用してアクセスと制御が行われます。ディスクファイル内のデータ。Oracleには大きなメモリブロックがあり、グローバルエリア(SGA)になります。

1つ、データベース、テーブルスペース、データファイル

1.データベース

データベースはデータのコレクションです。Oracleは、データベース管理システムであり、リレーショナルデータベース管理システムです。
通常、「データベース」と呼ばれるものは、物理データの収集だけでなく、物理データとデータベース管理システムも含みます。つまり、物理データ、メモリ、およびオペレーティングシステムプロセスの組み合わせです。

Oracleデータベースをインストールするとき、以下に示すように、データベース(つまり、デフォルトのグローバルデータベース)をインストールして起動することを選択できます。



グローバルデータベース名:データベースの識別情報です。インストール時に考慮する必要があります。通常、今後変更されることはありません。データベースをインストールすると、データベース名が書き込まれるため、変更が面倒です。制御ファイル、データベーステーブル、そしてそれは多くの場所で使用されますこのデータベースの名前。

データベースを起動します。グローバルデータベースとも呼ばれ、データベースシステムの入り口であり、SYS、SYSTEMなどの高度な権限を持つ組み込みユーザーがいます。これらの高レベルの特権アカウントでログインすることにより、データベースインスタンスにテーブルスペース、ユーザー、およびテーブルを作成できます。

現在のデータベース名を照会します。

select name from v$database;

2.データベースインスタンス

Oracleの公式説明を使用すると、インスタンスは、Oracleデータベースにアクセスするために必要なコンピュータメモリおよび補助処理のバックグラウンドプロセスの一部であり、これらのプロセスによって使用されるプロセスとメモリ(SGA)のコレクションです。
実際、これはデータベースにアクセスして使用するために使用されるプロセスであり、メモリ内にのみ存在します。Javaの新しいインスタンスオブジェクトと同じように。

Oracleにアクセスすると、インスタンスにアクセスしていますが、このインスタンスがデータベースファイルに関連付けられている場合はアクセスできます。関連付けられていない場合は、インスタンス使用不可エラーが発生します。

インスタンス名は、特定のデータベース操作に応答するために使用されるデータベース管理システムの名前を指し、SIDとも呼ばれます。インスタンス名は、パラメータinstance_nameによって決定されます。

現在のデータベースインスタンスの名前をクエリします。

select instance_name from v$instance;

データベースインスタンス名(instance_name)は、外部に接続するために使用されます。オペレーティングシステムのデータベースとの接続を取得するには、データベースインスタンス名を使用する必要があります。たとえば、開発のためにデータベースに接続する場合は、データベースインスタンス名に接続する必要があります。

jdbc:oracle:thin:@localhost:1521:orcl(orclはデータベースインスタンス名です)

データベースには複数のインスタンスを含めることができ、データベースサービスクラスターを作成するときに使用できます。

3.表スペース

Oracleデータベースは、テーブルスペースを介して物理テーブルを格納します。データベースインスタンスにはN個のテーブルスペースを含めることができ、テーブルスペースにはN個のテーブルを含めることができます

データベースを使用すると、表スペースを作成できます。

テーブルスペース(テーブルスペース)はデータベースの論理的な区分であり、各データベースには少なくとも1つのテーブルスペース(SYSTEMテーブルスペースと呼ばれます)があります。管理を容易にし、運用効率を向上させるために、いくつかの追加の表スペースを使用して、ユーザーとアプリケーションを分割することができます。例:USER表スペースは一般ユーザー用であり、RBS表スペースはロールバック・セグメント用です。表スペースは、1つのデータベースにのみ属することができます。

テーブルスペース構文を作成します。

Create TableSpace 表空间名称  
DataFile          表空间数据文件路径  
Size              表空间初始大小  
Autoextend on

といった:

create tablespace db_test  
datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'  
size 50m  
autoextend on;

作成された表スペースを表示します。

select default_tablespace, temporary_tablespace, d.username  
from dba_users d

4.ユーザー

Oracleデータベースの構築後、データベースに表を作成する場合は、最初にデータベースのユーザーを作成し、そのユーザーの表スペースを指定する必要があります

上記のデータベースとテーブルスペースを構築し、ユーザーを作成しました。

新しいユーザーを作成します。

CREATE USER          用户名  
IDENTIFIED BY        密码  
DEFAULT TABLESPACE   表空间(默认USERS)  
TEMPORARY TABLESPACE 临时表空间(默认TEMP) 

といった:

CREATE USER utest  
IDENTIFIED BY utestpwd  
DEFAULT TABLESPACE db_test  
TEMPORARY TABLESPACE temp;(这里临时表空间不能使用我们创建的db_test,不知为何?) 

ユーザーの場合、ユーザーアカウントを使用してテーブルスペースを管理する場合は、次の権限をユーザーに付与する必要があります。

GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。

データベースユーザーの表示:

select  * from dba_users;

5.表

データベース、表スペース、およびユーザーを使用すると、カスタム・ユーザーを使用して独自の表スペースに表を作成できます。テーブルで開発できます。

参考記事

https://www.cnblogs.com/adforce/p/3312252.html

おすすめ

転載: blog.csdn.net/xiaoxiao_su123/article/details/114265414