| 導購 | 订阅 | 在线投稿
分享
 
 
 

为什么Oracle中只能用sys和system登录

2008-07-31 07:25:01  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  Oracle Sys用户用默认密码change_on_install 无法登录的问题(错误代码:ORA-28009)

  在使用默认Oracle自带的SQL Plus登录数据库时,使用system用户默认密码manager登录没有问题。

  但是同样的输入用户sys和默认密码change_on_install确无法登录.

  报错如下:

  ERROR:

  ORA-28009: connection to sys should be as sysdba or sysoper

  问题分析:

  用法: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]

  其中 : : = [/][@] | /如果以sys用户登录的话要以完整格式登录!!

  解决办法:

  1.用system用户登录,然后按完整格式却换到sys用户:

  SQL> conn sys/change_on_install@zgctwo as sysdba

  已连接。2.在上图的登录界面的主机字符串后面接上字符串 as sysdba:

  (2)熟手解決方法:

  环境win2000 server oracle8.1.7

  SQL> create tablespace price datafile 'price.ora' size 10M; 表空间已创建。

  SQL> drop tablespace price; 表空间已丢弃。

  SQL> create tablespace plate datafile 'plate.ora' size 10M; 表空间已创建。

  SQL> create user plate identified by plate default tablespace plate; 用户已创建

  SQL> grant connect,resource to plate; 授权成功。

  SQL> connect plate/plate 已连接。

  SQL>

  // 关闭数据库

  Microsoft Windows ;2000 [Version 5.00.2195]

  (C) 版权所有 1985-2000 Microsoft Corp.

  C:\Documents and Settings\Administrator>svrmgrl

  ........

  Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production

  With the Partitioning option

  JServer Release 8.1.7.0.0 - Production

  SVRMGR> connect internal/oracle

  连接成功。

  SVRMGR> shutdown immediate

  已关闭数据库。

  已卸下数据库。

  已关闭 ORACLE 实例。

  // 将数据文件plate.ora删除,模拟数据文件丢失

  SVRMGR> startup

  已启动 ORACLE 实例。

  系统全局区域合计有 29431836个字节

  Fixed Size 75804个字节

  Variable Size 28459008个字节

  Database Buffers 819200个字节

  Redo Buffers 77824个字节

  已装入数据库。

  ORA-01157: ????/?????? 8 - ??? DBWR ????

  ORA-01110: ???? 8: 'D:\ORACLE\ORA81\DATABASE\PLATE.ORA'

  // 数据库打开失败,将错误的数据文件offline drop

  SVRMGR> alter database datafile 'd:\oracle\ora81\database\plate.ora' offline drop;

  语句已处理。

  // 数据库打开成功

  SVRMGR> alter database open;

  语句已处理。

  SVRMGR>

  // sql*plus中,处理善后工作,删除相关联的表空间

  SQL> connect internal/oracle

  已连接。

  SQL> col name format a50

  SQL> select name,status from v_$datafile;

  NAME STATUS

  ------------------------------ -------

  D:\ORACLE\ORADATA\ORAL\SYSTEM01.DBF SYSTEM

  D:\ORACLE\ORADATA\ORAL\RBS01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\USERS01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\TEMP01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\TOOLS01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\INDX01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\DR01.DBF ONLINE

  D:\ORACLE\ORA81\DATABASE\PLATE.ORA OFFLIN

  已选择8行。

  SQL> drop tablespace plate; 表空间已丢弃。

  SQL> col name format a33

  SQL> col name format a35

  SQL> col name format a50

  SQL> select name,status from v_$datafile;

  NAME STATUS

  -------------------------------------------------- -------

  D:\ORACLE\ORADATA\ORAL\SYSTEM01.DBF SYSTEM

  D:\ORACLE\ORADATA\ORAL\RBS01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\USERS01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\TEMP01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\TOOLS01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\INDX01.DBF ONLINE

  D:\ORACLE\ORADATA\ORAL\DR01.DBF ONLINE

  已选择7行。

  SQL>

  安装有ORACLE的计算机请一定注意不要随便执行P(如下代码)删除

  因为ORACLE的日志文件记录着用户的信息,如果删除那么就只能使用sys 和system来登录了

  要想恢复很复杂。 作为DBA,一定要注意server版的os很严格,切勿删除不明白来源的文件,

  无论删除任何系统文件都要进行备份

  我曾使用以下代码在server2003上执行.reg文件,导致oracle非系统默认用户不能登录

  结果只有从新安装 oracle

  @echo off

  echo wait......

  del /f /s /q %systemdrive%\*.tmp

  del /f /s /q %systemdrive%\*._mp

  del /f /s /q %systemdrive%\*.log

  del /f /s /q %systemdrive%\*.gid

  del /f /s /q %systemdrive%\*.chk

  del /f /s /q %systemdrive%\*.old

  del /f /s /q %systemdrive%\recycled\*.*
 
 
 
