Oracle数据库中出现ora-12899错误怎么办

在使用oracle的过程中,会出现各种各样的问题,各种各样的错误,其中ora-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,希望能帮助到大家。

出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899

其实只要修改一下ORACLE 的字符集就可以很好的解决这个问题;

但是在修改字符集的时候,我发现,我把sys账户的密码给忘记了,这就悲剧了,所以我只好先修改sys用户的密码咯. 

修改密码也是分好几种情况的,下面我就一一列举吧:

一、忘记除SYS、SYSTEM用户之外的用户的登录密码。

用SYS (或SYSTEM)用户登录。

CONN SYS/PASS_WORD AS SYSDBA;

使用如下语句修改用户的密码。

ALTER USER user_name IDENTIFIED BY newpass;

注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988: 口令缺失或无效

二、忘记SYS用户,或者是SYSTEM用户的密码。

如果是忘记SYSTEM用户的密码,可以用SYS用户登录。然后用ALTER USER 密令

修改密码。

CONN SYS//PASS_WORD AS SYSDBA; ALTER USER SYSTEM IDENTIFIED BY newpass;

如果是忘记SYS用户的密码,可以用SYSTEM用户登录。然后用ALTER USER 密令

修改密码。

CONN SYSTEM//PASS_WORD ; ALTER USER SYSTEM IDENTIFIED BY newpass;

三、如果SYS,SYSTEM用户的密码都忘记或是丢失。

这一项尤其重要。

可以使用ORAPWD.EXE 工具修改密码。

开始菜单->运行->输入‘CMD’,打开命令提示符窗口,输入如下命令:

orapwd file=D:/oracle/product/10.2.0/db_1/database/pwdctcsys.ora password=newpass

这个命令重新生成了数据库的密码文件。密码文件的位置在ORACLE_HOME目录下
的/database目录下。

阿里云-虚拟数字人 阿里云-虚拟数字人

阿里云-虚拟数字人是什么? …

阿里云-虚拟数字人 2 查看详情 阿里云-虚拟数字人

这个密码是修改sys用户的密码。除sys和system其他用户的密码不会改变。 

修改过密码之后就能以dba的身份进行修改了,不是dba的话在执行修改命令的时候会提示你权限不足.

开始–>运行–>cmd,之后输入:”sqlplus sys/oracle@192.168.0.1/orcl as SYSDBA

如果不能正常进入,那就需要你手动输入用户名和密码,进入之后会出现”SQL>”的提示,按照下面给出的命令依次执行就可以了,

SQL>SHUTDOWN IMMEDIATESQL>STARTUP MOUNTSQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;SQL>ALTER DATABASE OPEN;SQL> ALTER DATABASE CHARACTER SET ZHS16GBK ;ALTER DATABASE CHARACTER SET ZHS16GBK*ERROR at line 1:ORA-12712: new character set must be a superset of old character set

报字符集不兼容,此时下INTERNAL_USE指令不对字符集超集进行检查:

SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;SQL>SHUTDOWN IMMEDIATESQL>STARTUP

这时候,这个ORA-12899就已经彻底解决了,就可以进行数据的导入了…

PS:下面给大家补充下:oracle 里*.ora文件是干什么用的?

为什么10g里边没有*.ora文件?

9i里边的*.ora 等于10g里边的*.dbf么?

在创建表空间

 DATAFILE 用于指定数据文件的具体位置和大小。但是我看到有些文章使用

 *.ora文件,如DATAFILE 'D:ORACLEORADATAORA92LUNTAN.ora' SIZE 5M ,有些

 则使用*.dbf文件,如DATAFILE 'D:ORACLEORADATAORA92LUNTAN.dbf' SIZE 5M 。 

网上的说法是.dbf-数据文件, .tmp-临时文件, .log-重作日志文件(redo log file), .ctl-控制文件

 .ora-参数文件, .dat-Oracle系统文件 

只是通过扩展名来标识文件的类型而已,对于数据文件不管是ora/dat/dbf,都是一样的,没有什么区别。我个人觉得也是这样。不知大家的意见是怎样的?

相关推荐:

Oracle如何更改表空间的数据文件位置

mysql与oracle数据库停止与启动的批处理文件

Oracle Clob字段过长保存出错改如何解决?

以上就是Oracle数据库中出现ora-12899错误怎么办的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/387253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
word怎么打钩_word文档中打钩符号的输入方法
上一篇 2025年11月6日 14:11:15
Spring Boot+MyBatis中@Mapper和mybatis.mapper-locations配置有何区别及如何选择?
下一篇 2025年11月6日 14:11:18

