用管理器svrmgrl将oralce关闭再开启,查看错误信息。

解决方案 »

  1.   

    数据库没有起来,按 lgos(飞云) 的方法,如果是9I
    c:\sqlplus "/ as sysdba"
    sql>startup
      

  2.   

    oracle 的服务启动并不等于 oracle 的数据库就启动了,按照楼上说的手动启动数据库试试,如果手动启不来就没多大希望了,只好进行恢复或重装了
      

  3.   

    还是不行,svrmgrl运行不了,开始-运行-svrmgrl提示说"找不到文件svrmgrl或它的组件之一...",如何运行它呢,不好意思这个问题实在太菜了,还有connect命令它做哪些工作呢
      

  4.   

    To dinya2003(OK)
    "要重新来过,命令重起"具体怎么做呢?
      

  5.   

    为什么不去看看ORACLE的警告日志?
      

  6.   

    如果是9i版本,系统没有svmgrl,只有sqlplus
    用系统管理员身份登录,然后startup
    如果startup不能正常启动,那就恭喜你,中奖了,你的数据库需要修复
      

  7.   

    运行sqlplus/nolog
    然后connect system/manager 就出现ora-01034:oracle not available错误,这样好象没办法startup了
    在计算机-管理-事件查看器-应用程序,看到如下信息:
    1.Oracle Web Publishing Assistant initialization successfull
    2.audit trail: ACTION : 'connect INTERNAL' OSPRIV : OPER CLIENT USER: SYSTEM CLIENT TERMINAL: YCL933
    3.Audit trail:  ACTION : 'startup' AUDIT_TRAIL : none.
    4.Audit trail:  ACTION : 'startup' OS_AUTHENT_PREFIX : OPS$.
    5.由于 open 函数中有时间冲突,WMI ADAP 无法处理 Oracle80 性能库; 
      

  8.   

    你的数据文件坏了,已经没有办法了,只能重装,就是在关闭数据的时候使用abort参数都会使数据文件损坏,何况断电!!!!
      

  9.   

    去看看ORACLE的警告日志,如果你不知道在哪里,在ORACLE的目录下查找*alrt.log文件!
      

  10.   

    TO  aweihz:
    找到了警告日志,有这样的错误:
    Errors in file E:\orant\rdbms80\trace\yoraSNP0.TRC:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-06553: PLS-213: package STANDARD not accessibleTue Jun 22 18:18:46 2004
    Errors in file E:\orant\rdbms80\trace\yoraSNP1.TRC:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-06553: PLS-213: package STANDARD not accessibleErrors in file E:\orant\rdbms80\trace\ORA01200.TRC:
    ORA-00600: internal error code, arguments: [549], [], [], [], [], [], [], []
    是什么意思呢
      

  11.   

    用Internal进入,然后Startup
    Ora600错误,问题有点大了
      

  12.   

    TO aweihz:
     上面那些是最新的错误信息,机器重启过好几次了,可是数据库如何重启呢?不好意思我实在太菜了,请说详细点
      

  13.   

    你在安装ORACLE的机器上顺序执行以下语句:
    1、sqlplus internal
    2、startup
    看看出来什么错误信息。
      

  14.   

    执行1,错误:ora-01031 insufficient privileges
      

  15.   

    检查一下你的设置,把$ORACLE_HOME\NETWORK\ADMIN\SQLNET.ORA文件的内容和你的初始化文件$ORACLE_HOME/DATABASE/init<SID>.ora贴出来看看,最后确认你使用ADMINISTRATOR用户登陆WINDOWS的吗?你的网络存在域控制器吗?你是在安装ORACLE的机器的上面执行以上的语句的吗?机器使用了TERMINAL SERVICE吗?
      

  16.   

    SQLNET.ORA文件的内容:
    RACE_LEVEL_CLIENT = OFF
    sqlnet.authentication_services = (NONE)
    names.directory_path = (TNSNAMES, HOSTNAME)
    names.default_domain = world
    name.default_zone = world
    automatic_ipc = offdb_name = yora
    db_files = 1020
    control_files = ("E:\orant\database\ctl1yora.ora", "E:\orant\database\ctl2yora.ora")
    db_file_multiblock_read_count = 16
    db_block_buffers = 550
    shared_pool_size = 11534336
    log_checkpoint_interval = 8000
    processes = 100
    dml_locks = 200
    log_buffer = 32768
    sequence_cache_entries = 30
    sequence_cache_hash_buckets = 23
    #audit_trail = true
    #timed_statistics = true
    background_dump_dest = E:\orant\rdbms80\trace
    user_dump_dest = E:\orant\rdbms80\trace
    db_block_size =2048
    compatible = 8.1.5.0.0
    sort_area_size = 65536
    log_checkpoint_timeout = 0
    remote_login_passwordfile = shared
    max_dump_file_size = 10240
    inityora.ora文件的内容:
    _allow_resetlogs_corruption = true  (这句是后来已经出了问题才加的)
    _corrupted_rollback_segments = (RB0,RB1) (这句是后来已经出了问题才加的)
    ###############   Oracle replication ROLLBACK_SEGMENT=(RB0,RB1)########################
    global_names = true
    job_queue_processes = 2
    job_queue_interval = 60
    job_queue_keep_connections = false
    distributed_lock_timeout = 60
    distributed_transactions = 16
    open_links = 4
    snapshot_refresh_interval = 60
    snapshot_refresh_keep_connections=false
    snapshot_refresh_processes = 2我是用ADMINISTRATOR用户登陆WINDOWS的,网络不存在域控制器,是在安装ORACLE的机器的上面执行以上的语句的,但是不知道机器有没有使用TERMINAL  SERVICE,这该如何查看呢 
      

  17.   

    你的SQLNET怎么会有初始化文件的内容还是你贴错了?
    不知道你机器的实际环境,你先改我以下说的参数,如果涉及到你们的其他目的不能修改,那另外再说:
    1、SQLNET.ORA中
    sqlnet.authentication_services = (NTS)
    2、inityora.ora中remote_login_passwordfile = execlusive
    删掉
    _allow_resetlogs_corruption = true  
    _corrupted_rollback_segments = (RB0,RB1) 你使用了隐含参数以后重新建库了吗?哪位DX让你这样做的?
    做完以后再试试前面的操作重新启动数据库看看。
      

  18.   

    不好意思贴错了,SQLNET.ORA文件的内容只有:  
    RACE_LEVEL_CLIENT  =  OFF  
    sqlnet.authentication_services  =  (NONE)  
    names.directory_path  =  (TNSNAMES,  HOSTNAME)  
    names.default_domain  =  world  
    name.default_zone  =  world  
    automatic_ipc  =  off  
    后面的是初始化文件的内容.
     
    _allow_resetlogs_corruption  =  true      
    _corrupted_rollback_segments  =  (RB0,RB1) 
    是我找的以前的相关的贴子加进去的,但是加进去后也没重新建库.我现在试试你所说的操作.
      

  19.   

    我修改了这两个参数
    1、SQLNET.ORA中
    sqlnet.authentication_services = (NTS)
    2、inityora.ora中remote_login_passwordfile = execlusive
    然后删掉
    _allow_resetlogs_corruption = true  
    _corrupted_rollback_segments = (RB0,RB1) 
    然后机器重启,然后sqlplus internal还是提示权限不够机器环境:windows 2000 professional, oracle 8.0.5 for Windows NT 
    另外安装了一个sql server 2000 
      

  20.   

    try these pls:
    1、svrmgrl
    2、connect internal
    3、startup
      

  21.   

    svrmgrl运行不了,开始-运行-svrmgrl提示说"找不到文件svrmgrl或它的组件之一..."
      

  22.   

    TO aweihz:
    sqlplus internal  可以连上了,
    (我在控制面板->管理工具->计算机管理->本地用户和组->用户
     选定用户之后,按右键 "属性" ,选 隶属于 加多了一个 ORA_DBA ,这样就连上了)可是startup却不能成功,错误是:未知命令"startup"
    请再帮我看看.
      

  23.   

    805里面不能使用SQLPLUS来STARTUP的,进到DOS窗口,然后cd e:\orant\bin,再执行SVRMGRL看看。
      

  24.   

    错了,805里面的命令好像是SVRMGR80,试试看吧,去E:\ORANT\BIN目录找找看SVRM*这样的文件。
      

  25.   

    TO aweihz
    startup启动成功! (先执行svrmgr30,再startup).非常感谢!现在运行sql/plus 出现错误:
    ORA-06553: PLS-213:STANDARD 包 (Package)不可存取
    访问程序包 DBMS_APPLICATION_INFO 时出现错误
    错误:
    ORA-06553: PLS-213:STANDARD 包 (Package)不可存取
      

  26.   

    pls do these:
    1、SQLPLUS INTERNAL
    2、SPOOL E:\SPOOL.OUT
    3、@?/RDBMS/ADMIN/CATALOG.SQL
    4、@?/RDBMS/ADMIN/CATPROC.SQL
    5、@?/rdbms/admin/utlrp.sql
    check file spool.out to find the errors.
      

  27.   

    TO aweihz:运行后错误如下:create public synonym utl_http for sys.utl_http
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 CREATE TYPE sys.aq$_agent
                *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE TYPE sys.aq$_dequeue_history
                *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE TYPE sys.aq$_subscribers
                *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE TYPE sys.aq$_recipients
                *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE TYPE sys.aq$_history
                *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE TYPE sys.aq$_dequeue_history_t
                *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 CREATE TABLE system.aq$_queue_tables(
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE TABLE system.aq$_queues(
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE TABLE system.aq$_schedules(
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    未知命令开始"CONSTRAINT..." -- 其余行忽略。
    未知命令开始"queue_name..." -- 其余行忽略。
                                                    -- 'F' otherwise
                                                                   *
    错误位于第9行:
    ORA-00921: 未预期的 SQL 命令结尾 
    CREATE TABLE sys.aq$_queue_statistics(
                     *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    CREATE OR REPLACE TYPE sys.aq$_dummy_t AS OBJECT (data CHAR(1));
    *
    错误位于第1行:
    ORA-06545: PL/SQL:编译错误 - 编译中止
    ORA-06550: 行2、列1:
    PLS-00103: 出现符号"GRANT"
    ORA-06550: 行0、列0:
    PLS-00565: 作为潜在的 REF 目标(对象类型),AQ$_DUMMY_T必须是完整的 DROP SYNONYM def$_tran
                 *
    错误位于第1行:
    ORA-01434: 要删除的隐含同义词不存在 
    DROP SYNONYM def$_call
                 *
    错误位于第1行:
    ORA-01434: 要删除的隐含同义词不存在BEGIN
    *
    错误位于第1行:
    ORA-24001: 无法创建 QUEUE_TABLE,SYSTEM.DEF$_AQCALL已经存在
    ORA-06512: 在"SYS.DBMS_AQADM", line 1477
    ORA-06512: 在line 2 
    BEGIN
    *
    错误位于第1行:
    ORA-24006: 无法创建 QUEUE,DEF$_AQCALL已经存在
    ORA-06512: 在"SYS.DBMS_AQADM", line 1583
    ORA-06512: 在line 2 PL/SQL 过程已成功完成。create index system.def$_tranorder on system.def$_aqcall(
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 
    drop index system.aq$_def$_aqcall_i
    *
    错误位于第1行:
    ORA-01418: 指定的索引不存在 
    drop index system.aq$_def$_aqcall_t
    *
    错误位于第1行:
    ORA-01418: 指定的索引不存在 
    BEGIN
    *
    错误位于第1行:
    ORA-24001: 无法创建 QUEUE_TABLE,SYSTEM.DEF$_AQERROR已经存在
    ORA-06512: 在"SYS.DBMS_AQADM", line 1477
    ORA-06512: 在line 2 
    BEGIN
    *
    错误位于第1行:
    ORA-24006: 无法创建 QUEUE,DEF$_AQERROR已经存在
    ORA-06512: 在"SYS.DBMS_AQADM", line 1583
    ORA-06512: 在line 2 PL/SQL 过程已成功完成。drop index system.aq$_def$_aqerror_i
    *
    错误位于第1行:
    ORA-01418: 指定的索引不存在 
    drop index system.aq$_def$_aqerror_t
    *
    错误位于第1行:
    ORA-01418: 指定的索引不存在 查看已变更。CREATE TABLE system.def$_error(
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 CREATE TABLE system.def$_destination(
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 CREATE TABLE system.def$_propagator(
                        *
    错误位于第1行:
    ORA-00955: 名称已被现有对象占用 insert into sys.duc$ (owner, pack, proc, operation#, seq, com)
                    *
    错误位于第1行:
    ORA-00001: 违反唯一约束条件 (SYS.I_DUC) 
      

  28.   

    XD,发现问题以后首先去看看警告日志呀,看看警告日志出现什么错误,那才是你的问题关键。
    先试试重新编译
    ALTER PACKAGE STANDARD COMPILE; 
    看看是不是有错误信息出来,没有的话再执行一下你的语句看看行不行。
      

  29.   

    执行ALTER PACKAGE STANDARD COMPILE; 后SHOW ERROR看看错误信息
      

  30.   

    TO aweihz:
      执行ALTER PACKAGE STANDARD COMPILE后没有错误了,这条语句是做什么用的?
      

  31.   

    我知道是做什么用的了.
    非常感谢aweihz(我怎么还没有星??!) 的鼎力相助,也感谢其他各位的帮助!
    To aweihz(我怎么还没有星??!) 
    为了答谢你的耐心及时间,我另开一贴请你一定去领分!