Oracle Sys用户用默认密码change_on_install 无法登录的问题(错误代码:ORA-28009) 在使用默认Oracle自带的SQL Plus登录数据库时,使用system用户默认密码manager登录没有问题。 但是同样的输入用户sys和默认密码change_on_install确无法登录. 报错如下: ERROR: ORA-28009: connection to sys should be as sysdba or sysoper 问题分析: 用法: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}] 其中 : : = [/][@] | /如果以sys用户登录的话要以完整格式登录!! 解决办法: 1.用system用户登录,然后按完整格式却换到sys用户: SQL> conn [url=mailto:sys/change_on_install@zgctwo]sys/change_on_install@zgctwo[/url] as sysdba 已连接。2.在上图的登录界面的主机字符串后面接上字符串 as sysdba: (2)熟手解決方法: 环境win2000 server oracle8.1.7 SQL> create tablespace price datafile 'price.ora' size 10M; 表空间已创建。 SQL> drop tablespace price; 表空间已丢弃。 SQL> create tablespace plate datafile 'plate.ora' size 10M; 表空间已创建。 SQL> create user plate identified by plate default tablespace plate; 用户已创建 SQL> grant connect,resource to plate; 授权成功。 SQL> connect plate/plate 已连接。 SQL> // 关闭数据库 Microsoft Windows ;2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. C:\Documents and Settings\Administrator>svrmgrl ........ Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production SVRMGR> connect internal/oracle 连接成功。 SVRMGR> shutdown immediate 已关闭数据库。 已卸下数据库。 已关闭 ORACLE 实例。 // 将数据文件plate.ora删除,模拟数据文件丢失 SVRMGR> startup 已启动 ORACLE 实例。 系统全局区域合计有 29431836个字节 Fixed Size 75804个字节 Variable Size 28459008个字节 Database Buffers 819200个字节 Redo Buffers 77824个字节 已装入数据库。 ORA-01157: ????/?????? 8 - ??? DBWR ???? ORA-01110: ???? 8: 'D:\ORACLE\ORA81\DATABASE\PLATE.ORA' // 数据库打开失败,将错误的数据文件offline drop SVRMGR> alter database datafile 'd:\oracle\ora81\database\plate.ora' offline drop; 语句已处理。 // 数据库打开成功 SVRMGR> alter database open; 语句已处理。 SVRMGR> // sql*plus中,处理善后工作,删除相关联的表空间 SQL> connect internal/oracle 已连接。 SQL> col name format a50 SQL> select name,status from v_$datafile; NAME STATUS ------------------------------ ------- D:\ORACLE\ORADATA\ORAL\SYSTEM01.DBF SYSTEM D:\ORACLE\ORADATA\ORAL\RBS01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\USERS01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\TEMP01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\TOOLS01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\INDX01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\DR01.DBF ONLINE D:\ORACLE\ORA81\DATABASE\PLATE.ORA OFFLIN 已选择8行。 SQL> drop tablespace plate; 表空间已丢弃。 SQL> col name format a33 SQL> col name format a35 SQL> col name format a50 SQL> select name,status from v_$datafile; NAME STATUS -------------------------------------------------- ------- D:\ORACLE\ORADATA\ORAL\SYSTEM01.DBF SYSTEM D:\ORACLE\ORADATA\ORAL\RBS01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\USERS01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\TEMP01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\TOOLS01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\INDX01.DBF ONLINE D:\ORACLE\ORADATA\ORAL\DR01.DBF ONLINE 已选择7行。 SQL> 安装有ORACLE的计算机请一定注意不要随便执行P(如下代码)删除 因为ORACLE的日志文件记录着用户的信息,如果删除那么就只能使用sys 和system来登录了 要想恢复很复杂。 作为DBA,一定要注意server版的os很严格,切勿删除不明白来源的文件, 无论删除任何系统文件都要进行备份 我曾使用以下代码在server2003上执行.reg文件,导致oracle非系统默认用户不能登录 结果只有从新安装 oracle @echo off echo wait...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.*
󰈣󰈤
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号 wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味著赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有