用下列语句创建数据库,报错,查看eventlog,报control1.ora文件打不开或者找不到,但是已经创建拉,明明有的。
下面语句应该没有问题,因为在别的机器上都成功的,
reate database        PCDG
controlfile            reuse
logfile
group                  1
(                      'C:\Oradata\PCDG\LOG1A.ORA'
,                      'D:\Oradata\PCDG\LOG1B.ORA'
)
size                   25M
,
group                  2
(                      'C:\Oradata\PCDG\LOG2A.ORA'
,                      'D:\Oradata\PCDG\LOG2B.ORA'
)
size                   25M
,
group                  3
(                      'C:\Oradata\PCDG\LOG3A.ORA'
,                      'D:\Oradata\PCDG\LOG3B.ORA'
)
size                   25M
force logging
noarchivelog
maxlogfiles            32
maxlogmembers          5
maxdatafiles           254
maxinstances           8
maxloghistory          1000
character set          UTF8
national character set UTF8
datafile               'C:\Oradata\PCDG\SYSTEM1.ORA'
size                   200M
extent management      local
default temporary
tablespace             temp
tempfile               'D:\Oradata\PCDG\TEMP1.ORA'
size                   400M
uniform size           1M
undo tablespace        undotbs1
datafile               'D:\Oradata\PCDG\UNDOTBS1.ORA'
size                   300M
;alter database
datafile               'C:\Oradata\PCDG\SYSTEM1.ORA'
autoextend             on
next                   50M
maxsize                500M
;create tablespace   tools
permanent
datafile            'D:\Oradata\PCDG\TOOLS1.ORA'
size                50M
extent management   local
segment space       management auto
;alter database
datafile            'D:\Oradata\PCDG\TOOLS1.ORA'
autoextend          on
next                50M
maxsize             400M
;alter user          sys
temporary
tablespace          temp
;alter user          system
default
tablespace          tools
temporary
tablespace          temp
;

