データのインポートおよびエクスポート操作の有無にかかわらず、oracleデータベース

記事の最後をご覧ください。インポートとエクスポートの最も完全なコマンドがあり、必要に応じて最後まで直接スライドしてピックアップできます。

人気のある厳選された記事、より技術的な乾物、WeChatは公開アカウント[Laughing Architect]を検索し、番号「666」に返信し、無料の技術情報をたくさん入手します。これらはすべてクラシックのクラシックです。

1つは、Oracleデータベースのいくつかの概念を理解する

  • 1つのデータベース-複数のデータベースインスタンス(ここと次の「-」は対応する意味です)
  • データベースインスタンス-複数のテーブルスペース(テーブルスペースはデータベースの論理的な分割であり、各データベースには少なくとも1つのテーブルスペースがあります)
  • 1つのテーブルスペース-複数のテーブル

データベースの作成には、テーブルスペース->ユーザー->ユーザー権限->テーブルの順序があります。

2.エクスポート操作(次の操作に従ってエクスポート)

1.テーブルの構造とデータをエクスポートします。

expdpSCHEMAディレクトリに対応するSCHEMA名/パスワード= tmp_dirdumpfile = file0921.dmp logfile = result.log FULL = Y

// tmp_dirはエクスポートされたディレクトリであるため、事前に作成する必要があります。作成後、エクスポートされたファイルfile0921.dmpはディレクトリ/ oracle / tmp_dirの下にあります。

// SCHEMAは対応するライブラリの名前であり、oracleは複数のSCHEMAを持つことができ、エクスポートとインポートは別々に実行する必要があります

または、データなしでテーブル構造をエクスポートします

expdpSCHEMAディレクトリに対応するSCHEMA名/パスワード= tmp_dirdumpfile = file0921.dmp logfile = result.log owner = user name rows = n;

2.テーブルスペースを作成します

テーブルスペースTS_NPFDBロギングデータファイル '/oradata/directory/npfdb01.dbf'を作成します。サイズ2Gは、次の5G最大サイズ30Gエクステント管理ローカルで自動拡張します。

//ここではディスクのサイズに応じて設定する必要があり、後の調整によるトラブルを避けるためにテーブルスペースをできるだけ大きく設計する必要があります

3.ユーザーを作成します 

CREATEUSER用户名IDENTIFIEDBY密码DEFAULTTABLESPACE "TS_NPFDB" TEMPORARY TABLESPACE "TEMP";

ユーザー名に「DBA」を付与します。

ユーザー名に「接続」を付与します。

ユーザー名に「リソース」を付与します。

//作成するユーザー名とそれに対応するパスワードをユーザー名とパスワードの代わりに置き換えます

3.インポート操作(以下の操作でインポート)

1.インポートを実行するマシンにデータベースファイルをコピーします

scpコマンドを使用して、エクスポートされたfile0921.dmpをインポートする必要のあるマシンのoracleディレクトリにコピーします。このscpは、エクスポートされたマシンで実行することも、インポートするマシンで実行することもできます。それができない場合は、メッセージを残してください。

2.データファイルに実行権限を付与します

chmod 775 NETPAY20200811.dmp

3.インポート操作を実行します

impdpユーザー名/パスワードDIRECTORY = dpdata1 DUMPFILE = file0921.dmp SCHEMAS = SCHEMA名;

 第4に、データベースのエクスポートおよびインポート操作でコマンドリストを使用できます

  • 既存のテーブルスペースを表示するコマンド:dba_data_filesからfile_id、tablespace_nameを選択します。
  • 既存のテーブルスペースコマンドを削除します。コンテンツとデータファイルのカスケード制約を含むテーブルスペースTS_DATA_NPFBKを削除します。
  • 既存のユーザーとパスワードを表示するコマンド:dba_usersからユーザー名とパスワードを選択します。
  • 既存のユーザーを削除するコマンド:drop user usernamecascade;
  • sqlでimportpathコマンドを作成し、ディレクトリdpdata1を「/ oracle」として作成または置換します。
  • sqlで、import userpermissionコマンドにgrantread、write on directorydpdata1をusernameに与えます。
  • ユーザーの下にあるすべてのテーブル名を表示します。selecttable_namefromall_tables where owner = 'username';
  • すべてのユーザーとそれに対応するテーブルスペースを表示し、dba_usersからusername、default_tablespaceを選択します。
  • すべてのテーブルスペースに対応するデータファイルを表示します。dba_data_filesからtablespace_name、file_nameを選択します。
  • テーブルスペースの場所を表示しますselect * from dba_data_files WHEREtablespace_name = 'TS_DATA_NPFBK';
  • テーブルスペースのサイズを再定義します。テーブルスペースTS_DATA_NPFBKのサイズを5Gに変更します。
  • データファイルサイズの変更データベースデータファイルの変更 '/oradata/directory/npfbk01.dbf' RESIZE 4G;
  • データファイルを変更して自動的に拡大し、データベースデータファイル '/oradata/directory/npfbk02.dbf'を次の10G最大サイズ15Gで自動拡張します
  • データファイルの数を増やすテーブルテーブルを変更するTS_DATA_NPFBKデータファイルを追加する '/oradata/directory/npfbk02.dbf'サイズ5G;
  • 表領域の変更TS_NPFDBデータファイルの追加 '/oradata/directory/npfdb02.dbf'サイズ10G;
  • データベースインスタンスのステータスを表示するselectinstance_name、status from v $ instance;
  • すべてのスキーマが占めるスペースのサイズを照会します

