Cause: An attempt was made to open a datafile that is in need of media recovery. Action: First apply media recovery to the datafile identified in the message, then retry the operation. 看看是不是磁盘出问题了
错误原因: 一般,是因为字符集设置不对照成的。 解决方法: 1、检查服务器上Oracle数据库的字符集 SQL> conn sys/change_on_install 连接成功.SQL> desc props$ 列名 可空值否 类型 ------------------------------- -------- ---- NAME NOT NULL VARCHAR2(30) VALUE$ VARCHAR2(2000) COMMENT$ VARCHAR2(2000)SQL> col value$ format a40 SQL> select name,value$ from props$; NAME VALUE$ ------------------------------ ------------------------- DICT.BASE 2 NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_CHARACTERSET ZHS16GBK NLS_SORT BINARY NLS_CALENDAR GREGORIAN NLS_RDBMS_VERSION 7.3.4.0.0 GLOBAL_DB_NAME ORACLE.WORLD EXPORT_VIEWS_VERSION 3查询到14记录.NLS_CHARACTERSET这个参数应该是ZHS16GBK,如不是,改为它。SQL*Plus中修改方法: SQL> update props$ set value$='新字符集' where name='NLS_CHARACTERSET';操作系统中修改方法: connect internal alter database ORCL character set ZHS16GBK; alter database ORCL national character set ZHS16GBK;2、检查操作系统级Oracle汉字显示的字符集 运行regedit,定位到: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE找到以下字符串 NLS_LANG检查是否以下内容,如不是,改之 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
或改为 SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280
多谢各位兄弟回答,ORA-01113的错误我早就解决了。现在的焦点是显示问题。 每次都要查错误对照表,很烦的。to armu80830兄:我的字符集都是ZHS16GBK。另:我在sqlplus故意输错命令发现错误提示比较有规律: 1.connect / as sysdba 2.startup mount 3.startup mount ora-01081:?????oracle----????? 4.connect system/manager as sysdba 5.startup mount ora-01081:无法启动已在运行的oracle----请首先关闭 6.connect / as sysdba 7.startup mount ora-01081:无法启动已在运行的oracle----请首先关闭 8.shutdown immediate 9.startup mount 10.startup mount ora-01081:?????oracle----?????我倒!!!居然跟用户有关系。但我不知是什么原因引起的。
字符级一致
解决方法:
1、检查服务器上Oracle数据库的字符集
SQL> conn sys/change_on_install
连接成功.SQL> desc props$
列名 可空值否 类型
------------------------------- -------- ----
NAME NOT NULL VARCHAR2(30)
VALUE$ VARCHAR2(2000)
COMMENT$ VARCHAR2(2000)SQL> col value$ format a40
SQL> select name,value$ from props$;
NAME VALUE$
------------------------------ -------------------------
DICT.BASE 2
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_CALENDAR GREGORIAN
NLS_RDBMS_VERSION 7.3.4.0.0
GLOBAL_DB_NAME ORACLE.WORLD
EXPORT_VIEWS_VERSION 3查询到14记录.NLS_CHARACTERSET这个参数应该是ZHS16GBK,如不是,改为它。SQL*Plus中修改方法:
SQL> update props$ set value$='新字符集' where name='NLS_CHARACTERSET';操作系统中修改方法:
connect internal
alter database ORCL character set ZHS16GBK;
alter database ORCL national character set ZHS16GBK;2、检查操作系统级Oracle汉字显示的字符集
运行regedit,定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE找到以下字符串
NLS_LANG检查是否以下内容,如不是,改之
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280
每次都要查错误对照表,很烦的。to armu80830兄:我的字符集都是ZHS16GBK。另:我在sqlplus故意输错命令发现错误提示比较有规律:
1.connect / as sysdba
2.startup mount
3.startup mount
ora-01081:?????oracle----?????
4.connect system/manager as sysdba
5.startup mount
ora-01081:无法启动已在运行的oracle----请首先关闭
6.connect / as sysdba
7.startup mount
ora-01081:无法启动已在运行的oracle----请首先关闭
8.shutdown immediate
9.startup mount
10.startup mount
ora-01081:?????oracle----?????我倒!!!居然跟用户有关系。但我不知是什么原因引起的。