解决方案 »

  1.   

    不好意思,本人不是高手,不过还是冒昧的先抛个砖,这里只是一个create database的脚本而已,你的手工创建的步骤是怎样的,初始化参数又是怎样设置的?
      

  2.   

    多谢楼上的热心
    初始化文件 init"".ora文件内容如下
    control_files                 = ( C:\Oradata\PCDG\CONTROL1.ORA
                                      , D:\Oradata\PCDG\CONTROL2.ORA
                                      )  compatible                    = 9.2.0  nls_language                  = AMERICAN
      nls_territory                 = "AMERICA"
      nls_date_format               = DD-MM-YYYY
      nls_length_semantics          = CHAR  remote_login_passwordfile     = EXCLUSIVE
      remote_os_authent             = FALSE
      os_authent_prefix             = ""
      global_names                  = FALSE
      resource_limit                = TRUE  db_name                       = PCDG
      instance_name                 = PCDG
      db_files                      = 1024
      max_enabled_roles             = 100
      undo_management               = AUTO
      undo_tablespace               = UNDOTBS1
      db_file_multiblock_read_count = 16
      db_block_size                 = 8192
      db_cache_size                 = 300M
      shared_pool_size              = 40M
      large_pool_size               = 0
      java_pool_size                = 0  processes                     = 200  open_cursors                  = 1000
      enqueue_resources             = 2500
      dml_locks                     = 2000  job_queue_processes           = 2
      open_links                    = 20
      remote_dependencies_mode      = signature  pga_aggregate_target          = 200M  log_buffer                    = 524288  fast_start_mttr_target        = 300  log_archive_start             = true
      log_archive_format            = LOG%S.ORA
      log_archive_dest_1            = 'location=D:\Oradata\PCDG\arch'
      log_archive_dest_state_1      = enable# Prepare PCDG for physical Standby  log_archive_dest_7            = 'SERVICE=UCDG reopen=300'
      log_archive_dest_state_7      = defer
      standby_file_management       = AUTO# Activate for physical Standby  fal_server                    = 'UCDG'
      fal_client                    = 'PCDG'
      standby_archive_dest          = 'location=D:\Orabackup\PCDG\standby_arch'  max_dump_file_size            = 20480
      background_dump_dest          = D:\Oraadmin\PCDG\bdump
      core_dump_dest                = D:\Oraadmin\PCDG\cdump
      user_dump_dest                = D:\Oraadmin\PCDG\udump
      

  3.   

    步骤我是通过批出来来做的,文件如下ORACLE_SID=${1}if [ "${ORACLE_SID}" = "" ]
    then
       echo ""
       echo "Instance Name Missing !"
       echo ""
       exit
    else
       export ORACLE_SID
    fiDATABASE=${ORACLE_SID}
    USER=SYS
    ${FOT_GETPASSWORD}if [ "${PASSWORD}" = "" ]
    then
       echo "Password ${USER} not in DFC0020" >${ORAADMIN}/${ORACLE_SID}/log/createdb.log
       exit
    fiexport SQLPATH=${ORAADMIN}/general/bin
    touch ${ORAADMIN}/general/bin/login.sql
    rm -f ${ORAADMIN}/general/bin/login.sql${FOT_SQLPLUS} /nolog <<EOF
    connect ${USER}/${PASSWORD} as sysdba
    shutdown abort
    EOFsleep 10${FOT_SQLPLUS} /nolog <<EOF
    connect ${USER}/${PASSWORD} as sysdba
    spool   ${ORAADMIN}/${ORACLE_SID}/log/createdb.log
    start   ${ORAADMIN}/${ORACLE_SID}/create/createdb.sql
    alter   user ${USER} identified by ${PASSWORD};
    spool   off
      

  4.   

    其实我只是根据一家数据库公司给的手顺来操作而已,
    第一次安装成功的,
    后来我卸载拉oracle,想再从装一片,就报这个错,百思不得期解阿
    同样的电脑,同样的手顺,也都是我操作的
      

  5.   


    这个是linux下的bash,不是window的bat呀。而你现在做是在window系统上做的吧顺便可不可以把你的log贴出来看看
      

  6.   

    Oracle重装比较麻烦,要彻底卸载才行:
    -----------------------------------------------------------------------------------------
    1、 开始->设置->控制面板->管理工具->服务
    停止所有Oracle服务。2、 开始->程序->Oracle - OraHome81->Oracle Installation Products->
    Universal Installer
    卸装所有Oracle产品,但Universal Installer本身不能被删除5、 运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。6、 运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动
    这个列表,删除所有Oracle入口。7、 运行refedit,
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,
    删除所有Oracle入口。8、 开始->设置->控制面板->系统->高级->环境变量
    删除环境变量CLASSPATH和PATH中有关Oracle的设定9、 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标10、 删除\Program Files\Oracle目录11、 重新启动计算机,重起后才能完全删除Oracle所在目录12、 删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入
    口目录及所有子目录,并从Windows 2000目录(一般为C:\WINNT)下删除以下文
    件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。13、 WIN.INI文件中若有[ORACLE]的标记段,删除该段14、 如有必要,删除所有Oracle相关的ODBC的DSN15、 到事件查看器中,删除Oracle相关的日志说明:
    如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,
    安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。
      

  7.   

    估计是没卸载干净造成的。原SID 和现SID是同名吗
      

  8.   

    这个是linux下的bash,不是window的bat呀。而你现在做是在window系统上做的吧 顺便可不可以把你的log贴出来看看
    -----------------------------------------------
    window下通过sh.exe来调用linux的bash进行处理的
      

  9.   

    下面是log文件内容
    Dump file d:\oraadmin\pcdg\bdump\alert_pcdg.log
    Wed Jun 10 17:09:44 2009
    ORACLE V9.2.0.1.0 - Production vsnsta=0
    vsnsql=12 vsnxtr=3
    Windows 2000 Version 5.2 Service Pack 2, CPU type 586
    Wed Jun 10 17:09:44 2009
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    SCN scheme 2
    Using log_archive_dest parameter default value
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    Starting up ORACLE RDBMS Version: 9.2.0.1.0.
    System parameters with non-default values:
      processes                = 200
      resource_limit           = TRUE
      shared_pool_size         = 41943040
      large_pool_size          = 0
      java_pool_size           = 0
      enqueue_resources        = 2500
      nls_language             = AMERICAN
      nls_territory            = AMERICA
      nls_date_format          = DD-MM-YYYY
      nls_length_semantics     = CHAR
      control_files            = C:\Oradata\PCDG\CONTROL1.ORA, D:\Oradata\PCDG\CONTROL2.ORA
      db_block_size            = 8192
      db_cache_size            = 318767104
      compatible               = 9.2.0
      log_archive_start        = TRUE
      log_archive_dest_1       = location=D:\Oradata\PCDG\arch
      log_archive_dest_7       = SERVICE=UCDG reopen=300
      log_archive_dest_state_1 = enable
      log_archive_dest_state_7 = defer
      standby_archive_dest     = location=D:\Orabackup\PCDG\standby_arch
      fal_server               = UCDG
      fal_client               = PCDG
      log_archive_format       = LOG%S.ORA
      log_buffer               = 524288
      db_files                 = 1024
      db_file_multiblock_read_count= 16
      standby_file_management  = AUTO
      fast_start_mttr_target   = 300
      dml_locks                = 2000
      undo_management          = AUTO
      undo_tablespace          = UNDOTBS1
      max_enabled_roles        = 100
      remote_os_authent        = FALSE
      remote_login_passwordfile= EXCLUSIVE
      global_names             = FALSE
      instance_name            = PCDG
      remote_dependencies_mode = SIGNATURE
      job_queue_processes      = 2
      background_dump_dest     = D:\Oraadmin\PCDG\bdump
      user_dump_dest           = D:\Oraadmin\PCDG\udump
      max_dump_file_size       = 20480
      core_dump_dest           = D:\Oraadmin\PCDG\cdump
      open_links               = 20
      db_name                  = PCDG
      open_cursors             = 1000
      os_authent_prefix        = 
      pga_aggregate_target     = 209715200
    PMON started with pid=2
    DBW0 started with pid=3
    LGWR started with pid=4
    CKPT started with pid=5
    SMON started with pid=6
    RECO started with pid=7
    CJQ0 started with pid=8
    Wed Jun 10 17:09:46 2009
    ARCH: STARTING ARCH PROCESSES
    ARC0 started with pid=9
    ARC0: Archival started
    ARC1 started with pid=10
    ARC1: Archival started
    Wed Jun 10 17:09:47 2009
    ARCH: STARTING ARCH PROCESSES COMPLETE
    Wed Jun 10 17:09:47 2009
    ARC0: Thread not mounted
    Wed Jun 10 17:09:47 2009
    ARC1: Thread not mounted
    Wed Jun 10 17:09:47 2009
    alter database mount exclusive 
    Wed Jun 10 17:09:47 2009
    ORA-00202: controlfile: 'C:\Oradata\PCDG\CONTROL1.ORA'
    ORA-27041: unable to open file
    OSD-04002: 文件不能打开
    O/S-Error: (OS 2) 指定文件没有找到Wed Jun 10 17:09:47 2009
    ORA-205 signalled during: alter database mount exclusive...
    Shutting down instance (abort)
    License high water  = 2
    Instance terminated by USER, pid = 3992
    Wed Jun 10 17:09:52 2009
    Shutting down instance (abort)
    Wed Jun 10 17:10:02 2009
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
      

  10.   

    可能是controlfile损坏了,先拷贝到其他地方去,然后手工创建一个,或者是从其他的数据库导一个出来
    SQL>  alter database backup controlfile to trace;在trace里有一段CREATE CONTROLFILE REUSE DATABASE这段,根据你的数据库修改后在你的数据库nomount的状态下执行。
      

  11.   

    ORA-00202: controlfile: 'C:\Oradata\PCDG\CONTROL1.ORA'
    ORA-27041: unable to open file
    OSD-04002: 文件不能打开
    O/S-Error: (OS 2) 指定文件没有找到 
    ========================================================
    'C:\Oradata\PCDG\CONTROL1.ORA' 确定存在吗?
      

  12.   

    Dump file d:\oraadmin\pcdg\bdump\alert_pcdg.log 
    Wed Jun 10 17:09:44 2009 
    ORACLE V9.2.0.1.0 - Production vsnsta=0 
    vsnsql=12 vsnxtr=3 
    Windows 2000 Version 5.2 Service Pack 2, CPU type 586 
    Wed Jun 10 17:09:44 2009 
    Starting ORACLE instance (normal) 
    LICENSE_MAX_SESSION = 0 
    LICENSE_SESSIONS_WARNING = 0 
    SCN scheme 2 
    Using log_archive_dest parameter default value 
    LICENSE_MAX_USERS = 0 
    SYS auditing is disabled 
    Starting up ORACLE RDBMS Version: 9.2.0.1.0. 
    System parameters with non-default values: 
      processes                = 200 
      resource_limit          = TRUE 
      shared_pool_size        = 41943040 
      large_pool_size          = 0 
      java_pool_size          = 0 
      enqueue_resources        = 2500 
      nls_language            = AMERICAN 
      nls_territory            = AMERICA 
      nls_date_format          = DD-MM-YYYY 
      nls_length_semantics    = CHAR 
      control_files            = C:\Oradata\PCDG\CONTROL1.ORA, D:\Oradata\PCDG\CONTROL2.ORA 
      db_block_size            = 8192 
      db_cache_size            = 318767104 
      compatible              = 9.2.0 
      log_archive_start        = TRUE 
      log_archive_dest_1      = location=D:\Oradata\PCDG\arch 
      log_archive_dest_7      = SERVICE=UCDG reopen=300 
      log_archive_dest_state_1 = enable 
      log_archive_dest_state_7 = defer 
      standby_archive_dest    = location=D:\Orabackup\PCDG\standby_arch 
      fal_server              = UCDG 
      fal_client              = PCDG 
      log_archive_format      = LOG%S.ORA 
      log_buffer              = 524288 
      db_files                = 1024 
      db_file_multiblock_read_count= 16 
      standby_file_management  = AUTO 
      fast_start_mttr_target  = 300 
      dml_locks                = 2000 
      undo_management          = AUTO 
      undo_tablespace          = UNDOTBS1 
      max_enabled_roles        = 100 
      remote_os_authent        = FALSE 
      remote_login_passwordfile= EXCLUSIVE 
      global_names            = FALSE 
      instance_name            = PCDG 
      remote_dependencies_mode = SIGNATURE 
      job_queue_processes      = 2 
      background_dump_dest    = D:\Oraadmin\PCDG\bdump 
      user_dump_dest          = D:\Oraadmin\PCDG\udump 
      max_dump_file_size      = 20480 
      core_dump_dest          = D:\Oraadmin\PCDG\cdump 
      open_links              = 20 
      db_name                  = PCDG 
      open_cursors            = 1000 
      os_authent_prefix        = 
      pga_aggregate_target    = 209715200 
    PMON started with pid=2 
    DBW0 started with pid=3 
    LGWR started with pid=4 
    CKPT started with pid=5 
    SMON started with pid=6 
    RECO started with pid=7 
    CJQ0 started with pid=8 
    Wed Jun 10 17:09:46 2009 
    ARCH: STARTING ARCH PROCESSES 
    ARC0 started with pid=9 
    ARC0: Archival started 
    ARC1 started with pid=10 
    ARC1: Archival started 
    Wed Jun 10 17:09:47 2009 
    ARCH: STARTING ARCH PROCESSES COMPLETE 
    Wed Jun 10 17:09:47 2009 
    ARC0: Thread not mounted 
    Wed Jun 10 17:09:47 2009 
    ARC1: Thread not mounted 
    Wed Jun 10 17:09:47 2009 
    alter database mount exclusive 
    Wed Jun 10 17:09:47 2009 
    ORA-00202: controlfile: 'C:\Oradata\PCDG\CONTROL1.ORA' 
    ORA-27041: unable to open file 
    OSD-04002: 文件不能打开 
    O/S-Error: (OS 2) 指定文件没有找到 Wed Jun 10 17:09:47 2009 
    ORA-205 signalled during: alter database mount exclusive... 
    Shutting down instance (abort) 
    License high water  = 2 
    Instance terminated by USER, pid = 3992 
    Wed Jun 10 17:09:52 2009 
    Shutting down instance (abort) 
    Wed Jun 10 17:10:02 2009 
    Starting ORACLE instance (normal) 
    LICENSE_MAX_SESSION = 0 
    LICENSE_SESSIONS_WARNING = 0 
      

  13.   


    还是有问题么。可能是controlfile损坏了,先拷贝到其他地方去,然后手工创建一个,或者是从其他的数据库导一个出来 
    SQL>  alter database backup controlfile to trace; 在trace里有一段CREATE CONTROLFILE REUSE DATABASE这段,根据你的数据库修改后在你的数据库nomount的状态下执行。