<span id="bph7r"><noframes id="bph7r">
<span id="bph7r"><video id="bph7r"></video></span>
<span id="bph7r"></span><span id="bph7r"><video id="bph7r"></video></span>
<strike id="bph7r"><noframes id="bph7r"><strike id="bph7r"></strike>
<span id="bph7r"></span>
您現在所在的位置:首頁 - 權威技術
Oracle 11g必須開啟的服務介紹及命令大全

按照win7 64位環境下Oracle 11g 安裝詳解中的方法成功安裝Oracle 11g后,共有7個服務,分別為Oracle ORCL VSS Writer Service,OracleDBConsoleorcl,OracleJobSchedulerORCL, OracleMTSRecoveryService,OracleOraDb11g_home1ClrAgent,OracleOraDb11g_home1TNSListener,OracleServiceORCL,oracleremexecservice。其中OracleDBConsoleorcl,

OracleMTSRecoveryService,OracleOraDb11g_home1TNSListener,OracleServiceORCL是默認自動啟動的,OracleJobSchedulerORCL是默認自動禁止的,其余的默認為手動操作。假設您的全局數據庫名為orcl,則您的Oracle服務應該和上面的一樣。

這七個服務的含義分別為:

Oracle ORCL VSS Writer Service:Oracle卷映射拷貝寫入服務,VSS(Volume Shadow Copy Service)能夠讓存儲基礎設備(比如磁盤,陣列等)創建高保真的時間點映像,即映射拷貝(shadow copy)。它可以在多卷或者單個卷上創建映射拷貝,同時不會影響到系統的系統能。(非必須啟動)

OracleDBConsoleorcl:Oracle數據庫控制臺服務,orcl是Oracle的實例標識,默認的實例為orcl。在運行Enterprise Manager(企業管理器OEM)的時候,需要啟動這個服務。(非必須啟動)

OracleJobSchedulerORCL:Oracle作業調度(定時器)服務,ORCL是Oracle實例標識。(非必須啟動)

OracleMTSRecoveryService:服務端控制。該服務允許數據庫充當一個微軟事務服務器MTS、COM/COM+對象和分布式環境下的事務的資源管理器。(非必須啟動)

OracleOraDb11g_home1ClrAgent:Oracle數據庫.NET擴展服務的一部分。 (非必須啟動)

OracleOraDb11g_home1TNSListener:監聽器服務,服務只有在數據庫需要遠程訪問的時候才需要。(非必須啟動,下面會有詳細詳解)。

OracleServiceORCL:數據庫服務(數據庫實例),是Oracle核心服務該服務,是數據庫啟動的基礎, 只有該服務啟動,Oracle數據庫才能正常啟動。(必須啟動)

那么在開發的時候到底需要啟動哪些服務呢?

對新手來說,要是只用Oracle自帶的sql*plus的話,只要啟動OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的話,OracleOraDb11g_home1TNSListener服務也要開啟。OracleDBConsoleorcl是進入基于web的EM必須開啟的,其余服務很少用。

注:ORCL是數據庫實例名,默認的數據庫是ORCL,你可以創建其他的,即OracleService+數據庫名。

Oracle的命令大全:

SQL> show all --查看所有68個系統變量值 

SQL> show user --顯示當前連接用戶 

SQL> show error   --顯示錯誤 

SQL> set heading off --禁止輸出列標題,默認值為ON 

SQL> set feedback off --禁止顯示最后一行的計數反饋信息,默認值為"對6個或更多的記錄,回送ON" 

SQL> set timing on --默認為OFF,設置查詢耗時,可用來估計SQL語句的執行時間,測試性能 

SQL> set sqlprompt "SQL> " --設置默認提示符,默認值就是"SQL> " 

SQL> set linesize 1000 --設置屏幕顯示行寬,默認100 

SQL> set autocommit ON --設置是否自動提交,默認為OFF 

SQL> set pause on --默認為OFF,設置暫停,會使屏幕顯示停止,等待按下ENTER鍵,再顯示下一頁 

SQL> set arraysize 1 --默認為15 

SQL> set long 1000 --默認為80 

說明: 

long值默認為80,設置1000是為了顯示更多的內容,因為很多數據字典視圖中用到了long數據類型,如: 

SQL> desc user_views 

列名 可空值否 類型 

------------------------------- -------- ---- 

VIEW_NAME NOT NULL VARCHAR2(30) 

TEXT_LENGTH NUMBER 

TEXT LONG 

SQL> define a = '''20000101 12:01:01''' --定義局部變量,如果想用一個類似在各種顯示中所包括的回車那樣的常量, 

--可以用define命令來設置 

SQL> select &a from dual; 

原值 1: select &a from dual 

新值 1: select '20000101 12:01:01' from dual 

'2000010112:01:01 

----------------- 

20000101 12:01:01 

問題提出: 

1、用戶需要對數據庫用戶下的每一張表都執行一個相同的SQL操作,這時,一遍、一遍的鍵入SQL語句是很麻煩的 

實現方法: 

