问题一:
导出数据库的数据时,oracle 10g客户端连接9i服务器,导出数据报错!
Export: Release 10.2.0.1.0 - Production on 星期五 11月16 11:08:09 2007
Copyright (c) 1982, 2005, Oracle.? All rights reserved.
EXP-00056: 遇到 ORACLE 错误 6550
ORA-06550: 第 1 行, 第 41 列:
PLS-00302: 必须说明 'SET_NO_OUTLINES' 组件
ORA-06550: 第 1 行, 第 15 列:
PL/SQL: Statement ignored
EXP-00000: 导出终止失败
如下图:
解决:.高版本的exp不能导出低版本的数据库.
只能用低版本的数据库来exp. 换成数据库9i的导出没有问题。
问题2:
用SQL*Plus用户名/密码登陆不上去:
ERROR:
ORA-01017:invalid username/password;logon denied
如图:
解决方法:
如果用户名和密码没错,在登陆框中的[主机字符串(H)]:输入你登陆数据库的服务器的名字。 如:我的数据库安装在本机上,本机的名称为:mzl 输入:mzl 即可登陆!
如下图:
3 无法启动Windows上Oracle10g的企业管理器(EM)
在终端输入:emctl status dbconsole (查看状态)
启动:emctl start dbconsole
错误信息:Environment variable ORACLE_SID not defined. Please define it.
解决方法:
原来没有安装Oracle的企业管理器组件:
看下图:
上图中没有OracleDBConsole服务,则没有安装!
4
在sqlplus中用管理员不能连接上数据库:
SQL>connect system/mengzhaoliang as sysdba
出现:
ORA-12560: TNS: 协议适配器错误??
解决方法:
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,
启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务
面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0将该环境变量ORACLE_SI
D设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建
,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下
输set oracle_sid=XXXX,XXXX就是你的database SID.
经过以上步骤,就可以解决问题。
5.普通用户不能登陆数据库。
ERROR:
ORA-01045:user MENG lacks CREATE SESSION privilege;logon denied
如下图:
解决方法:
原因:用户还没有被授权创建会话的权利。 解决方法:数据库管理员使用命令授予用户会话的权利。 例如:sql>Grant Connect To meng
6:新增的用户可以连接数据库,但没有创建表的权限:
SQL>create table test(id number,name varchar(50));
Create table test(id number,name varchar(50))
*
第1行出现错误:
ORA-01031:权限不足
解决方法:
用数据库管理员授予普通用户管理员的权限:sql>grant dba to meng
7:增加联机重做日志文件组时出错,如下图:
SQL>alter database add logfile
‘E:\Disk3\redo04a.log’,’E:\Disk4\redo04b.log’)
Size 15M;
‘E:\Disk3\redo04a.log’,’E:\Disk4=redo04b.log’)
第2行出现错误:
ORA-00933: SQL 命令未正确结束
解决方法:原来是语句中写少了一个“(” 。
8:查询出错:ora-04043
解决方法:重新启动数据库即可解决。
>shutdown
然后:
>startup