Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

3

积分

0

好友

8

主题
1#
发表于 2012-7-31 16:56:55 | 查看: 8180| 回复: 31
环境配置:oracle11.2.0.2

--本地监听状态及配置
[oracle@njdyw dbs]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 31-7月 -2012 16:37:41
Copyright (c) 1991, 2010, Oracle.  All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 11.2.0.2.0 - Production
启动日期                  31-7月 -2012 15:50:39
正常运行时间              0 天 0 小时 47 分 2 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      ON
监听程序参数文件          /u01/app/ora11g/product/11.2.0/grid/network/admin/listener.ora
监听程序日志文件          /u01/app/ora11g/diag/tnslsnr/njdyw/listener/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.5.238)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "+ASM" 包含 1 个实例。
  实例 "+ASM", 状态 READY, 包含此服务的 1 个处理程序...
服务 "gcdb" 包含 1 个实例。
  实例 "gcdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

[oracle@njdyw dbs]$ tnsping gc
TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 31-7月 -2012 16:37:52
Copyright (c) 1997, 2010, Oracle.  All rights reserved.
已使用的参数文件:
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.238)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = gcdb)(UR=A)))
OK (0 毫秒)

[oracle@njdyw dbs]$ cat /u01/app/ora11g/product/11.2.0/grid/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/ora11g/product/11.2.0/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.238)(PORT = 1521))
    )
  )
#ADR_BASE_LISTENER = /u01/app/ora11g
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = gcdb)
      (ORACLE_HOME = /u01/app/ora11g/product/11.2.0/grid)
      (SID_NAME = gcdb)
    )
  )
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent

--密码文件也创建无误
[oracle@njdyw dbs]$ ll orapwgcdb
-rw-r----- 1 oracle oinstall 1536 07-19 10:41 orapwgcdb

问题:
--但就是无法用连接符登录空闲实例
[oracle@njdyw dbs]$ export ORACLE_SID=gcdb
[oracle@njdyw dbs]$ sqlplus [email=sys/oracle123@gc]sys/oracle123@gc[/email] as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on 星期二 7月 31 16:41:26 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
ERROR:
ORA-01031: insufficient privileges

请输入用户名:  
ERROR:
ORA-01017: 用户名/口令无效; 登录被拒绝

请输入用户名:  
ERROR:
ORA-01017: 用户名/口令无效; 登录被拒绝

SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus


--如果用系统认证方式就可以用连接符方式登录
--直接用系统认证方式可以登录空闲实例
[oracle@njdyw dbs]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.2.0 Production on 星期二 7月 31 16:44:54 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area  233861120 bytes
Fixed Size                  2225224 bytes
Variable Size             159386552 bytes
Database Buffers           67108864 bytes
Redo Buffers                5140480 bytes
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开

--实例启动后再用连接符方式能成功登录
[oracle@njdyw dbs]$ sqlplus [email=sys/oracle123@gc]sys/oracle123@gc[/email] as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on 星期二 7月 31 16:45:18 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>

注:如果我在没有ASM实例的环境上测试,就没这个问题,是不是跟ASM环境有关。

请朋友们帮我分析一下是哪里的问题?
谢谢!
32#
发表于 2012-8-2 14:09:21
我在手工建库时也产生过类似的问题,后来查明是参数文件里的参数目录权限错误。

回复 只看该作者 道具 举报

31#
发表于 2012-8-1 16:41:49
开始我是考虑密码文件和用户权限,就是找不到问题原因。
以后还是要细心,尽量少犯这种低级错误。

回复 只看该作者 道具 举报

30#
发表于 2012-8-1 15:52:48
看到这个问题 第一眼就猜测是 低级错误,但是开始我的思路是集中在 密码文件上,而且也不清楚你的目录安装情况, 实践告诉我们ORA-01031 登陆失败 99%是低级错误, 可能有1%是bug

回复 只看该作者 道具 举报

29#
发表于 2012-8-1 15:38:55
原帖由 maclean 于 2012-8-1 15:20 发表
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = gcdb)
      (ORACLE_HOME = /u01/app/ora11g/product/11.2.0/grid)
      (SID_NAME = gcdb)
    )
  )

你的静态注册的ORACLE_HOME 是 ...


