重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
直接用hint即可。例如:
成都創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站建設、成都做網站、崇州網絡推廣、微信平臺小程序開發、崇州網絡營銷、崇州企業策劃、崇州品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創新互聯公司為所有大學生創業者提供崇州建站搭建服務,24小時服務熱線:18980820575,官方網址:www.cdcxhl.com
select /*+parallel(o2)*/* from t_objects o
其中o為要開啟并行的表的別名,2為并行度。
不過不一定會提升效率,一般查詢中使用parallel的情景如下:
需要大量的 表的掃描、連接或者分區索引掃描。
聚合操作(計數)。
不能連接Oracle數據庫了 提示相關的錯誤
OERR: ORA TNS:no appropriate service handler found
客戶端連接間歇性失敗 報錯ORA
Cause: the listener could not find any available service handlers that are
appropriate for the client connection
Action: run lsnrctl services to ensure that the instance(s) have registered
with the listener and are accepting connections 檢查lsnrctl service instance已經注冊
狀態顯示ready時 可以連接
When the listener believes the current number of connections has reached maximum load
it may set the state of the service handler for an instance to blocked and begin refusing
ining client connections with either of the following errors: ora or ora
采用服務動態注冊的方式 由PMON 通過SERVICE_UPDATE 來得到目前連接情況 但SERVICE_UPDATE 有時間間隔
所以 listener顯示的連接數和當前實際的連接數可能不同
查詢解決方法:
查看一下數據庫現有的進程數 是否已經達到參數processes的大小
select count(*) from v$process;???????????????????????? 取得數據庫目前的進程數
select value from v$parameter where name = processes ; 取得進程數的上限
如已達到上限 修改initSID ora中的processes的大小
重新啟動數據庫到nomount狀態下 執行create spfile from pfile; 并startup open
查詢數據庫自啟動以來最大的并發數量
修改最大連接數:
alter system set processes = scope = spfile;
重啟數據庫:
shutdown immediate;
startup;
查看當前有哪些用戶正在使用數據
SELECT osuser a username cpu_time/executions/ || s sql_fulltext machine
from v$session a v$sqlarea b
where a sql_address =b address order by cpu_time/executions desc;
有的時候我們需要調整oracle數據庫的最大鏈接數 而這個鏈接數的調整是在oacle下的dbs目錄下init ora文件中調整的
ORACLE的連接數(sessions)與其參數文件中的進程數(process)有關 它們的關系如下
sessions=( *process+ )
但是我們增加process數時 往往數據庫不能啟動了 這因為我們還漏調了一個unix系統參數 它是核心參數中的semmns 這是unix系統的信號量參數 每個process會占用一個信號量 semmns調整后 需要重新啟動unix操作系統 參數才能生效 不過它的大小會受制于硬件的內存或ORACLE SGA 范圍可從 —— 不等
但是 Processes的修改不僅應該調整initsid ora文件中的參數 而且應該調整OS的內核參數 象AIX HPUX Solaris SCO UNIXWare都是這樣 OS的調整是需要重新啟動的 而且這個參數的設置不能簡單按照多少個終端要連到這個服務器上而定 最關鍵是考慮會有多少同時連上的session(在使用一些共享連接的中間件時 一般就不需要太大) 當然還要考慮一些Oracle的后臺進程 還有一些系統維護工作需要多一些連接等
我的atmp大前置機器上對oracle調整的時候 其使用的是unixware操作系統 在做鏈接數調整的時候 要先對核心參數進行調整
核心主要相關的參數的調整如下
SHMMAX???
SHMMIN???
SHMMNI???
SHMSEG???
SEMMNI???
SEMMSL???
SEMMNS???
SEMOPM???
其中semmni semmns semmsl要加大 至少要比processes大
SEMMNI( ) 指定在核心中信號識別的數量 這是可以在任意給定時間被激活的唯一信號設置數量 缺省值是 最大值由系統自動調整產生
SEMMSL( ) 指定每個信號識別中信號量的最大值 缺省值是
SEMMNS 除最大db外的所有db 的PROCESSES之和+ *最大db的PROCESSES+ *
實例數 如 個實例進程數分別為 則=( + )+ * + * =
tyle= LINE HEIGHT: %; FONT FAMILY: 宋體 SEMOPM( ) 指定在每個系統調用semop中能夠被執行的信號操作量的最大值 缺省值是
SHMMAX( ) 指定了共享內存部分大小的最大值 等于
× 物理內存字節數
SHMMNI( ) 指定了系統范圍內共享內存標識的最大值
SHMSEG( ) 指定了與每個進程相關連的共享內存塊(或標識)的數量 缺省值是 與每個進程相關連的共享內存塊的最大值與進程擁有的未使用空間有關 因此 盡管一個進程擁有少于SHMSEG數值的共享內存塊 它也有可能因為其有限的空間而不能與其它進程相聯系
init ora中調整為
processes = ?????????????????????????????????????????? # SMALL
#processes = ??????????????????????????????????????????? # MEDIUM
# processes = ??????????????????????????????????????????? # LARGE
From:! FE F A F! entry
修改oracle 的最大連接數
使用sys 以sysdba權限登錄
c: sqlplus /nolog
SQLconn / as sysdba
SQL show parameter processes;
NAME TYPE VALUE
aq_tm_processes integer
db_writer_processes integer
job_queue_processes integer
log_archive_max_processes integer
processes integer
SQL alter system set processes= scope = spfile;
系統已更改
SQL show parameter processes;
NAME TYPE VALUE
aq_tm_processes integer
db_writer_processes integer
job_queue_processes integer
log_archive_max_processes integer
processes integer
SQL create pfile from spfile;
文件已創建
lishixinzhi/Article/program/Oracle/201311/18790
oracle增大并發寫入最簡單的方法是使用SQL_TRACE對其進行跟蹤。您沒有提到Oracle版本,版本或平臺。因此,我假設您至少使用的是10gR2版本。因此,使用DBMS_MONITOR來開...1. oracle的數據模式是:用戶建在表空間上,表建在用戶上
2. 一個用戶的表就象自己的私有財產一樣,沒有自己或管理員授權別的用戶是不能查詢或修改的;
3. 對于不同用戶下的同名表,都是獨立的數據對象,如user1.table1和user2.table1是相互獨立的,用戶分別操作自己的表是不影響其他用戶的;
不太明白你想問的問題,你是想知道oracle數據庫中當前的并發數嗎?
如果是可以能過語句去查,
select
count(*)
from
v$process
--當前的數據庫連接數
--------------
另外,可以查詢一下當前系統中允許的最大并發量
select
value
from
v$parameter
where
name
=
'processes'--數據庫允許的最大連接