本人初学Oracle,安装的是Oracle11G,几天前对Oracle数据库做了一次全库备份。过程如下:
c:\>sqlplus /nolog
SQL> conn / as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
SQL> alter system archive log start;
SQL> exit
set oracle_sid=MyOraDB
rman target /
RMAN> configure default device type to disk;
RMAN> configure device type disk parallelism 1;
RMAN> configure channel 1 device type disk format 'd:\MyOraDB_Bak\backup_%U';
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk to 'd:\MyOraDB_Bak\ctl_%F';
RMAN> backup database plus archivelog delete input;
RMAN> backup tablespace system plus archivelog delete input;
RMAN> backup archivelog all delete input;
RMAN> exit
备份当时未发现有什么异常,执行完后改回配置,直接重新启动,现在不能数据库不能使用了。查看系统服务,只有OracleMTSRecoveryService没有启动,其它如OracleServiceMYORADB、OracleOraDB11g_home1TNSListener、OracleOraDB11g_home1ClrAgent、OracleDbConsoleMyOraDB、OracleJobSchedulerMYORADB等服务都已启动成功。但用PL/SQL登录时,显示ORA-12514:TNS:listener does not currently know of service requested in connect descriptor。
查看listener.ora,内容是:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extpro)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)
)
)
ADR_BASE_LISTENER = D:\app\Administrator
查看tnsnames.ora的内容如下:
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
MYORADB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MyOraDB)
)
)
看以上内容,好象和数据库正常时的内容一样,没有什么变化。
手工启动OracleMTSRecoveryService服务,也能启动,中途没有提示错误。
在命令行中执行sqlplus,输入用户名和密码后,提示:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Process ID:0
Session ID:0 Serial number:0
在命令行中执行rman target / 时提示:
connected to target database: MYORADB (not mounted)
c:\>sqlplus /nolog
SQL> conn / as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
SQL> alter system archive log start;
SQL> exit
set oracle_sid=MyOraDB
rman target /
RMAN> configure default device type to disk;
RMAN> configure device type disk parallelism 1;
RMAN> configure channel 1 device type disk format 'd:\MyOraDB_Bak\backup_%U';
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk to 'd:\MyOraDB_Bak\ctl_%F';
RMAN> backup database plus archivelog delete input;
RMAN> backup tablespace system plus archivelog delete input;
RMAN> backup archivelog all delete input;
RMAN> exit
备份当时未发现有什么异常,执行完后改回配置,直接重新启动,现在不能数据库不能使用了。查看系统服务,只有OracleMTSRecoveryService没有启动,其它如OracleServiceMYORADB、OracleOraDB11g_home1TNSListener、OracleOraDB11g_home1ClrAgent、OracleDbConsoleMyOraDB、OracleJobSchedulerMYORADB等服务都已启动成功。但用PL/SQL登录时,显示ORA-12514:TNS:listener does not currently know of service requested in connect descriptor。
查看listener.ora,内容是:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extpro)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)
)
)
ADR_BASE_LISTENER = D:\app\Administrator
查看tnsnames.ora的内容如下:
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
MYORADB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MyOraDB)
)
)
看以上内容,好象和数据库正常时的内容一样,没有什么变化。
手工启动OracleMTSRecoveryService服务,也能启动,中途没有提示错误。
在命令行中执行sqlplus,输入用户名和密码后,提示:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Process ID:0
Session ID:0 Serial number:0
在命令行中执行rman target / 时提示:
connected to target database: MYORADB (not mounted)
ORA-27101: shared memory realm does not exist
数据库没有能够正常启动,
问题不是处在你备份上,肯定以前修改过什么参数,现在重启,参数生效,无法启动,检查下ALTER LOG,做什么修改。
如果是修改参数据的原因,会不会是以下几个命令造成的:
RMAN> configure default device type to disk;
RMAN> configure device type disk parallelism 1;
RMAN> configure channel 1 device type disk format 'd:\MyOraDB_Bak\backup_%U';
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk to 'd:\MyOraDB_Bak\ctl_%F'; To 2楼朋友:
本人初学Oracle,不知alert日志信息在什么地方?
既然错误已经出来了,常识,手工启动数据库,根据错误再去分析。
在app\administrator\product\11.2.0\dbhome_1\admin\sample\目录下有bdump目录,但该目录下是空的。请教秋雨飘落:如何手工启动数据库?
DOS下进本地SQLPLUSconn /as sysdba
startup
看报什么错,发上来
ORA-01081: cannot start already-running ORACLE - shut it down first
执行shutdown immediate;后再执行startup的提示信息为:
ORACLE instance started.
Total System Global Area 535662592 bytes
Fixed Size 1375792 bytes
Variable Size 184549840 bytes
Database Buffers 343932928 bytes
Redo Buffers 5804032 bytes
ORA-00214: control file 'D:\app\admiistrator\oradata\myoradb\control01.ctl' version 65175 inconsistent with file 'd:\app\administrator\flash_recovery_area\myoradb\control02.ctl' version 56343