哥们,你太强了,这么简单的问题,让我忙活了一个星期,现在可以用连接串登录空闲实例了。
我是参考网上参考一个用rman做active duplicate实例时,遇到的这个问题。
如果用rman不能用连接连接串登录到空闲实例的,在recover恢复时需要shutdown重启时就会遇到同样的问题。
上面写的是静态注册到grid_home的,看来我是生搬硬套了。
谢谢啊!
我再测试一下,看有没有别的问题,这个问题算是解决了,呵呵

[oracle@njdyw admin]$ vi listener.ora
# listener.ora Network Configuration File: /u01/app/ora11g/product/11.2.0/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.5.238)(PORT = 1521))
    )
  )
#ADR_BASE_LISTENER = /u01/app/ora11g
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = gcdb)
      (ORACLE_HOME = /u01/app/ora11g/product/11.2.0/db_1)      
      (SID_NAME = gcdb)
    )
  )

[oracle@njdyw bin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 01-8月 -2012 15:29:21
Copyright (c) 1991, 2010, Oracle.  All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 11.2.0.2.0 - Production
启动日期                  01-8月 -2012 15:29:14
正常运行时间              0 天 0 小时 0 分 7 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      ON
监听程序参数文件          /u01/app/ora11g/product/11.2.0/grid/network/admin/listener.ora
监听程序日志文件          /u01/app/ora11g/product/11.2.0/grid/log/diag/tnslsnr/njdyw/listener/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.5.238)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "gcdb" 包含 1 个实例。
  实例 "gcdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
[oracle@njdyw bin]$ sqlplus [email=sys/oracle123@gc]sys/oracle123@gc[/email] as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on 星期三 8月 1 15:29:52 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area  233861120 bytes
Fixed Size                  2225224 bytes
Variable Size             159386552 bytes
Database Buffers           67108864 bytes
Redo Buffers                5140480 bytes
SQL>

回复 只看该作者 道具 举报

28#
发表于 2012-8-1 15:20:56
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = gcdb)
      (ORACLE_HOME = /u01/app/ora11g/product/11.2.0/grid)
      (SID_NAME = gcdb)
    )
  )

你的静态注册的ORACLE_HOME 是这个目录/u01/app/ora11g/product/11.2.0/grid

这个目录不是 RDBMS HOME 而是GRID HOME

password file在 RDBMS HOME/dbs下 ,

把 静态注册的ORACLE_HOME 改成/u01/app/ora11g/product/11.2.0/db_1

回复 只看该作者 道具 举报

27#
发表于 2012-8-1 15:15:25
o,不好意思看错了,是让我执行
ll /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

回复 只看该作者 道具 举报

26#
发表于 2012-8-1 15:14:37
/u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb
这个文件可以直接执行吗?

回复 只看该作者 道具 举报

25#
发表于 2012-8-1 15:12:57
原帖由 maclean 于 2012-8-1 15:10 发表



ls -l  /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

报权限不够?

[oracle@njdyw admin]$ ls -l  /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb
-rw-r----- 1 oracle oinstall 2560 08-01 13:05 /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

回复 只看该作者 道具 举报

24#
发表于 2012-8-1 15:10:35



ls -l  /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

报权限不够?

回复 只看该作者 道具 举报

23#
发表于 2012-8-1 15:08:24
原帖由 maclean 于 2012-8-1 15:04 发表
ll    /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

这步在执行一下

如果还是不行的话 去装一个teamviewer ,我远程看一下 我的qq 47079569

[oracle@njdyw admin]$  /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb
-bash: /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb: 权限不够

回复 只看该作者 道具 举报

22#
发表于 2012-8-1 15:04:02
ll    /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

这步在执行一下

如果还是不行的话 去装一个teamviewer ,我远程看一下 我的qq 47079569

回复 只看该作者 道具 举报

21#
发表于 2012-8-1 14:59:05
原帖由 maclean 于 2012-8-1 14:50 发表
那么把12楼的 action plan 一步步执行并贴出结果


你似乎是使用oracle用户安装gi和rdbms home的,

请贴出RDBMS HOME下的sqlnet.ora的信息


好,那我再提供尽可能详细的信息:

[oracle@njdyw admin]$ pwd
/u01/app/ora11g/product/11.2.0/grid/network/admin --sqlnet.ora文件在这个目录下
[oracle@njdyw admin]$ ll
总计 20
-rw-r--r-- 1 oracle oinstall  677 07-19 10:25 listener.ora
-rw-r--r-- 1 oracle oinstall  760 07-16 14:49 listener.ora.bak.njdyw
drwxr-xr-x 2 oracle oinstall 4096 2011-06-03 samples
-rw-r--r-- 1 oracle oinstall  187 2007-05-07 shrept.lst
-rw-r--r-- 1 oracle oinstall  297 07-31 15:57 sqlnet.ora

