1. 程式人生 > >oracle的em控制面板啟動以及imp匯入資料

oracle的em控制面板啟動以及imp匯入資料

開啟oracle database 控制面板(oracle enterprise manager)

1:先檢查自己的環境變數設定包括了ORACLE_HOME,ORACLE_SID已經設定

linux中3個儲存環境變數位置/etc/profile,使用者目錄~/.bash_profile(一般資料庫的配置都是在這裡,自己確定好資料庫操作的使用者,root使用者的使用者目錄是/root,其他使用者都是在/home/使用者名稱下),export 變數名 = 變數值 在當前shell和其子shell中有效,當關閉shell,變數失效。

windows檢視登錄檔,local_machine/software/oracle/key_oracle確定存在ORACLE_HOME,ORACL_SID變數,在環境變數也必須有

2:確定ORACLE_HOME/bin目錄包括在$PATH變數中,以便使用oracle的命令

3:啟動oracle em(em在ORACLE_HOME/bin目錄下的指令碼檔名是emctl)start status stop

輸入命令./emctl start dbconsole

如果通過shell連線伺服器的話一定要跳轉到$ORACLE_HOME/bin目錄下才可以啟動emctl

4:這樣就可以通過https訪問了(注意不是http是https)

埠預設是1158可以自己檢視$ORACLE_HOME/install/portlist.ini檔案

或者$ORACLE_HOME/自己定義的ORACLE_SID名稱/sysman/config/emd.properties

(這個資料夾不一定存在)

5:連線成功後登陸時需要賬戶密碼,這裡的賬戶和密碼就是在建立資料庫的時候自己建立的資料庫使用者和密碼(這個使用者一定要控制面板的操作許可權才可以訪問,實在不行就用SYSTEM訪問,預設SYSTEM是擁有所有許可權的)

6:em可以登陸了,但是備份的資料還沒有匯入,(匯出部分先不涉及),成功從原資料庫中獲取dmp資料檔案後,想辦法把資料檔案放入伺服器中,我一般是用自作一個數據下載連結(http,https,ftp都可以)通過wget下載到伺服器中,最好將備份資料檔案儲存在$ORACLE_HOTM/rdbms/log目錄下。

在wget進行自動下載檔案時,(可能會有不能解釋目標地址的錯誤,那是因為伺服器的網路配置沒有配置域名解析dns,通過修改/etc/resolv.conf檔案新增或修改nameserver dnsIP地址,獲取支援)

7:oracle的基本匯入,一般通過匯出獲得的是dmp檔案,dmp檔案已經包括了

資料表的定義

型別定義

資料表資料

表索引

完整性約束,觸發器,程式

點陣圖,域索引(這都是神馬啊,頭一聽說資料檔案中竟然還有點陣圖和域索引,不知所云啊)

匯入之前,先確定自己建立的資料庫是通過DBCA建立的還是手動建立的,手動建立的資料庫有先執行起來creatxp.sql或者catalog.sql(主要工作:建立必要的匯入檢視到資料字典中;建立EXP_FULL_DATABASEIMP_FULL_DATABASE角色;分配EXP_FULL_DATABASE和 IMP_FULL_DATABASE 角色必要的許可權;分配EXP_FULL_DATABASE和 IMP_FULL_DATABASE到DBA角色;記錄安裝的catexp.sql的版本號)

匯入表結構需要的許可權

Privileges Required to Import Objects into Your Own Schema

Object Required Privilege (Privilege Type, If Applicable)

Clusters

CREATE CLUSTER (System) or UNLIMITED TABLESPACE (System). The user must also be assigned a tablespace quota.

Database links

CREATE DATABASE LINK (System) and CREATE SESSION (System) on remote database

Triggers on tables

CREATE TRIGGER (System)

Triggers on schemas

CREATE ANY TRIGGER (System)

Indexes

CREATE INDEX (System) or UNLIMITED TABLESPACE (System). The user must also be assigned a tablespace quota.

Integrity constraints

ALTER TABLE (Object)

Libraries

CREATE ANY LIBRARY (System)

Packages

CREATE PROCEDURE (System)

Private synonyms

CREATE SYNONYM (System)

Sequences

CREATE SEQUENCE (System)

Snapshots

CREATE SNAPSHOT (System)

Stored functions

CREATE PROCEDURE (System)

Stored procedures

CREATE PROCEDURE (System)