//消費されたディスクスペースの合計(インデックス、テーブルスペースの空きスペースを含む)、ユニットG

所有者ごとにsys.dba_segmentsグループから所有者sum(bytes)/ 1024/1024 / 1024schema_size_gigを選択します。

  • テーブルスペース使用サイズ

select d.tablespace_name、d.totalSize-f.freeSize "Used space(M)"

から

((

    SELECT DD.TABLESPACE_NAME、ROUND(SUM(DD.BYTES)/(1024 * 1024)、2)totalSize

    FROM SYS.DBA_DATA_FILES DD

    DD.TABLESPACE_NAMEによるグループ化

)d、

((

    SELECT TABLESPACE_NAME、

           ROUND(SUM(BYTES)/(1024 * 1024)、2)freeSize

    SYS.DBA_FREE_SPACEから

    GROUP BY TABLESPACE_NAME

)f

ここで、d.TABLESPACE_NAME = f.TABLESPACE_NAME

  • すべてのスキーマを照会する

//ユーザー(user)はスキーム(schema)に対応します

sys.dba_usersからユーザー名を選択します

  • shemaの下のすべてのテーブルをクエリします

sys.dba_tablesからtable_nameを選択します。owner= 'schema名';

すべてのスキーマとそれらが属するすべてのテーブルをクエリします

sys.dba_usersからs.username "schema"、t.table_name "table_name"を選択します。s.username= t.ownerのs.usernameascによる順序でsys.dba_tablestに左結合します。

  • 指定されたスキーマの各segment_typeが占めるスペースを照会します

sum(bytes)/ 1024/1024/1024をsize_in_gig、segment_typeとしてdba_segmentsから選択します。owner= 'SCOTT'はsegment_typeでグループ化します。

  • ドロップテーブルの後、スペースを再利用できない場合は、次のステートメントを実行する必要があります

現在のユーザーのリサイクルビンをクリアします。purgerecyclebin;

すべてのユーザーのリサイクルビンをクリアします。purgedba_recyclebin;

  • テーブルスペースを指定して、所属するテーブル名を照会します

Tablespace_Name = 'USERS'であるDba_TablesからTable_Name、Tablespace_Nameを選択します。

  • テーブルスペースを指定して、テーブルの占有スペースを照会します

select segment_name、bytes / 1024 || 'KB' "スペースを占有します"

user_segmentsから

ここで、segment_type = 'TABLE'およびtablespace_name = 'USERS'は、segment_nameascで並べ替えます。

  • 合計サイズ、使用済み、アイドルを含む、テーブルスペースのスペース使用量を表示します

a.tablespace_nameを選択し、

       a.bytes / 1024/1024 "Sum MB"、

       (a.bytes-b.bytes)/ 1024/1024 "使用済みMB"、

       b.bytes / 1024/1024「空きMB」、

       round(((a.bytes-b.bytes)/ a.bytes)* 100、2) "percent_used"

  from(selecttablespace_name、sum(bytes)bytes

          dba_data_filesから

         表領域名でグループ化)a、

       (tablespace_name、sum(bytes)bytes、max(bytes)最大を選択

          dba_free_spaceから

         表領域名でグループ化)b

 ここで、a.tablespace_name = b.tablespace_name

 順序((a.bytes-b.bytes)/ a.bytes)desc;

  • ファイルサイズdu-hmobile01.dbfをわかりやすい単位で表示します  

[笑うアーキテクト]プログラマー自身のサークルに所属し、WeChatのQRコードをスキャンしてフォローし、初めてより技術的な乾物を手に入れましょう!

おすすめ

転載: blog.csdn.net/guoguo527/article/details/108725876