オラクルの一般的に使用される指示(自己組織化)

Oracleデータベースログイン:sysdbaとしてのsqlplus system / 123456;

sqlplus sys / 123456 @ ipアドレス:1521 / orcl as sysdba

   

ユーザーの切り替え:conn dsjjg / 123456 as sysdba;

ユーザーの作成:123456で識別されるユーザーdsjjgを作成します。

パスワードの変更:1234567で識別されるユーザーdsjjgを変更します。

ユーザーの削除:ユーザーdsjjgを削除します。

ユーザーとオブジェクトを削除します。ユーザーdsjjgカスケードを削除します。

許可された役割のアクセス許可:接続リソースdbaをdsjjgに付与します。

ログイン権限のみを付与する:wzwzに作成セッションを付与する

 

  1.  接続、リソース  デモに付与します。  
  2. 付与 作成 任意の 順序  デモを。  
  3. 付与 作成 任意の テーブル への デモを。  
  4.   デモするテーブル削除する ことを 許可します。   
  5.   デモに任意のテーブル挿入する ことを 許可します。   
  6.   デモするテーブル選択する ことを 許可します。   
  7.  デモに 無制限のテーブルスペース付与します 。  
  8.   デモの手順実行する ことを 許可ます。   
  9. 許可 更新 の任意 のテーブル  デモを。  
  10. 付与 作成 任意の ビュー への デモを。  

 

 

権限を取り消す:接続リソースdbaをdsjjgに取り消します。

 

監視を開始しますlsnrctl start

モニターの表示:lsnrctl status

リスニングを停止しますlsnrctl stop

データ出力:

  1データベースTEST完全エクスポートユーザー名システムパスワードマネージャーのDへのエクスポート:\ daochu.dmp

  exp system / manager @ TEST file = d:\ daochu.dmp full = y

 

  2データベースシステムユーザーsysテーブル派生ユーザー

  exp system / manager @ TEST file = d:\ daochu.dmp owner =(system、sys)

 

  3テーブルtable1table2をデータベースにエクスポートします

  exp system / manager @ TEST file = d:\ daochu.dmp Tables =(table1、table2)

 

  4データベーステーブルtable1フィールドfiled1から"00"エクスポートデータはで始まります

  exp system / manager @ TEST file = d:\ daochu.dmp Tables =(table1)query = \ "where filed1 like '00% '\"

 

  上記は一般的にエクスポートに使用されます。圧縮は気にしません。winzip使用ファイルの圧縮dmpすると非常に効果的です。

  しかしながら、上記のコマンドに後で 追加圧縮を= Yそれ

 

  データのインポート

  1からD:\ daochu.dmpデータインポートTESTデータベース。

  imp system / manager @ TEST file = d:\ daochu.dmp

 

  一部のテーブルがすでに存在しているため、上記に問題がある可能性があります。その後、エラーが報告され、テーブルがインポートされません。

  最後にignore = y追加するだけです。

 

  2になります\ daochu.dmpの:DテーブルTABLE1導入します

  imp system / manager @ TEST file = d:\ daochu.dmp Tables =(table1)

 

  基本的には、上記のインポートとエクスポートで十分です。多くの場合、テーブルを完全に削除してからインポートします。

 

  注意:

  十分な権限が必要です。権限が十分でない場合はプロンプトが表示されます。

  データベースに接続できます。tnsping TEST使用してデータベースTESTを接続できるかどうかを取得できます

 

付録I:

 ユーザーにデータ権限をインポートする操作を追加します

 まずsql * pulsを開始します

 次に、システム/マネージャーログインます

 3番目に、ユーザーIDENTIFIED BYパスワードを 作成します(ユーザーが既に作成されている場合、この手順は省略できます)

 第4章、GRANT CREATE USER、DROP USER、ALTER USER、CREATE ANY VIEW、

   任意のビューを削除、EXP_FULL_DATABASE、IMP_FULL_DATABASE、

      DBA、CONNECT、RESOURCE、CREATE SESSIONTOユーザー名 

 5番目に-cmd-を実行してdmpファイルが配置さいるディレクトリ入ります。 

      imp userid = system / manager full = y file = *。dmp

      またはユーザーimpuserid = system / manager full = y file = filename.dmp

 

インデックスの作成

テーブルの列にプライマリキー制約と一意の制約がある場合、Oracleは対応する制約列に一意のインデックスを自動的に提案します。データベースインデックスは、主にアクセス速度を向上させるために使用されます。

インデックス作成の原則:

 1.インデックスは、Where句で頻繁に使用される列に基づいて作成されることがよくあります。大きなテーブルがクエリに特定のフィールドを頻繁に使用し、取得された行の数がテーブルの合計行の5%未満である場合。考慮する必要があります。

 2. 2つのテーブル間で接続されているフィールドについては、インデックスを確立する必要があります。Order Byがテーブルのフィールドで頻繁に実行される場合は、インデックスも付けられます。

 3.インデックスは小さなテーブルに作成しないでください。

長所と短所:
 1。インデックスは、主にデータクエリの速度を向上させるために使用されます。DMLを実行すると、インデックスが更新されます。したがって、インデックスが多いほど、インデックスを維持する必要があるDMLが遅くなります。したがって、インデックスの作成とDMLの間にはトレードオフがあります。

インデックスの作成:
 単一インデックス:インデックスの作成<Index-Name> On <Table_Name>(Column_Name);

 複合インデックス:emp(deptno、job);にインデックスi_deptno_jobを作成します。—> empテーブルのdeptno列とjob列にインデックスを作成します。

  select * from emp where deptno = 66 and job = 'sals'->走歪。

  select * from emp where deptno = 66 OR job = 'sals'->フルテーブルスキャンが実行されます。インデックスなし

  * from emp where deptno = 66-> goindexを選択します。

  select * from emp where job = 'sals'->インデックスなしでテーブル全体のスキャンを実行します。

  where句にOR演算子がある場合、またはJob列(インデックス列の後半の列)への個別の参照がある場合、インデックスは取得されず、テーブル全体のスキャンが実行されます。

 

 

おすすめ

転載: blog.csdn.net/qq_37823979/article/details/82982677