[oracle@njdyw admin]$ cat sqlnet.ora
# sqlnet.ora Network Configuration File: /u01/app/ora11g/product/11.2.0/grid/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.AUTHENTICATION_SERVICES=(ALL)
REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)

ADR_BASE = /u01/app/ora11g

[oracle@njdyw admin]$ echo $ORACLE_HOME
/u01/app/ora11g/product/11.2.0/db_1
[oracle@njdyw admin]$ cd $ORACLE_HOME/network/admin/
[oracle@njdyw admin]$ ll--这个目录下没有sqlnet.ora文件
总计 16
drwxr-xr-x 2 oracle oinstall 4096 2011-06-03 samples
-rw-r--r-- 1 oracle oinstall  187 2007-05-07 shrept.lst
-rw-r--r-- 1 oracle oinstall 3841 07-31 15:19 tnsnames.ora
-rw-r----- 1 oracle oinstall  333 2011-11-29 tnsnames.ora.bak

[oracle@njdyw admin]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.2.0 Production on 星期三 8月 1 14:53:10 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
已连接到空闲例程。
SQL> exit
已断开连接
[oracle@njdyw admin]$ sqlplus [email=sys/oracle123@gc]sys/oracle123@gc[/email] as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on 星期三 8月 1 14:53:55 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
ERROR:
ORA-01031: insufficient privileges

请输入用户名:  
ERROR:
ORA-01017: 用户名/口令无效; 登录被拒绝

请输入用户名:  
ERROR:
ORA-01017: 用户名/口令无效; 登录被拒绝

SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
[oracle@njdyw admin]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.2.0 Production on 星期三 8月 1 14:54:08 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area  233861120 bytes
Fixed Size                  2225224 bytes
Variable Size             159386552 bytes
Database Buffers           67108864 bytes
Redo Buffers                5140480 bytes
SQL> show parameter password
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
remote_login_passwordfile            string
EXCLUSIVE
SQL>

[ 本帖最后由 davis987 于 2012-8-1 15:00 编辑 ]

回复 只看该作者 道具 举报

20#
发表于 2012-8-1 14:50:02
那么把12楼的 action plan 一步步执行并贴出结果


你似乎是使用oracle用户安装gi和rdbms home的,

请贴出RDBMS HOME下的sqlnet.ora的信息

回复 只看该作者 道具 举报

19#
发表于 2012-8-1 14:47:34
原帖由 maclean 于 2012-8-1 14:44 发表
troubleshooting 是要一步步来的 ,你在上面几楼给我的回复都很消极

从来没有消极,咱们不能谈消极不消极的问题行吗,我是在想解决问题的,你给我的解决我都是在一步步做了的。
请你不要误解。

回复 只看该作者 道具 举报

18#
发表于 2012-8-1 14:45:20
原帖由 maclean 于 2012-8-1 14:41 发表
MORE ACTION PLAN:

cat $ORACLE_HOME/network/admin/sqlnet.ora

以及12楼没有反馈的信息

哥们,我已经反馈了呀,而且从来没有抗拒,你给我解答我为什么抗拒呢
[oracle@njdyw dbs]$ cd /u01/app/ora11g/product/11.2.0/grid/network/admin
[oracle@njdyw admin]$ ls
listener.ora  listener.ora.bak.njdyw  samples  shrept.lst  sqlnet.ora
[oracle@njdyw admin]$ cat sqlnet.ora
# sqlnet.ora Network Configuration File: /u01/app/ora11g/product/11.2.0/grid/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.AUTHENTICATION_SERVICES=(ALL)
REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)

ADR_BASE = /u01/app/ora11g

回复 只看该作者 道具 举报

17#
发表于 2012-8-1 14:44:34
troubleshooting 是要一步步来的 ,你在上面几楼给我的回复都很消极

回复 只看该作者 道具 举报

16#
发表于 2012-8-1 14:42:26
难道无解了?

回复 只看该作者 道具 举报

15#
发表于 2012-8-1 14:41:12
MORE ACTION PLAN:

cat $ORACLE_HOME/network/admin/sqlnet.ora

