重慶的passport oracle庫開發人員反映出現效能問題,應用日誌普通的sql指令碼耗時較長,想到了oracle oem監控,進行了oem的安裝,
由於資料庫連線都正常,並且正在使用,所以沒考慮oracle伺服器的網路配置情況。直接進行oem的建立,如何安裝請詳見blog:
oracle em的刪除與建立
:建立完畢,開啟windows客戶端的ie,oem登陸首頁直接出現了例項沒有啟動,伺服器機器名也找不到提示資訊。
鬱悶,見鬼資料庫伺服器明明在正常使用,而且oem建立過程中也沒吧奧錯,順利成功。
不過憑著經驗,這類問題肯定是伺服器端的網路配置針對oem的解析來說存在問題,ssh登陸的oracle伺服器,進行三項查詢:
#vi /etc/hosts
# do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost cqydweb2
::1 localhost6.localdomain6 localhost6
192.168.2.14 center
上述內容中明顯存在關於hostname 不一致的配置,第一行hostname設定為cqydweb2,第三行hostname 設定為center。
#hostname
cqydweb2
看來目前記憶體中正在使用的hostname是cqydweb2,繼續
#vi /etc/sysconfig/network
networking=yes
networking_ipv6=no
hostname=cqydweb2
hostname是cqydweb2,繼續
#su - oracle
#vi $oracle_home/network/admin/listener.ora
subscribe_for_node_down_event_listener=off
沒啥異常,是通過ip連線,跟hostname關係不大。
那就是/etc/hosts內容配置的不一致問題了,跟運維溝通後,統一修改為cqydweb2
然後進行了oem重建,頭腦有點發昏,直接就進行
sql> drop public synonym setemviewusercontext;
同義詞已刪除。
sql> drop public synonym mgmt_target_blackouts;
同義詞已刪除。
sql> drop role mgmt_user;
角色已刪除。
sql> drop user mgmt_view cascade;
使用者已刪除。
突然想起,oem還沒drop,以上的操作是drop後清理殘餘oem資訊的操作,後悔。。。。,預感到drop em要出錯了,進行drop em操作
emca -deconfig dbcontrol db -repos drop
結果在刪除em檔案資料庫這部卡住了,耐心等待了半個多小時,沒反應,也沒結束,也沒報錯。只好進行手工oem的清理,看以下步驟:
sql>exec dbms_aqadm.drop_queue_table(queue_table=>'mgmt_notify_qtable',force=>true);
pl/sql 過程已成功完成。
sql> conn / as sysdba
已連線。
sql> exec sysman.emd_maintenance.remove_em_dbms_jobs;
pl/sql 過程已成功完成。
sql> exec sysman.setemusercontext('',5);
pl/sql 過程已成功完成。
sql> revoke dba from sysman;
撤銷成功。
sql> declare
2 cursor c1 is
3 select owner,synonym_name name from dba_synonyms
4 where table_owner='sysman';
5 begin
6 for r1 in c1 loop
7 if r1.owner='public' then
8 execute immediate 'drop public synonym '||r1.name;
9 else
10 execute immediate 'drop synonym '||r1.owner||'.'||r1.name;
11 end if;
12 end loop;
13 end;
14 /
pl/sql 過程已成功完成。
sql> drop user sysman cascade;
使用者已刪除。
sql>exit
進行/etc/hosts的hostname統一設定為cqydweb2,從oracle使用者退出到root使用者下
[oracle@cqydweb2 ~]$ exit
logout
[root@cqydweb2 ~]# vi /etc/hosts
# do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.2.14 cqydweb2
hostname統一設定為cqydweb2後,再進入oracle使用者進行oem的重新建立成功,如何建立,請見blog:
oracle em的刪除與建立:
Oracle OEM重建失敗處理案例
重慶的passport oracle庫開發人員反映出現效能問題,應用日誌普通的sql指令碼耗時較長,想到了oracle oem監控,進行了oem的安裝,由於資料庫連線都正常,並且正在使用,所以沒考慮oracle伺服器的網路配置情況。直接進行oem的建立,如何安裝請詳見blog oracle em的刪...
oracle oem重建方法
手工重新配置dbconsole的步驟 1,修改dbsnmp密碼 重新配置dbconsole,需要輸入dbsnmp密碼,但任何密碼都會顯示錯誤,需要預先修改。sql alter user dbsnmp identified by 2,刪除早期dbconsole建立的使用者 sql drop role ...
c new失敗處理
在c語言中如果malloc calloc分配記憶體失敗的時候,會返回乙個空指標,但是在 中使用 new 分配記憶體的時候,標準規定new分配失敗時會丟擲異常,因此不能使用如下的方式判斷new是否成功,int p new int size if null p return 如果分配失敗,則以上 將是沒...