相关推荐

  • 宝塔面板使用`Navicat`或其他工具连接数据库

    宝塔面板使用`Navicat`或其他工具连接数据库宝塔面板使用`Navicat`或其他工具连接数据库宝塔面板使用`Navicat`或其他工具连接数据库宝塔面板使用`Navicat`或其他工具连接数据库

    在linux系统上配置环境确实可能有些复杂,因此许多用户选择安装一个可视化面板,如宝塔面板。然而,当使用sql管理工具如navicat连接数据库时,可能会遇到连接问题。以下是如何解决这些问题的详细步骤,以navicat为例。 果不其然,直接无法连接上。 首先,我们需要检查服务器是否开放了3306端口…

    2026年9月24日 用户投稿
    900
  • mysql在哪里输入创建表语句 mysql代码执行环境介绍

    mysql在哪里输入创建表语句 mysql代码执行环境介绍mysql在哪里输入创建表语句 mysql代码执行环境介绍mysql在哪里输入创建表语句 mysql代码执行环境介绍mysql在哪里输入创建表语句 mysql代码执行环境介绍

    选择mysql客户端需根据工作习惯和需求决定。①若喜欢敲命令,可选mysql自带命令行客户端,轻量直接但需记忆命令;②若偏好图形界面,navicat或dbeaver更直观,支持可视化操作,其中dbeaver跨平台且支持多数据库;③其他常用工具如sql developer(适合oracle用户)、da…

    2026年9月23日 用户投稿
    300
  • Linux安装Redis数据库,无需公网IP实现远程连接

    Linux安装Redis数据库,无需公网IP实现远程连接Linux安装Redis数据库,无需公网IP实现远程连接Linux安装Redis数据库,无需公网IP实现远程连接Linux安装Redis数据库,无需公网IP实现远程连接

    redis作为一种高效的key-value数据库,因其将数据存储在内存中而具备极高的读写速度,广泛应用于多种场景中。以下将详细介绍如何在centos 8的linux虚拟机上搭建redis数据库,并利用cpolar实现内网穿透以便通过公网访问。 在Linux(CentOS 8)上安装Redis数据库 …

    2026年9月23日 用户投稿
    100
  • 如何在Java中安装Eclipse开发环境

    先安装JDK并配置环境变量,再下载安装Eclipse IDE。1. 安装JDK:从Oracle或Eclipse Adoptium下载JDK 17/21,按提示安装,设置JAVA_HOME和PATH,用java -version验证。2. 安装Eclipse:官网下载“Eclipse IDE for …

    2026年9月23日
    000
  • mysql如何进入编辑模式 mysql输入sql语句创建数据库

    mysql如何进入编辑模式 mysql输入sql语句创建数据库mysql如何进入编辑模式 mysql输入sql语句创建数据库mysql如何进入编辑模式 mysql输入sql语句创建数据库mysql如何进入编辑模式 mysql输入sql语句创建数据库

    创建mysql数据库需登录后执行sql语句;避免sql注入用参数化查询、输入验证、最小权限原则、waf;解决乱码需统一客户端、数据库、表编码为utf8mb4;优化查询性能可通过索引、explain分析、避免select *、使用join、分页优化、定期维护、硬件升级、缓存。 想要用MySQL创建数据…

    2026年9月23日 用户投稿
    1600
  • Asianux 7.3安装Oracle 11.2.0.4单实例体验

    在asianux 7.3环境中安装#%#$#%@%@%$#%$#%#%#$%@_a189c++633d9995e11bf8607170ec9a4b8 11.2.0.4单实例的具体步骤和注意事项如下: 环境:Asianux 7.3 需求:安装Oracle 11.2.0.4 单实例 背景:系统使用默认的…

    2026年9月23日
    400
  • VSCode配置Java编程环境(手把手教学,环境搭建不求人)

    安装jdk并配置环境变量,推荐使用java 11或java 17等lts版本,通过命令行执行java -version和javac -version验证安装成功;2. 下载并安装vscode本体,按照默认安装流程完成;3. 在vscode中安装“extension pack for java”扩展包…

    2026年9月23日
    100
  • VSCode搭建Flutter开发环境(移动开发,完整配置指南)

    本文详细指导如何在VSCode中搭建高效的Flutter开发环境,包括安装JDK、配置JAVA_HOME、安装Android Studio并设置ANDROID_HOME、安装VSCode及Flutter和Dart插件、配置FLUTTER_HOME环境变量,通过flutter doctor检查并解决A…

    2026年9月23日
    100
  • VSCode如何配置Scala开发环境 VSCode搭建Scala项目的完整教程

    首先安装jdk 11或17并正确配置java_home和path环境变量;2. 通过包管理器或官网安装sbt,用于项目构建与依赖管理;3. 在vscode中安装scala (metals)插件,以获得代码补全、错误检查等语言服务;4. 使用sbt new scala/scala-seed.g8创建项…

    2026年9月23日
    100
  • MySQL最新版本如何下载?官方下载指南

    MySQL最新版本如何下载?官方下载指南MySQL最新版本如何下载?官方下载指南MySQL最新版本如何下载?官方下载指南MySQL最新版本如何下载?官方下载指南

    要下载mysql,推荐从官网直接下载;选择社区版或商业版取决于用途;下载时需选对操作系统和版本;安装遇到问题可查错误提示并搜索解决方案;验证安装成功可用命令行登录。下载步骤包括访问官网、选择版本与操作系统、使用installer、注册账号、开始下载安装。安装后配置root密码、字符集等。验证方式为命…

    2026年9月22日 用户投稿
    300
  • Flyway多数据库与CI/CD测试集成策略

    本文深入探讨了在CI/CD流程中,如何高效地配置Flyway以管理多数据库环境下的迁移,尤其关注集成测试场景。我们将比较使用真实数据库服务、Testcontainers以及Flyway自身多数据库配置的优劣,并提供关于分离生产与测试环境迁移脚本的实用策略,旨在确保开发、测试与生产环境的数据一致性与流…

    2026年9月22日
    300
  • Oracle定时任务

    oracle 介绍 oracle job 是应用在数据库层面,用来定时执行存储过程或者 SQL 语句的定时器。 测试数据代码语言:javascript代码运行次数:0运行复制 –建测试表CREATE TABLE TEST_JOB( DATETIME DATE, BEG_DATE VARCHAR2(…

    2026年9月22日
    500
  • MySQL数据备份自动化实施_MySQL定时任务与脚本管理

    MySQL数据备份自动化实施_MySQL定时任务与脚本管理MySQL数据备份自动化实施_MySQL定时任务与脚本管理MySQL数据备份自动化实施_MySQL定时任务与脚本管理MySQL数据备份自动化实施_MySQL定时任务与脚本管理

    mysql数据备份的自动化实施核心在于结合mysqldump等工具与操作系统的定时任务(如linux的cron或windows的task scheduler),通过编写和管理脚本实现定期执行备份。1. 使用mysqldump作为基础工具,编写包含数据库连接信息、时间戳文件名、日志记录、压缩清理等功能…

    2026年9月21日 用户投稿
    200
  • VSCode编写Java代码方法_VSCode搭建Java开发环境实战教程

    答案:在VSCode中配置Java开发环境需安装JDK并设置环境变量,再安装VSCode及Java扩展包,即可实现Java项目的创建、编写、运行与调试。它轻量、启动快,支持多语言和丰富扩展,集成Maven/Gradle,适合日常开发。 在VSCode里编写Java代码,说白了,就是把这个轻量级的代码…

    2026年9月21日
    100
  • mysql数据库和表的关系是怎样

    数据库是表的集合,一个MySQL数据库可包含多个表,表依赖数据库存在,需先创建数据库才能建表,如CREATE DATABASE school;USE school;CREATE TABLE students;数据库实现数据隔离与管理,不同项目使用不同数据库,便于组织与权限控制。 MySQL数据库和表…

    2026年9月21日
    000
  • 在Linux中如何通过命令行安装Java JDK

    在Linux中安装Java JDK可通过包管理器或手动安装,推荐使用系统自带工具安装OpenJDK。对于Ubuntu/Debian系统,先更新软件包列表:sudo apt update,再搜索可用版本:apt search openjdk-*,然后安装指定版本如OpenJDK 17:sudo apt…

    2026年9月20日
    000
  • 如何配置Scala与Java混合开发环境 Scala环境与JDK整合方法

    配置Scala与Java混合开发环境的关键是安装JDK、Scala并统一管理依赖。1. 安装JDK 8或11,配置JAVA_HOME和PATH;2. 安装Scala并设置SCALA_HOME;3. 使用SBT创建项目,配置build.sbt,组织src目录;4. 在IntelliJ IDEA中安装S…

    2026年9月20日
    100
  • 如何在Laravel中实现数据加密

    在laravel中实现数据加密的最直接且推荐方式是使用内置的crypt门面,其基于openssl并默认采用aes-256算法,通过app_key进行加解密。1. 使用crypt::encryptstring()或crypt::encrypt()对字符串或数组/对象进行加密;2. 使用crypt::d…

    2026年9月13日
    100
  • 如何在mysql中迁移分区表数据

    答案:MySQL分区表数据迁移需确保结构兼容性和数据完整性,常用方法包括:1. 使用INSERT INTO…SELECT迁移数据,要求目标表已存在且WHERE条件匹配分区范围;2. 通过mysqldump导出导入,适用于跨实例迁移,操作简单但大表性能差;3. 模拟EXCHANGE PAR…

    2026年9月10日
    100
  • thinkphp8相比thinkphp6有哪些新特性

    ThinkPHP8在性能、架构、功能和开发体验上全面升级,采用全新模块化架构,优化路由解析与数据库查询,提升响应速度;支持PHP 8.0+新特性,代码更简洁高效;增强中间件、路由、模型及验证功能,强化安全防护;兼容TP6代码,无缝升级,降低迁移成本。 ThinkPHP8 相比 ThinkPHP6 进…

    2026年9月10日
    400

发表回复

登录后才能评论
关注微信