以及12楼没有反馈的信息

回复 只看该作者 道具 举报

14#
发表于 2012-8-1 14:37:31
你似乎很抗拒做这样一步步的诊断, 对你来说做过很多次的尝试 但是对我来说这是一次全新的troubleshooting中的一步, 如果你反感而不提供更详细的信息话, 我们无能为力

回复 只看该作者 道具 举报

13#
发表于 2012-8-1 13:06:31
原帖由 maclean 于 2012-8-1 10:44 发表
ll    /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

show parameter password

仍有问题的话重建 password file

cd $ORACLE_HOME/dbs
orapwd file=orapwgcdb password=oracle123 ignorecase=Y entries=10 ...


已经重建过很多次了,仍然问题依旧

回复 只看该作者 道具 举报

12#
发表于 2012-8-1 10:44:26
ll    /u01/app/ora11g/product/11.2.0/db_1/dbs/orapwgcdb

show parameter password

仍有问题的话重建 password file

cd $ORACLE_HOME/dbs
orapwd file=orapwgcdb password=oracle123 ignorecase=Y entries=10

回复 只看该作者 道具 举报

11#
发表于 2012-8-1 09:51:15
原帖由 maclean 于 2012-7-31 17:53 发表
--密码文件也创建无误
[oracle@njdyw dbs]$ ll orapwgcdb
-rw-r----- 1 oracle oinstall 1536 07-19 10:41 orapwgcdb

在这个目录 pwd一下

这是哪个目录?


[oracle@njdyw ~]$ cd $ORACLE_HOME/dbs
[oracle@njdyw dbs]$ pwd
/u01/app/ora11g/product/11.2.0/db_1/dbs

回复 只看该作者 道具 举报

10#
发表于 2012-7-31 17:53:33

回复 9# 的帖子

--密码文件也创建无误
[oracle@njdyw dbs]$ ll orapwgcdb
-rw-r----- 1 oracle oinstall 1536 07-19 10:41 orapwgcdb

在这个目录 pwd一下

这是哪个目录?

回复 只看该作者 道具 举报

9#
发表于 2012-7-31 17:49:29
增加信息,使用了ASM环境。
[oracle@njdyw dbs]$ ps -ef|grep smon
oracle    4796     1  0 Jul22 ?        00:00:08 asm_smon_+ASM
oracle   27663     1  0 16:45 ?        00:00:00 ora_smon_gcdb
oracle   28074 26707  0 17:48 pts/1    00:00:00 grep smon

回复 只看该作者 道具 举报

8#
发表于 2012-7-31 17:46:20
原帖由 maclean 于 2012-7-31 17:40 发表
[oracle@njdyw dbs]$ sqlplus sys/oracle123@gc as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on 星期二 7月 31 16:45:18 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:
Oracle D ...


看好了哦,我只是启动到了nomount状态的,没有open,是不能做alter操作的。

回复 只看该作者 道具 举报

7#
发表于 2012-7-31 17:41:23
哦 现在才知道背景环境  没这样的环境

回复 只看该作者 道具 举报

6#
发表于 2012-7-31 17:40:18
[oracle@njdyw dbs]$ sqlplus [email=sys/oracle123@gc]sys/oracle123@gc[/email] as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on 星期二 7月 31 16:45:18 2012
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>


就这个信息看 你的实例已经启动了



action plan:

sqlplus / as sysdba
ALTER    USER SYS  identified by  oracle123;


sqlplus sys/oracle123@GC  as sysdba

回复 只看该作者 道具 举报

5#
发表于 2012-7-31 17:37:24
原帖由 gtlions 于 2012-7-31 17:32 发表
“而且我的参数里只有db_name参数”意思是想手工创建db之前的状态吗?

是的,
[oracle@njdyw dbs]$ cat initgcdb.ora
db_name=gcdb

回复 只看该作者 道具 举报

4#
发表于 2012-7-31 17:32:51
“而且我的参数里只有db_name参数”意思是想手工创建db之前的状态吗?

回复 只看该作者 道具 举报

3#
发表于 2012-7-31 17:25:04
我还没有登录呢?应该不存在参数的问题,而且我的参数里只有db_name参数,我只想登录到空闲实例而已

回复 只看该作者 道具 举报

2#
发表于 2012-7-31 17:14:52
看看这个参数remote_login_passwordfile

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 03:44 , Processed in 0.060287 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569