⑴ win8 怎麼在dos命令行中執行 oracle
CMD(命令提示符)對一些用戶而言,使用頻率非常高,而且需要是以管理員身份啟動。其實我們可以設置默認以管理員身份啟動CMD,我們來看看Win8下如何操作。 操作步驟 第一步、在桌面右鍵新建文本文件,復制以下代碼到記事本中。 reg add "HKEY_CURRENT_USERSoftwareMicrosoftWindows " /v "c:windowssystem32cmd.exe" /d "RUNASADMIN" /f Win8默認以管理員身份啟動CMD的方法 第二步、點擊文件菜單,選擇“另存為”,在另存為對話框,將保存類型設置成“所有文件”,然後將文件命名為“CMD.BAT”。 第三步、在桌面右鍵單擊CMD.BAT文件,菜單中選擇“以管理員許可權運行”,操作完成後,試一下在運行中執行CMD命令,是不是打開就是管理員:C:windowssystem32cmd.exe界面了? 相信這個簡單的操作過程對多數用戶不成問題,對CMD有較高使用需求的用戶可以趕緊設置起來。
⑵ Oracle創建刪除導入導出命令行總結
說明:
在創建資料庫時輸入的密碼,是修改系統默認的密碼,以system和sysman等系統默認身份登錄時要輸入的密碼就是修改後的密碼(創建資料庫時輸入的密碼)
如果要創建游或新的用戶就必須以system或者sysman(這二者的許可權最大)的身份登錄後才可創建
創建用戶格式:create user 用戶名 identified by 密碼(例如:create user cht identified by cht;)
創建完成後,必須分配許可權,否則連不上資料庫和sqlplus。
因此要做:grant connect,resource,dba to cht;這樣資料庫就可以通過cht/cht連上了。那些select,update,delete,insert的許可權就不必分配了,因為每個用戶默認都有這些基本許可權。
命令行方式連接資料庫的方法:
開始==》運行==》cmd
方式一:
輸入sqlplus,回車
輸入用戶名: system,回車
輸入密碼: orcl,回車
方式二:
輸入sqlplus system/orcl@orcl,回車(system是用戶名,orcl是密碼,@後面的orcl是庫的名字)
(資料庫安裝完成後,有兩個系統級的用戶神激伍 :
1) system 默認密碼為 :manager
2) sys 默認密碼為 :change_on_install)
創建用戶前必須要先建好臨時表空間和數據表空間兩個表空間,否則用系統默認的表空間不好。
//創建臨時表空間
create temporary tablespace zfmi_temp tempfile 'D:oracleoradatazfmizfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
說明:
1、zfmi_temp 表空間的名字
2、鉛春D:oracleoradatazfmi 存放資料庫文件的地方,一般是安裝資料庫後有控制文件,數據文件和日誌文件的文件夾,再加上要創建表空間的名字+dbf(數據文件)
3、100M 表空間的初始大小
4、32M 表空間自動增長的大小
5、2048M 表空間最大的大小
//創建數據表空間
create tablespace zfmi logging datafile 'D:oracleoradatazfmizfmi.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
//創建用戶並指定表空間
create user zfmi identified by zfmi default tablespace zfmi temporary tablespace zfmi_temp;
//給用戶授予許可權
grant connect,resource dba to zfmi; (dba:指定所有許可權)
到這一步新建一個用戶的工作就完成了。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//刪除用戶以及用戶所有的對象
drop user zfmi cascade;
//cascade參數是級聯刪除該用戶所有對象,經常遇到如用戶有對象而未加此參數則用戶刪不了的問題,所以習慣性的加此參數
//刪除表空間
前提:刪除表空間之前要確認該表空間沒有被其他用戶使用之後再做刪除
drop tablespace zfmi including contents and datafiles cascade onstraints;
//including contents 刪除表空間中的內容,如果刪除表空間之前表空間中有內容,而未加此參數,表空間刪不掉,所以習慣性的加此參數
//including datafiles 刪除表空間中的數據文件
//cascade constraints 同時刪除tablespace中表的外鍵參照
如果刪除表空間之前刪除了表空間文件,解決辦法:
如果在清除表空間之前,先刪除了表空間對應的數據文件,會造成資料庫無法正常啟動和關閉。
可使用如下方法恢復(此方法已經在oracle9i中驗證通過):
下面的過程中,filename是已經被刪除的數據文件,如果有多個,則需要多次執行;tablespace_name是相應的表空間的名稱。
$ sqlplus /nolog
SQL conn / as sysdba;
如果資料庫已經啟動,則需要先執行下面這行:
SQL shutdown abort
SQL startup mount
SQL alter database datafile 'filename' offline drop;
SQL alter database open;
SQL drop tablespace tablespace_name including contents;
導入導出命令:
Oracle數據導入導出imp/exp就相當於oracle數據還原與備份。exp命令可以把數據從遠程資料庫伺服器導出到本地的dmp文件, imp命令可以把dmp文件從本地導入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。
下面介紹的是導入導出的實例。(注意:不用連接到SQL/plus,直接在DOS下就可以導出。)
數據導出:
1 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:chu.dmp中
exp system/manager@TEST file=d:chu.dmp full=y
2 將資料庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:chu.dmp owner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat導出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的數據導出
exp system/manager@TEST file=d:chu.dmp tables=(table1) query=" where filed1 like ༼%'"
上面是常用的導出,對於壓縮,既用winzip把dmp文件可以很好的壓縮。
也可以在上面命令後面 加上 compress=y 來實現。
數據的導入
1 將D:chu.dmp 中的數據導入 TEST資料庫中。
imp system/manager@TEST file=d:chu.dmp
imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行導入。
在後面加上 ignore=y 就可以了。
2 將d:chu.dmp中的表table1 導入
imp system/manager@TEST file=d:chu.dmp tables=(table1)
基本上上面的導入導出夠用了。不少情況要先是將表徹底刪除,然後導入。
注意:
操作者要有足夠的許可權,許可權不夠它會提示。
資料庫時可以連上的。可以用tnsping TEST 來獲得資料庫TEST能否連上。
附錄一:
給用戶增加導入數據許可權的操作
第一,啟動sql*puls
第二,以system/manager登陸
第三,create user 用戶名 IDENTIFIED BY 密碼 (如果已經創建過用戶,這步可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用戶名字
第五, 運行-cmd-進入dmp文件所在的目錄,
imp userid=system/manager full=y file=*.dmp
或者 imp userid=system/manager full=y file=filename.dmp
執行示例:
F:WorkOracle_Databackupimp userid=test/test full=y file=inner_notify.dmp
屏幕顯示
Import: Release 8.1.7.0.0 - Proction on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation. All rights reserved.
連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Proction
With the Partitioning option
JServer Release 8.1.7.0.0 - Proction
經由常規路徑導出由EXPORT:V08.01.07創建的文件
已經完成ZHS16GBK字元集和ZHS16GBK NCHAR 字元集中的導入
導出伺服器使用UTF8 NCHAR 字元集 (可能的ncharset轉換)
. 正在將AICHANNEL的對象導入到 AICHANNEL
. . 正在導入表 "INNER_NOTIFY" 4行被導入
准備啟用約束條件
成功終止導入,但出現警告。
附錄二:
Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的。
先建立import9.par,
然後,使用時命令如下:imp parfile=/filepath/import9.par
例 import9.par 內容如下:
FROMUSER=TGPMS
TOUSER=TGPMS2 (註:把表的擁有者由FROMUSER改為TOUSER,FROMUSER和TOUSER的用戶可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/backup/ctgpc_20030623.dmp
log==/backup/import_20030623.log