SQL> show user
USER 为 "SYS"
SQL> show parameter controlNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string D:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORACLE1\CONTROL01.CTL, D:\O
RACLE\PRODUCT\10.2.0\ORADATA\O
RACLE1\CONTROL02.CTL, D:\ORACL
E\PRODUCT\10.2.0\ORADATA\ORACL
E1\CONTROL03.CTL
SQL> desc v$parameter
名称 是否为空? 类型
----------------------------------------- -------- ---------------------------- NUM NUMBER
NAME VARCHAR2(80)
TYPE NUMBER
VALUE VARCHAR2(512)
DISPLAY_VALUE VARCHAR2(512)
ISDEFAULT VARCHAR2(9)
ISSES_MODIFIABLE VARCHAR2(5)
ISSYS_MODIFIABLE VARCHAR2(9)
ISINSTANCE_MODIFIABLE VARCHAR2(5)
ISMODIFIED VARCHAR2(10)
ISADJUSTED VARCHAR2(5)
ISDEPRECATED VARCHAR2(5)
DESCRIPTION VARCHAR2(255)
UPDATE_COMMENT VARCHAR2(255)
HASH NUMBERSQL> select name,ismodified from v$parameter where name like '%control%';NAME
--------------------------------------------------------------------------------ISMODIFIED
----------
control_files
FALSEcontrol_file_record_keep_time
FALSE
SQL> alter system set control_files='d:\oracle\CONTROL01.CTL,d:\oracle\CONTROL02
.CTL,d:\oracle\CONTROL03.CTL' scope=spfile;系统已更改。SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL01.CTL D:\ORACLE\
CONTROL01.CTL
已复制 1 个文件。SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL02.CTL D:\ORACLE\
CONTROL02.CTL
已复制 1 个文件。SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL03.CTL D:\ORACLE\
CONTROL03.CTL
已复制 1 个文件。SQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL01.CTLSQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL02.CTLSQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL03.CTLSQL> startup
ORACLE 例程已经启动。Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 100664000 bytes
Database Buffers 180355072 bytes
Redo Buffers 7139328 bytes
ORA-00205: ?????????, ??????, ???????
SQL> show parameter control_filesNAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_files string
D:\ORACLE\CONTROL01.CTL,D:\ORA
CLE\CONTROL02.CTL,D:\ORACLE\CO
NTROL03.CTL
SQL>我觉得我的操作没有问题,并且修改参数已经成功了。我使用的是oracle 10g版本,数据库启动的时候应该从spfile启动,应该没有问题的,但是问题毕竟存在,请教高手给俺指点一下,谢谢
USER 为 "SYS"
SQL> show parameter controlNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string D:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORACLE1\CONTROL01.CTL, D:\O
RACLE\PRODUCT\10.2.0\ORADATA\O
RACLE1\CONTROL02.CTL, D:\ORACL
E\PRODUCT\10.2.0\ORADATA\ORACL
E1\CONTROL03.CTL
SQL> desc v$parameter
名称 是否为空? 类型
----------------------------------------- -------- ---------------------------- NUM NUMBER
NAME VARCHAR2(80)
TYPE NUMBER
VALUE VARCHAR2(512)
DISPLAY_VALUE VARCHAR2(512)
ISDEFAULT VARCHAR2(9)
ISSES_MODIFIABLE VARCHAR2(5)
ISSYS_MODIFIABLE VARCHAR2(9)
ISINSTANCE_MODIFIABLE VARCHAR2(5)
ISMODIFIED VARCHAR2(10)
ISADJUSTED VARCHAR2(5)
ISDEPRECATED VARCHAR2(5)
DESCRIPTION VARCHAR2(255)
UPDATE_COMMENT VARCHAR2(255)
HASH NUMBERSQL> select name,ismodified from v$parameter where name like '%control%';NAME
--------------------------------------------------------------------------------ISMODIFIED
----------
control_files
FALSEcontrol_file_record_keep_time
FALSE
SQL> alter system set control_files='d:\oracle\CONTROL01.CTL,d:\oracle\CONTROL02
.CTL,d:\oracle\CONTROL03.CTL' scope=spfile;系统已更改。SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL01.CTL D:\ORACLE\
CONTROL01.CTL
已复制 1 个文件。SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL02.CTL D:\ORACLE\
CONTROL02.CTL
已复制 1 个文件。SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL03.CTL D:\ORACLE\
CONTROL03.CTL
已复制 1 个文件。SQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL01.CTLSQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL02.CTLSQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL03.CTLSQL> startup
ORACLE 例程已经启动。Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 100664000 bytes
Database Buffers 180355072 bytes
Redo Buffers 7139328 bytes
ORA-00205: ?????????, ??????, ???????
SQL> show parameter control_filesNAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_files string
D:\ORACLE\CONTROL01.CTL,D:\ORA
CLE\CONTROL02.CTL,D:\ORACLE\CO
NTROL03.CTL
SQL>我觉得我的操作没有问题,并且修改参数已经成功了。我使用的是oracle 10g版本,数据库启动的时候应该从spfile启动,应该没有问题的,但是问题毕竟存在,请教高手给俺指点一下,谢谢
alter session set nls_language=american
alter database mount
alter database open;
00205, 00000, "error in identifying control file, check alert log for more info"
// *Cause: The system could not find a control file of the specified name and
// size.
// *Action: Check that ALL control files are online and that they are the same
// files that the system created at cold start time.
System parameters with non-default values:
processes = 150
__shared_pool_size = 88080384
__large_pool_size = 4194304
__java_pool_size = 4194304
__streams_pool_size = 0
spfile = D:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORACLE1.ORA
sga_target = 289406976
control_files = D:\ORACLE\CONTROL01.CTL,D:\ORACLE\CONTROL02.CTL,D:\ORACLE\CONTROL03.CTL
db_block_size = 8192
__db_cache_size = 184549376
compatible = 10.2.0.1.0
db_file_multiblock_read_count= 16
db_recovery_file_dest = D:\oracle\product\10.2.0/flash_recovery_area
db_recovery_file_dest_size= 2147483648
undo_management = AUTO
undo_tablespace = UNDOTBS1
remote_login_passwordfile= EXCLUSIVE
db_domain = asiainfo.com
dispatchers = (PROTOCOL=TCP) (SERVICE=oracle1XDB)
job_queue_processes = 10
audit_file_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ORACLE1\ADUMP
background_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ORACLE1\BDUMP
user_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ORACLE1\UDUMP
core_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ORACLE1\CDUMP
db_name = oracle1
open_cursors = 300
pga_aggregate_target = 95420416
PMON started with pid=2, OS id=36328
PSP0 started with pid=3, OS id=36332
MMAN started with pid=4, OS id=36336
DBW0 started with pid=5, OS id=36340
LGWR started with pid=6, OS id=36344
CKPT started with pid=7, OS id=36352
SMON started with pid=8, OS id=36356
RECO started with pid=9, OS id=36348
CJQ0 started with pid=10, OS id=36320
MMON started with pid=11, OS id=36364
Tue Aug 25 11:01:39 2009
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
MMNL started with pid=12, OS id=36368
Tue Aug 25 11:01:39 2009
starting up 1 shared server(s) ...
Tue Aug 25 11:01:50 2009
alter database mount
Tue Aug 25 11:01:50 2009
ORA-00202: control file: 'D:\ORACLE\CONTROL01.CTL,D:\ORACLE\CONTROL02.CTL,D:\ORACLE\CONTROL03.CTL'
ORA-27041: unable to open file
OSD-04002: 无法打开文件
O/S-Error: (OS 123) 文件名、目录名或卷标语法不正确。在数据库载入的时候报错了,例程启动的时候并没有报错
USER 为 "SYS"
SQL> show parameter control_files;NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string D:\ORACLE\PRODUCT\10.2.0\ORADA
TA\ORACLE1\CONTROL01.CTL, D:\O
RACLE\PRODUCT\10.2.0\ORADATA\O
RACLE1\CONTROL02.CTL, D:\ORACL
E\PRODUCT\10.2.0\ORADATA\ORACL
E1\CONTROL03.CTL
SQL> select name,issys_modifiable from v$parameter where name like '%control_fil
es%';NAME
--------------------------------------------------------------------------------ISSYS_MOD
---------
control_files
FALSE
SQL> alter system set control_files='d:\ORACLE\CONTROL01.CTL,D:\ORACLE\CONTROL02
.CTL,D:\ORACLE\CONTROL03.CTL';
alter system set control_files='d:\ORACLE\CONTROL01.CTL,D:\ORACLE\CONTROL02.CTL,
D:\ORACLE\CONTROL03.CTL'
*
第 1 行出现错误:
ORA-02095: 无法修改指定的初始化参数
SQL> alter system set control_files='d:\ORACLE\CONTROL01.CTL,D:\ORACLE\CONTROL02
.CTL,D:\ORACLE\CONTROL03.CTL' scope=spfile;系统已更改。SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host move D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL01.CTL D:\ORACLE\
CONTROL01.CTLSQL> host move D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL02.CTL D:\ORACLE\
CONTROL02.CTLSQL> host move D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\CONTROL03.CTL D:\ORACLE\
CONTROL03.CTLSQL> host dir d:\oracle
驱动器 D 中的卷没有标签。
卷的序列号是 B045-2DA4 d:\oracle 的目录2009-08-25 11:00 <DIR> .
2009-08-25 11:00 <DIR> ..
2009-08-25 10:59 7,061,504 CONTROL01.CTL
2009-08-25 10:59 7,061,504 CONTROL02.CTL
2009-08-25 10:59 7,061,504 CONTROL03.CTL
2009-08-17 09:38 <DIR> product
3 个文件 21,184,512 字节
3 个目录 23,797,260,288 可用字节SQL> host dir D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1\
驱动器 D 中的卷没有标签。
卷的序列号是 B045-2DA4 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE1 的目录2009-08-25 11:00 <DIR> .
2009-08-25 11:00 <DIR> ..
2009-08-25 10:59 52,429,312 REDO01.LOG
2009-08-25 10:59 52,429,312 REDO02.LOG
2009-08-25 10:59 52,429,312 REDO03.LOG
2009-08-25 10:59 304,095,232 SYSAUX01.DBF
2009-08-25 10:59 503,324,672 SYSTEM01.DBF
2009-08-24 03:22 20,979,712 TEMP01.DBF
2009-08-25 10:59 26,222,592 UNDOTBS01.DBF
2009-08-25 10:59 104,865,792 USERS01.DBF
8 个文件 1,116,775,936 字节
2 个目录 23,797,239,808 可用字节SQL>
SQL> startup nomount
ORACLE 例程已经启动。Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 96469696 bytes
Database Buffers 184549376 bytes
Redo Buffers 7139328 bytes
SQL> alter database mount
2 /
alter database mount
*
第 1 行出现错误:
ORA-00205: ?????????, ??????, ???????
SQL> alter session set nls_language=american ;Session altered.SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00205: error in identifying control file, check alert log for more info
SQL>
'd:\oracle\CONTROL02.ctl',
'd:\oracle\CONTROL03.CTL' scope=spfile
这个地方把整个字符串当成 是一个controlfile 的路径和名字