服务器突然断电后,oracle8i的sql/plus 不能用connect连上,错误是ora-01034:oracle not available,但是有关oracle的服务都能正常启动 用管理器svrmgrl将oralce关闭再开启,查看错误信息。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库没有起来,按 lgos(飞云) 的方法,如果是9Ic:\sqlplus "/ as sysdba"sql>startup oracle 的服务启动并不等于 oracle 的数据库就启动了,按照楼上说的手动启动数据库试试,如果手动启不来就没多大希望了,只好进行恢复或重装了 还是不行,svrmgrl运行不了,开始-运行-svrmgrl提示说"找不到文件svrmgrl或它的组件之一...",如何运行它呢,不好意思这个问题实在太菜了,还有connect命令它做哪些工作呢 To dinya2003(OK)"要重新来过,命令重起"具体怎么做呢? 为什么不去看看ORACLE的警告日志? 如果是9i版本,系统没有svmgrl,只有sqlplus用系统管理员身份登录,然后startup如果startup不能正常启动,那就恭喜你,中奖了,你的数据库需要修复 运行sqlplus/nolog然后connect system/manager 就出现ora-01034:oracle not available错误,这样好象没办法startup了在计算机-管理-事件查看器-应用程序,看到如下信息:1.Oracle Web Publishing Assistant initialization successfull2.audit trail: ACTION : 'connect INTERNAL' OSPRIV : OPER CLIENT USER: SYSTEM CLIENT TERMINAL: YCL9333.Audit trail: ACTION : 'startup' AUDIT_TRAIL : none.4.Audit trail: ACTION : 'startup' OS_AUTHENT_PREFIX : OPS$.5.由于 open 函数中有时间冲突,WMI ADAP 无法处理 Oracle80 性能库; 你的数据文件坏了,已经没有办法了,只能重装,就是在关闭数据的时候使用abort参数都会使数据文件损坏,何况断电!!!! 去看看ORACLE的警告日志,如果你不知道在哪里,在ORACLE的目录下查找*alrt.log文件! TO aweihz:找到了警告日志,有这样的错误:Errors in file E:\orant\rdbms80\trace\yoraSNP0.TRC:ORA-00604: error occurred at recursive SQL level 1ORA-06553: PLS-213: package STANDARD not accessibleTue Jun 22 18:18:46 2004Errors in file E:\orant\rdbms80\trace\yoraSNP1.TRC:ORA-00604: error occurred at recursive SQL level 1ORA-06553: PLS-213: package STANDARD not accessibleErrors in file E:\orant\rdbms80\trace\ORA01200.TRC:ORA-00600: internal error code, arguments: [549], [], [], [], [], [], [], []是什么意思呢 用Internal进入,然后StartupOra600错误,问题有点大了 TO aweihz: 上面那些是最新的错误信息,机器重启过好几次了,可是数据库如何重启呢?不好意思我实在太菜了,请说详细点 你在安装ORACLE的机器上顺序执行以下语句:1、sqlplus internal2、startup看看出来什么错误信息。 执行1,错误:ora-01031 insufficient privileges 检查一下你的设置,把$ORACLE_HOME\NETWORK\ADMIN\SQLNET.ORA文件的内容和你的初始化文件$ORACLE_HOME/DATABASE/init<SID>.ora贴出来看看,最后确认你使用ADMINISTRATOR用户登陆WINDOWS的吗?你的网络存在域控制器吗?你是在安装ORACLE的机器的上面执行以上的语句的吗?机器使用了TERMINAL SERVICE吗? SQLNET.ORA文件的内容:RACE_LEVEL_CLIENT = OFFsqlnet.authentication_services = (NONE)names.directory_path = (TNSNAMES, HOSTNAME)names.default_domain = worldname.default_zone = worldautomatic_ipc = offdb_name = yoradb_files = 1020control_files = ("E:\orant\database\ctl1yora.ora", "E:\orant\database\ctl2yora.ora")db_file_multiblock_read_count = 16db_block_buffers = 550shared_pool_size = 11534336log_checkpoint_interval = 8000processes = 100dml_locks = 200log_buffer = 32768sequence_cache_entries = 30sequence_cache_hash_buckets = 23#audit_trail = true#timed_statistics = truebackground_dump_dest = E:\orant\rdbms80\traceuser_dump_dest = E:\orant\rdbms80\tracedb_block_size =2048compatible = 8.1.5.0.0sort_area_size = 65536log_checkpoint_timeout = 0remote_login_passwordfile = sharedmax_dump_file_size = 10240inityora.ora文件的内容:_allow_resetlogs_corruption = true (这句是后来已经出了问题才加的)_corrupted_rollback_segments = (RB0,RB1) (这句是后来已经出了问题才加的)############### Oracle replication ROLLBACK_SEGMENT=(RB0,RB1)########################global_names = truejob_queue_processes = 2job_queue_interval = 60job_queue_keep_connections = falsedistributed_lock_timeout = 60distributed_transactions = 16open_links = 4snapshot_refresh_interval = 60snapshot_refresh_keep_connections=falsesnapshot_refresh_processes = 2我是用ADMINISTRATOR用户登陆WINDOWS的,网络不存在域控制器,是在安装ORACLE的机器的上面执行以上的语句的,但是不知道机器有没有使用TERMINAL SERVICE,这该如何查看呢 你的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让你这样做的?做完以后再试试前面的操作重新启动数据库看看。 不好意思贴错了,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) 是我找的以前的相关的贴子加进去的,但是加进去后也没重新建库.我现在试试你所说的操作. 我修改了这两个参数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 try these pls:1、svrmgrl2、connect internal3、startup svrmgrl运行不了,开始-运行-svrmgrl提示说"找不到文件svrmgrl或它的组件之一..." TO aweihz:sqlplus internal 可以连上了,(我在控制面板->管理工具->计算机管理->本地用户和组->用户 选定用户之后,按右键 "属性" ,选 隶属于 加多了一个 ORA_DBA ,这样就连上了)可是startup却不能成功,错误是:未知命令"startup"请再帮我看看. 805里面不能使用SQLPLUS来STARTUP的,进到DOS窗口,然后cd e:\orant\bin,再执行SVRMGRL看看。 错了,805里面的命令好像是SVRMGR80,试试看吧,去E:\ORANT\BIN目录找找看SVRM*这样的文件。 TO aweihzstartup启动成功! (先执行svrmgr30,再startup).非常感谢!现在运行sql/plus 出现错误:ORA-06553: PLS-213:STANDARD 包 (Package)不可存取访问程序包 DBMS_APPLICATION_INFO 时出现错误错误:ORA-06553: PLS-213:STANDARD 包 (Package)不可存取 pls do these:1、SQLPLUS INTERNAL2、SPOOL E:\SPOOL.OUT3、@?/RDBMS/ADMIN/CATALOG.SQL4、@?/RDBMS/ADMIN/CATPROC.SQL5、@?/rdbms/admin/utlrp.sqlcheck file spool.out to find the errors. 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 1477ORA-06512: 在line 2 BEGIN*错误位于第1行:ORA-24006: 无法创建 QUEUE,DEF$_AQCALL已经存在ORA-06512: 在"SYS.DBMS_AQADM", line 1583ORA-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 1477ORA-06512: 在line 2 BEGIN*错误位于第1行:ORA-24006: 无法创建 QUEUE,DEF$_AQERROR已经存在ORA-06512: 在"SYS.DBMS_AQADM", line 1583ORA-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) XD,发现问题以后首先去看看警告日志呀,看看警告日志出现什么错误,那才是你的问题关键。先试试重新编译ALTER PACKAGE STANDARD COMPILE; 看看是不是有错误信息出来,没有的话再执行一下你的语句看看行不行。 执行ALTER PACKAGE STANDARD COMPILE; 后SHOW ERROR看看错误信息 TO aweihz: 执行ALTER PACKAGE STANDARD COMPILE后没有错误了,这条语句是做什么用的? 我知道是做什么用的了.非常感谢aweihz(我怎么还没有星??!) 的鼎力相助,也感谢其他各位的帮助!To aweihz(我怎么还没有星??!) 为了答谢你的耐心及时间,我另开一贴请你一定去领分! oracle 安装时显示图形化界面的问题 oracle 函数 挑战 如何优化这条select语句! imp和exp都很慢,求教 这个函数错在哪儿 怎样查询执行 Oracle update操作的操作系统用户名 Orale 连接查询顺序 学会了select,请教一问题。 安装时 提示加载数据库时出错 areas queries?请帮忙。。。 初学者的Pro*C/C++弱智问题:错误的查询结果,高分求助 简单SQL,从SQL Server中的存储过程改为Oracle中的存储过程,这句怎么改? win2000ads + oracle815,客户端连接不了?
c:\sqlplus "/ as sysdba"
sql>startup
"要重新来过,命令重起"具体怎么做呢?
用系统管理员身份登录,然后startup
如果startup不能正常启动,那就恭喜你,中奖了,你的数据库需要修复
然后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 性能库;
找到了警告日志,有这样的错误:
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], [], [], [], [], [], [], []
是什么意思呢
Ora600错误,问题有点大了
上面那些是最新的错误信息,机器重启过好几次了,可是数据库如何重启呢?不好意思我实在太菜了,请说详细点
1、sqlplus internal
2、startup
看看出来什么错误信息。
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,这该如何查看呢
不知道你机器的实际环境,你先改我以下说的参数,如果涉及到你们的其他目的不能修改,那另外再说:
1、SQLNET.ORA中
sqlnet.authentication_services = (NTS)
2、inityora.ora中remote_login_passwordfile = execlusive
删掉
_allow_resetlogs_corruption = true
_corrupted_rollback_segments = (RB0,RB1) 你使用了隐含参数以后重新建库了吗?哪位DX让你这样做的?
做完以后再试试前面的操作重新启动数据库看看。
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)
是我找的以前的相关的贴子加进去的,但是加进去后也没重新建库.我现在试试你所说的操作.
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
1、svrmgrl
2、connect internal
3、startup
sqlplus internal 可以连上了,
(我在控制面板->管理工具->计算机管理->本地用户和组->用户
选定用户之后,按右键 "属性" ,选 隶属于 加多了一个 ORA_DBA ,这样就连上了)可是startup却不能成功,错误是:未知命令"startup"
请再帮我看看.
startup启动成功! (先执行svrmgr30,再startup).非常感谢!现在运行sql/plus 出现错误:
ORA-06553: PLS-213:STANDARD 包 (Package)不可存取
访问程序包 DBMS_APPLICATION_INFO 时出现错误
错误:
ORA-06553: PLS-213:STANDARD 包 (Package)不可存取
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.
*
错误位于第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)
先试试重新编译
ALTER PACKAGE STANDARD COMPILE;
看看是不是有错误信息出来,没有的话再执行一下你的语句看看行不行。
执行ALTER PACKAGE STANDARD COMPILE后没有错误了,这条语句是做什么用的?
非常感谢aweihz(我怎么还没有星??!) 的鼎力相助,也感谢其他各位的帮助!
To aweihz(我怎么还没有星??!)
为了答谢你的耐心及时间,我另开一贴请你一定去领分!