Table data

INSERT TABLE (Object)

Table definitions (including comments and audit options)

CREATE TABLE (System) or UNLIMITED TABLESPACE (System). The user must also be assigned a tablespace quota.

Views

CREATE VIEW (System) and SELECT (Object) on the base table, orSELECTANYTABLE (System)

Object types

CREATE TYPE (System)

Foreign function libraries

CREATE LIBRARY (System)

Dimensions

CREATE DIMENSION (System)

Operators

CREATE OPERATOR (System)

Indextypes

CREATE INDEXTYPE (System)


匯入grands要的特權(這是使用者組嗎?)

呼叫import方法:

(在使用這些方法前最好設定匯入引數BUFFER決定了要匯入的陣列的行數

buffer_size = rows_in_array * maximum_row_size設定規則是,buffer_size必須足夠大可以包括所有行,如果buffer不能包含資料表中的最大行,import時會分配最大可用buffer
)

1.進入命令列(終端)

在進行匯入dmp檔案的時候,如果是完整的匯入是會把objects,packages,functions,tables,users,roles...統統匯入進去,在pl/sql中可以看到的那些資料夾都不會落下的,匯入操作的時候可以選擇引數控制那些要匯入,那些不要匯入。

imp PARAMETER=(value1,value2,...,valuen)引數個數不能超過命令列最大行數
commit default:(coomit:n)
判斷是否需要在每次更新資料後立即commit,預設只有在一張表insert完成後才進行提交,當遇到錯誤後回滾。commit=y後沒插入一條就會提交
compile default:(compile:y)
再匯入的時候是否在建立packages, procedures, and functions的時候一併編譯。
constraints default:(constraints:y)
匯入的時候死否匯入約束,主鍵約束和物件表不管怎麼設定都是要被匯入的
data_only default:(data_only:n)
當設定data_only=y後,只能匯入data,元資料metadata是不能被匯入的
datafiles default:(datafiles:none)
當TRANSPORT_TABLESPACE設定y後,使用datafiles引數可以列出傳輸到資料庫的資料檔案
destroy default:(destroy:n)
DESTROY=y導致匯入的資料表存在原始資料庫時,刪除原有資料才會匯入
feedback default:(feedback:0)
FEEDBACK=10將會在沒匯入10行資料後進行一次回顯
file default(file:expdat.dmp)
待匯入的檔名,可以是多個檔案file1,file2
filesize default(是作業系統的設定而定)
filesize:2kb等同於filesize:2048.用於表示匯出時最大檔案
fromuser default(fromuser:none)
只能是IMP_FULL_DATABASE角色的使用者,在匯入操作的時候一定要指定touser,否則就會報錯,如果沒有指定touser
full default(full:y)
是否匯入完整的dmp檔案
grants default(grants:y)
是否匯入物件授權
help default(help:none)
help=y將會呼叫顯示匯入操作的引數描述
ignore default(ignore:n)
指定資料表建立失敗的操作,ignore:n回顯錯誤,
indexes default(indexes:y)
是否匯入索引
indexfile default(indexfile:none)
指定一個檔案建立索引宣告
log default(log:none)
指定一個日誌檔案接受錯誤和訊息
parfile defalult(parfile:none)
指定一個檔案包括匯入操作引數
recordlength default(作業系統設定)
指定記錄檔案的記錄長度
resumable default(resumable:n)
指定是否可以恢復分配空間
resumable_name default(resumable_name:User USERNAME (USERID), Session SESSIONID, Instance INSTANCEID)
resumable_timeout 錯誤需要被處理的時間段
和恢復分配空間有關
rows default(rows:y)
rows:n所有匯入的表將會在匯入完成後鎖住
show default(show:n)
只能和FULL=y, FROMUSER, TOUSER, or TABLES其他引數一起使用
還有幾個(煩)



2.引數檔案

將引數和value儲存到檔案中,不同的資料庫儲存不同的引數檔案

PARAMETER=(value1, value2, ...)確定
引數檔案的部分內容
FULL=yFILE=dba.dmpGRANTS=yINDEXES=yCONSISTENT=y

3.互動模式

linux中訪問oracle:

sqlplus 工具

sqlplus /nolog不連線任何資料庫;

資料庫啟動:

$ sqlplus "/as sysdba"進入到資料庫中

SQL> startup啟動資料庫

SQL> shutdown關閉資料庫