SQL> set heading off --禁止輸出列標題 

SQL> set feedback off --禁止顯示最后一行的計數反饋信息 

列出當前用戶下所有同義詞的定義,可用來測試同義詞的真實存在性 

select 'desc '||tname from tab where tabtype='SYNONYM'; 

查詢當前用戶下所有表的記錄數 

select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE'; 

把所有符合條件的表的select權限授予為public 

select 'grant select on '||table_name||' to public;' from user_tables where 《條件》; 

刪除用戶下各種對象 

select 'drop '||tabtype||' '||tname from tab; 

刪除符合條件用戶 

select 'drop user '||username||' cascade;' from all_users where user_id>25; 

快速編譯所有視圖 

----當在把數據庫倒入到新的服務器上后(數據庫重建),需要將視圖重新編譯一遍, 

----因為該表空間視圖到其它表空間的表的連接會出現問題,可以利用PL/SQL的語言特性,快速編譯。 

SQL> SPOOL ON.SQL 

SQL> SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB; 

SQL> SPOOL OFF 

然后執行ON.SQL即可。 

SQL> @ON.SQL 

當然,授權和創建同義詞也可以快速進行,如: 

SQL> SELECT 'GRANT SELECT ON '||TNAME||' TO 用戶名;' FROM TAB; 

SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR 用戶名.'||TNAME||';' FROM TAB; 

命令列表: 

假設當前執行命令為:select * from tab; 

(a)ppend  添加文本到緩沖區當前行尾 a order by tname 結果:select * from tab order by tname; 

(注:a后面跟2個空格) 

(c)hange/old/new 在當前行用新的文本替換舊的文本 c/*/tname 結果:select tname from tab; 

(c)hange/text 從當前行刪除文本 c/tab 結果:select tname from ; 

del刪除當前行 

del n刪除第n行 

(i)nput 文本 在當前行之后添加一行 

(l)ist 顯示緩沖區中所有行 

(l)ist n 顯示緩沖區中第 n 行 

(l)ist m n 顯示緩沖區中 m 到 n 行 

run 執行當前緩沖區的命令 

/ 執行當前緩沖區的命令 

r 執行當前緩沖區的命令 

@文件名 運行調入內存的sql文件,如: 

SQL> edit s<回車> 

如果當前目錄下不存在s.sql文件,則系統自動生成s.sql文件, 

在其中輸入"select * from tab;",存盤退出。 

SQL> @s<回車> 

系統會自動查詢當前用戶下的所有表、視圖、同義詞。 

@@文件名 在.sql文件中調用令一個.sql文件時使用 

save 文件名 將緩沖區的命令以文件方式存盤,缺省文件擴展名為.sql 

get 文件名 調入存盤的sql文件 

start 文件名 運行調入內存的sql文件 

spool 文件名 把這之后的各種操作及執行結果"假脫機"即存盤到磁盤文件上,默認文件擴展名為.lst 

spool 顯示當前的"假脫機"狀態 

spool off 停止輸出 

例: 

SQL> spool a 

SQL> spool 

正假脫機到 A.LST 

SQL> spool off 

SQL> spool 

當前無假脫機 

exit 退出SQL*PLUS 

desc 表名 顯示表的結構 

show user 顯示當前連接用戶 

show error 顯示錯誤 

show all 顯示所有68個系統變量值 

edit 打開默認編輯器,Windows系統中默認是notepad.exe,把緩沖區中最后一條SQL語句調入afiedt.buf文件中進行編輯 

edit 文件名 把當前目錄中指定的.sql文件調入編輯器進行編輯 

clear screen 清空當前屏幕顯示 

二.Oracle sqlplus語句編輯命令 

首先我們輸入這樣一條指令: 

SELECT emp_id, emp_name 

FROM Employees 

input 命令可以接著上一條指令的后面添加語句,比如在上述語句運行后輸入: 

input WHERE emp_age > 30 

便可得到如下指令: 

SELECT emp_id, emp_name 

FROM Employees 

WHERE emp_age > 30 

ln 命令用于指定對以輸入的第n行語句進行操作,比如在上述語句運行后輸入: 

l1則當前選中的語句行即為 

SELECT emp_id, emp_name 

(語句前有"*"表示) 

a 命令用于直接在當前行的末尾加上字符,比如在上述語句運行后輸入: 

a , emp_dept 

則執行的指令變為: 

SELECT emp_id, emp_name, emp_dept 

FROM Employees 

WHERE emp_age > 30 

c 命令用于修改當前語句中的字符,比如在上述語句運行后輸入: 

c /emp_name/emp_age/則執行的指令變為: 

SELECT emp_id, emp_age, emp_dept 

FROM Employees 

WHERE emp_age > 30 

del n 命令用于刪除第n行指令,比如在上述語句運行后輸入: 

DEL 3 

則執行的指令變為: 

SELECT emp_id, emp_age, emp_dept 

 

上一篇:Oracle 12c多租戶新特性
[返回] TOP
色狠狠一区二区三区香蕉91