記事の最後をご覧ください。インポートとエクスポートの最も完全なコマンドがあり、必要に応じて最後まで直接スライドしてピックアップできます。
人気のある厳選された記事、より技術的な乾物、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コードをスキャンしてフォローし、初めてより技術的な乾物を手に入れましょう!