ホームページ php教程 PHP开发 Oracle によるユーザーとテーブルスペースの削除の詳細な紹介

Oracle によるユーザーとテーブルスペースの削除の詳細な紹介

Jan 06, 2017 am 11:37 AM

Oracle はユーザーとテーブルスペースを削除します

Oracle は長い間使用されてきたため、多くの新しいユーザーとテーブルスペースが追加されており、クリーンアップする必要があります

単一のユーザーとテーブルスペースの場合は、次のコマンドを使用できます。完了。

ステップ 1: ユーザーの削除

drop user ×× cascade
ログイン後にコピー

説明: ユーザーを削除すると、ユーザーの下のスキーマ オブジェクトのみが削除され、対応するテーブルスペースは削除されません。

ステップ 2: テーブルスペースを削除する

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
ログイン後にコピー

ただし、開発環境用のデータベースであるため、クリーンアップする必要があるユーザーおよびテーブルスペースが多数あります。

アイデア:

DB 内のすべてのユーザーとテーブルスペースをエクスポートし、システムと有用なテーブルスペースをフィルターで除外し、有用な情報をテーブルにロードします。次に、有用なテーブルにないテーブルスペースを削除するルーチン ループを作成します

1. dba_users から username,default_tablespace を選択します。

2.

create table MTUSEFULSPACE
(
  ID Number(4) NOT NULL PRIMARY KEY,
  USERNAME varchar2(30),
  TABLESPACENAME varchar2(60),
  OWNERNAME varchar2(30)
);
ログイン後にコピー

がロックされているようです。 。

方法はありません。ルーチンを書くことはできないので、ステートメントを作成して実行することしかできません。

削除する必要があるユーザーとテーブルスペースを Excel にエクスポートします。CONCATENATE を使用して SQL を作成します。


バッチ実行のために SQLdevelop にポストします。

100 人を超えるユーザーの場合、全体の削除には時間がかかります。

データファイルの特定の場所を見つけたい場合は、

declare icount number(2);
    tempspace varchar2(60);
begin
 for curTable in (select username as allusr,default_tablespace as alltblspace from dba_users)
 loop
 tempspace :=curTable.alltblspace;
 dbms_output.put_line(tempspace);
 select count(TABLESPACENAME) into icount from MTUSEFULSPACE where TABLESPACENAME = tempspace;
 if icount=0 then
  DROP TABLESPACE tempspace INCLUDING CONTENTS AND DATAFILES;
 end if;
 commit;
 end loop;
end;
ログイン後にコピー


SQL コード

-- 空の表スペースを削除しますが、物理ファイルは含まれません

ORA-06550: 第 10 行, 第 5 列:
PLS-00103: 出现符号 "DROP"在需要下列之一时:
 begin case declare exit
  for goto if loop mod null pragma raise return select update
  while with <an identifier>
  <a double-quoted delimited-identifier> <a bind variable> <<
  close current delete fetch lock insert open rollback
  savepoint set sql execute commit forall merge pipe
06550. 00000 - "line %s, column %s:\n%s"
*Cause:  Usually a PL/SQL compilation error.
*Action:
ログイン後にコピー


--空ではない表領域を削除しますが、物理ファイルは含まれません

select t1.name,t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;
ログイン後にコピー

--空の表領域を削除します。物理ファイルが含まれます

drop tablespace tablespace_name;
ログイン後にコピー

--空ではない表領域を削除します(物理ファイルが含まれます)ファイル

drop tablespace tablespace_name including contents;
ログイン後にコピー

-- 他のテーブルスペースのテーブルに、このテーブルスペースのテーブルのフィールドに関連付けられた外部キーやその他の制約がある場合、CASCADE CONSTRAINTS を追加する必要があります

drop tablespace tablespace_name including datafiles;
ログイン後にコピー
読んでいただきありがとうございます, 皆さんのお役に立てれば幸いです、皆さんコメントありがとうございます このサイトからのサポート!

ユーザーとテーブルスペースの削除に関する詳細な Oracle 関連記事については、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)