博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[20150228]启动问题.txt
阅读量:6812 次
发布时间:2019-06-26

本文共 4290 字,大约阅读时间需要 14 分钟。

[20150228]启动问题.txt

--生产系统出现一个奇怪的问题,在服务器端看:

$ rlsql

SQL*Plus: Release 11.2.0.3.0 Production on Sat Feb 28 09:46:12 2015
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to an idle instance.

SYS@test> quit

Disconnected

--奇怪服务端使用直接连接看不到数据库。

--仔细询问了一下,别人使用windows client 远程启动过这个数据库。

--如果在服务端使用sqlplus scott/xxxx@tns_alias 连接可以连上。我只好在自己的测试环境做这个测试。
--发现确实存在这个问题,自己做一个测试:

$ sysresv

IPC Resources for ORACLE_SID "test" :
Shared Memory
ID              KEY
No shared memory segments used
Semaphores:
ID              KEY
No semaphore resources used
Oracle Instance not alive for sid "test"
--没有相关信息。

SYS@40> oradebug setmypid;

Statement processed.
SYS@40> oradebug ipc
Information written to trace file.
SYS@40> oradebug tracefile_name;
/u01/app/oracle11g/diag/rdbms/test/test/trace/test_ora_25317.trc

Handle:          0x2a970040b0 `/u01/app/oracle11g/product/11.2.0/db_2/test'

Dump of unix-generic realm handle `/u01/app/oracle11g/product/11.2.0/db_2/test', flags = 00000000
Area #0 `Fixed Size' containing Subareas 0-0
  Total size 0000000000220230 Minimum Subarea size 00000000
   Area  Subarea    Shmid      Stable Addr      Actual Addr
      0        0 21889024 0x00000060000000 0x00000060000000
                              Subarea size     Segment size
                          0000000000221000 0000000001000000
....
-------------- system semaphore information -------------
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x00000000 21889024   oracle11g 640        4096       0
0x00000000 21921793   oracle11g 640        4096       0
0x7f1ca950 21954562   oracle11g 640        4096       0
------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0xf0052be8 47546376   oracle11g 640        126
0xf0052be9 47579145   oracle11g 640        126
0xf0052bea 47611914   oracle11g 640        126
0xf0052beb 47644683   oracle11g 640        126
0xf0052bec 47677452   oracle11g 640        126
------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

*** 2015-02-28 09:58:50.420

--为什么sysres与使用oradebug ipc 看到的不同呢?

--远程停止后,在服务器启动数据库:

SYS@test> oradebug setmypid

Statement processed.
SYS@test> oradebug ipc
Information written to trace file.
SYS@test> oradebug tracefile_name
/u01/app/oracle11g/diag/rdbms/test/test/trace/test_ora_26282.trc

$ sysresv

IPC Resources for ORACLE_SID "test" :

Shared Memory:
ID              KEY
22020096        0x00000000
22052865        0x00000000
22085634        0x9e347558
Semaphores:
ID              KEY
48005128        0x8eb7ef30
48037897        0x8eb7ef31
48070666        0x8eb7ef32
48103435        0x8eb7ef33
48136204        0x8eb7ef34
Oracle Instance alive for sid "test"

--查看转储文件,马上明白为什么?

Handle:          0x2a970040b0 `/u01/app/oracle11g/product/11.2.0/db_2test'

Dump of unix-generic realm handle `/u01/app/oracle11g/product/11.2.0/db_2test', flags = 00000000
Area #0 `Fixed Size' containing Subareas 0-0
  Total size 0000000000220230 Minimum Subarea size 00000000
   Area  Subarea    Shmid      Stable Addr      Actual Addr
      0        0 22020096 0x00000060000000 0x00000060000000
                              Subarea size     Segment size
                          0000000000221000 0000000001000000

-------------- system semaphore information -------------

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x00000000 22020096   oracle11g 640        4096       0
0x00000000 22052865   oracle11g 640        4096       0
0x9e347558 22085634   oracle11g 640        4096       0
------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x8eb7ef30 48005128   oracle11g 640        126
0x8eb7ef31 48037897   oracle11g 640        126
0x8eb7ef32 48070666   oracle11g 640        126
0x8eb7ef33 48103435   oracle11g 640        126
0x8eb7ef34 48136204   oracle11g 640        126
------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

--看看Handle在db_2,test之间没有/.

--我只要修改ORACLE_HOME环境变量,加入/就可以了。重复测试看看。

$ echo $ORACLE_HOME

/u01/app/oracle11g/product/11.2.0/db_2
$ export ORACLE_HOME=/u01/app/oracle11g/product/11.2.0/db_2/
$ sysresv

IPC Resources for ORACLE_SID "test" :

Shared Memory:
ID              KEY
22151168        0x00000000
22183937        0x00000000
22216706        0x7f1ca950
Semaphores:
ID              KEY
48300040        0xf0052be8
48332809        0xf0052be9
48365578        0xf0052bea
48398347        0xf0052beb
48431116        0xf0052bec
Oracle Instance alive for sid "test"

$ rlsql

SQL*Plus: Release 11.2.0.3.0 Production on Sat Feb 28 10:14:32 2015
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@test>

总结:

1.远程启动数据库,我测试了windows,linux都存在这个问题。
2.看来要避免sys口令泄露,或者回收sys口令,避免开发自己启动数据库。
3.另外说明1下,如果数据库没有开启,远程client要连接启动数据库,监听要配置静态注册。

转载地址:http://xuczl.baihongyu.com/

你可能感兴趣的文章
【转】关于大型网站技术演进的思考(十)--网站静态化处理—动静整合方案(2)...
查看>>
jQuery练习题HTML文件
查看>>
SQL注入原理
查看>>
MySQL 锁(lock与latch)
查看>>
python
查看>>
DataTable数据存入指定路径的Excel文件
查看>>
Linq-C#左连接
查看>>
c和指针读书笔记
查看>>
常用正则表达式集锦
查看>>
JS 验证
查看>>
【Lua】特性和一些基础语法
查看>>
Jaxb2 实现JavaBean与xml互转
查看>>
shell中exec解析(转)
查看>>
ContentType ,charset和pageEncoding的区别(转)
查看>>
21副GIF动图让你了解各种数学概念(转。太强大了)
查看>>
SQL Server 2008通过LinkServer连接MySQL
查看>>
模板:LCT
查看>>
mysql的数据类型int、bigint、smallint 和 tinyint取值范围 及varchar
查看>>
[android] 手机卫士自定义控件的属性
查看>>
Java自定义类加载器与双亲委派模型
查看>>