ORA-01092问题的解决
2013-05-24 20:24
375 查看
问题描述:
在用startup启动数据库时,遇到ora-1092错误
解决方案:
(1)首先需要明确,我们当前对数据库的操作,在数据库中是有记录的,那么当前我们的startup相关操作日志会记录在什么地方呢?
oracle@suse11: cd /home/oracle/admin/dbyan/udump
(2) 当前目录下有这么多日志文件,选择最新的几条来看吧
oracle@suse11:~/admin/dbyan/udump>ll
-t | tac
(3) 查看一下最新的文件
oracle@suse11:~/admin/dbyan/udump>more
dbyan_ora_9247.trc
日志如下:
/home/oracle/admin/dbyan/udump/dbyan_ora_9247.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
ORACLE_HOME = /home/oracle/product/10
System name: Linux
Node name: suse11
Release: 2.6.32.12-0.7-default
Version: #1 SMP 2010-05-20 11:14:20 +0200
Machine: x86_64
Instance name: dbyan
Redo thread mounted by this instance: 0 <none>
Oracle process number: 0
Unix process pid: 9247, image: oracle@suse11
Dynamic strand is set to TRUE
Running with 2 shared and 36 private strand(s). Zero-copy redo is FALSE
oracle@suse11:~/admin/dbyan/udump> more dbyan_ora_10441.trc
/home/oracle/admin/dbyan/udump/dbyan_ora_10441.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
ORACLE_HOME = /home/oracle/product/10
System name: Linux
Node name: suse11
Release: 2.6.32.12-0.7-default
Version: #1 SMP 2010-05-20 11:14:20 +0200
Machine: x86_64
Instance name: dbyan
Redo thread mounted by this instance: 1
Oracle process number: 143
Unix process pid: 10441, image: oracle@suse11
*** 2012-06-28 14:37:04.297
*** ACTION NAME:() 2012-06-28 14:37:04.296
*** MODULE NAME:(yan@m2m1110 (TNS V1-V3)) 2012-06-28 14:37:04.296
*** SERVICE NAME:(dbyan) 2012-06-28 14:37:04.296
*** SESSION ID:(1071.21989) 2012-06-28 14:37:04.296
java.security.AccessControlException: the Permission (java.io.FilePermission /home/oracle/testdir/00123456789F/AllTermStatusSyn/Data
read) has not been granted to M2M0401HH. The PL/SQL to grant this is dbms_java.grant_permission( 'M2M0401HH', 'SYS:java.io.FilePerm
ission', '/home/oracle/testdir/00123456789F/AllTermStatusSyn/Data', 'read' )
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:280)
at java.security.AccessController.checkPermission(AccessController.java:429)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:528)
at oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java:192)
at java.lang.SecurityManager.checkRead(SecurityManager.java:867)
at java.io.File.isDirectory(File.java:699)
at CreateFileDir.CreateAllDir(M2M_DBFILE_J:17)
/home/oracle/admin/dbyan/udump/dbyan_ora_10441.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
ORACLE_HOME = /home/oracle/product/10
System name: Linux
Node name: suse11
Release: 2.6.32.12-0.7-default
Version: #1 SMP 2010-05-20 11:14:20 +0200
Machine: x86_64
Instance name: dbyan
Redo thread mounted by this instance: 1
Oracle process number: 16
Unix process pid: 10441, image: oracle@suse11 (TNS V1-V3)
*** ACTION NAME:() 2012-09-13 16:34:45.137
*** MODULE NAME:(sqlplus@suse11 (TNS V1-V3)) 2012-09-13 16:34:45.137
*** SERVICE NAME:(SYS$USERS) 2012-09-13 16:34:45.137
*** SESSION ID:(322.3) 2012-09-13 16:34:45.137
ORA-30012: 还原表空间 'UNDOTBS1' 不存在或类型不正确
----------------------日志到此结束----------------
从上面的日志可以看出,显然是在initdbyan.ora中,回滚段的名称有误或者不存在。
(4) 从startup启动的日志来看,实例是已经加载成功的,所以可以进入mount状态,查看数据库的一些信息:(注意关注回滚段的相关信息)
a) oracle@suse11:sqlplus /nolog
SQL>conn /as sysdba
SQL>startup mount
b) SQL>select name from v$datafile
c) SQL>show parameter undo_tablespace
d) SQL>select name from v$tablespace
通过上面几个查询的信息可以看出回滚段的名称存在不一致的地方,因此需要修改回滚段的名称。
(5) 关闭数据库
SQL>shutdown immediate
(6) 修改initdbyan.ora文件的回滚段名称
(7) 重新启动数据库就OK了
oracle@suse11:sqlplus /nolog
SQL>conn /as sysdba
SQL>startup
在用startup启动数据库时,遇到ora-1092错误
解决方案:
(1)首先需要明确,我们当前对数据库的操作,在数据库中是有记录的,那么当前我们的startup相关操作日志会记录在什么地方呢?
oracle@suse11: cd /home/oracle/admin/dbyan/udump
(2) 当前目录下有这么多日志文件,选择最新的几条来看吧
oracle@suse11:~/admin/dbyan/udump>ll
-t | tac
(3) 查看一下最新的文件
oracle@suse11:~/admin/dbyan/udump>more
dbyan_ora_9247.trc
日志如下:
/home/oracle/admin/dbyan/udump/dbyan_ora_9247.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
ORACLE_HOME = /home/oracle/product/10
System name: Linux
Node name: suse11
Release: 2.6.32.12-0.7-default
Version: #1 SMP 2010-05-20 11:14:20 +0200
Machine: x86_64
Instance name: dbyan
Redo thread mounted by this instance: 0 <none>
Oracle process number: 0
Unix process pid: 9247, image: oracle@suse11
Dynamic strand is set to TRUE
Running with 2 shared and 36 private strand(s). Zero-copy redo is FALSE
oracle@suse11:~/admin/dbyan/udump> more dbyan_ora_10441.trc
/home/oracle/admin/dbyan/udump/dbyan_ora_10441.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
ORACLE_HOME = /home/oracle/product/10
System name: Linux
Node name: suse11
Release: 2.6.32.12-0.7-default
Version: #1 SMP 2010-05-20 11:14:20 +0200
Machine: x86_64
Instance name: dbyan
Redo thread mounted by this instance: 1
Oracle process number: 143
Unix process pid: 10441, image: oracle@suse11
*** 2012-06-28 14:37:04.297
*** ACTION NAME:() 2012-06-28 14:37:04.296
*** MODULE NAME:(yan@m2m1110 (TNS V1-V3)) 2012-06-28 14:37:04.296
*** SERVICE NAME:(dbyan) 2012-06-28 14:37:04.296
*** SESSION ID:(1071.21989) 2012-06-28 14:37:04.296
java.security.AccessControlException: the Permission (java.io.FilePermission /home/oracle/testdir/00123456789F/AllTermStatusSyn/Data
read) has not been granted to M2M0401HH. The PL/SQL to grant this is dbms_java.grant_permission( 'M2M0401HH', 'SYS:java.io.FilePerm
ission', '/home/oracle/testdir/00123456789F/AllTermStatusSyn/Data', 'read' )
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:280)
at java.security.AccessController.checkPermission(AccessController.java:429)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:528)
at oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java:192)
at java.lang.SecurityManager.checkRead(SecurityManager.java:867)
at java.io.File.isDirectory(File.java:699)
at CreateFileDir.CreateAllDir(M2M_DBFILE_J:17)
/home/oracle/admin/dbyan/udump/dbyan_ora_10441.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
ORACLE_HOME = /home/oracle/product/10
System name: Linux
Node name: suse11
Release: 2.6.32.12-0.7-default
Version: #1 SMP 2010-05-20 11:14:20 +0200
Machine: x86_64
Instance name: dbyan
Redo thread mounted by this instance: 1
Oracle process number: 16
Unix process pid: 10441, image: oracle@suse11 (TNS V1-V3)
*** ACTION NAME:() 2012-09-13 16:34:45.137
*** MODULE NAME:(sqlplus@suse11 (TNS V1-V3)) 2012-09-13 16:34:45.137
*** SERVICE NAME:(SYS$USERS) 2012-09-13 16:34:45.137
*** SESSION ID:(322.3) 2012-09-13 16:34:45.137
ORA-30012: 还原表空间 'UNDOTBS1' 不存在或类型不正确
----------------------日志到此结束----------------
从上面的日志可以看出,显然是在initdbyan.ora中,回滚段的名称有误或者不存在。
(4) 从startup启动的日志来看,实例是已经加载成功的,所以可以进入mount状态,查看数据库的一些信息:(注意关注回滚段的相关信息)
a) oracle@suse11:sqlplus /nolog
SQL>conn /as sysdba
SQL>startup mount
b) SQL>select name from v$datafile
c) SQL>show parameter undo_tablespace
d) SQL>select name from v$tablespace
通过上面几个查询的信息可以看出回滚段的名称存在不一致的地方,因此需要修改回滚段的名称。
(5) 关闭数据库
SQL>shutdown immediate
(6) 修改initdbyan.ora文件的回滚段名称
(7) 重新启动数据库就OK了
oracle@suse11:sqlplus /nolog
SQL>conn /as sysdba
SQL>startup
相关文章推荐
- 10201 升级到10204的ORA-01092问题的解决
- 10201升级到10204的ORA-01092问题的解决
- 10201 升级到10204的ORA-01092问题的解决
- 【ORACLE】升级数据字典,解决ORA-01092: ORACLE instance terminated. Disconnection forced问题
- 给大家说明。升级数据字典,解决ORA-01092: ORACLE instance terminated. Disconnection forced问题
- “ORA-06413:连接未打开”问题解决了,大家引以为戒吧
- 解决ora-12154的问题
- oracle出现ORA-16038,ORA-19809,ORA-00312问题的解决方法
- Oracle 10g ORA-12154: TNS: could not resolve the connect identifier specified 问题解决! _转载
- “未在本地计算机注册OraOLEDB.Oracle提供程序"问题解决
- 解决数据库实例启动ORA-00205问题
- Oracle 临时表解决ORA-22992问题
- 解决ORA-00119 和ORA-00130问题
- ORA-28002: 密码将在 7 天后到期之问题解决
- drop user cascade出现ORA-04043问题的解决
- ora-12514 问题解决
- 关于 ora-01187 和ora-01110问题解决
- “ORA-01791:不是SELECTed表达式” 问题的解决方法
- PL/SQL developer连接oracle出现“ORA-12154:TNS:could not resolve the connect identifier specified”问题的解决
- ora-04091问题的解决