検索
ホームページデータベースmysql チュートリアルOracle データベースで ora-12899 エラーが発生した場合の対処方法

ORACLEを使用する過程で、さまざまな問題やエラーが発生します。その中で、ORA-12899は、以前ローカルマシンにデータをインポートしたときに発生し続けていた問題ですが、幸いなことに、この問題は解決されました。 . 皆さんのお役に立てれば幸いです。

ORA-12899 が表示されます。これは、中国語が UTF-8 で 3 バイト、ZHS16GBK で 2 バイトを占めることが原因です。次に、ソース dmp ファイルの文字セットが ZHS16GBK ライブラリからダンプされたデータであることが原因です。ターゲット文字セットが UTF-8 であるライブラリにインポートすると、ORA-12899 が表示されます

実際、この問題は ORACLE の文字セットを変更することでうまく解決できます;

しかし、文字セットを変更するときに、 sys アカウントのパスワードを忘れてしまい、それが悲劇でした。そのため、まず sys ユーザーのパスワードを変更する必要がありました

パスワードを変更するにはいくつかの状況があります。以下に 1 つずつリストします。

1. SYS、SYSTEMユーザー以外のログインパスワードを忘れた場合。 SYS (または SYSTEM) ユーザーとしてログインします。

CONN SYS/PASS_WORD AS SYSDBA;

ユーザーのパスワードを変更するには、次のステートメントを使用します。 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目录下。

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

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

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

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

SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT
SQL>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 IMMEDIATE
SQL>STARTUP

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

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

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

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

在创建表<a href="'" http: target="'_blank'">空间</a>

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

 *.ora文件,如DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M ,有些

 则使用*.dbf文件,如DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.dbf' SIZE 5M
ALTER USER user_name IDENTIFIED BY newpass;

注: パスワードにすべて数字を使用することはできません。また、数字で始めることはできません。それ以外の場合は、次のように表示されます。 ORA-00988: パスワードが見つからないか無効です


2. SYS ユーザーまたは SYSTEM ユーザーのパスワードを忘れてしまいました。


SYSTEMユーザーのパスワードを忘れた場合は、SYSユーザーでログインできます。次に、ALTER USER パスワード

を使用してパスワードを変更します。

rrreee

SYS ユーザーのパスワードを忘れた場合は、SYSTEM ユーザーでログインできます。次に、ALTER USER パスワード

を使用してパスワードを変更します。

rrreee

🎜🎜🎜3. SYS および SYSTEM ユーザーのパスワードを忘れたり紛失した場合。 🎜🎜🎜🎜これは特に重要です。 🎜🎜ORAPWD.EXE ツールを使用してパスワードを変更できます。 🎜🎜スタート メニュー -> ファイル名を指定して実行 -> 「CMD」と入力し、コマンド プロンプト ウィンドウを開き、次のコマンドを入力します。 🎜

🎜rrreee🎜🎜🎜このコマンドは、データベース。パスワード ファイルの場所は、ORACLE_HOME ディレクトリの /database ディレクトリにあります。 🎜🎜このパスワードはsysユーザーのパスワードを変更するためのものです。 sys と system を除く他のユーザーのパスワードは変更されません。 🎜🎜🎜パスワードを変更した後、dba として変更を加えることができます。dba でない場合は、変更コマンド 🎜🎜を実行するときに、権限が不十分であることを確認するメッセージが表示されます。 「 sqlplus sys/oracle@192.168.0.1/orcl as SYSDBA」と入力します。🎜🎜正常に入力できない場合は、ユーザー名とパスワードを手動で入力する必要があります。入力後、「SQL>」が表示されます。 " プロンプトが表示されるので、次のようにします。指定されたコマンドを順番に実行するだけです。🎜

🎜rrreee🎜🎜🎜 は、文字セットに互換性がないことを報告します。このとき、INTERNAL_USE コマンドは文字をチェックしません。 set superset: 🎜

🎜rrreee🎜🎜🎜現時点では、この ORA-12899 は完全に解決されており、データはインポート可能です...🎜🎜🎜🎜 PS: 追加します。以下: 🎜🎜🎜🎜oracle *.ora ファイルは何に使用されますか? 🎜🎜🎜🎜10g に *.ora ファイルがないのはなぜですか? 🎜🎜9i の *.ora は 10g の *.dbf と同じですか? 🎜🎜テーブル作成時<a href="http://www.eysky.cn" target="_blank">space</a>🎜🎜 DATAFILEはデータファイルの指定に使用されます具体的な場所とサイズ。しかし、一部の記事では DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M などの 🎜🎜 *.ora ファイルが使用されており、一部の 🎜🎜 では *.dbf ファイルが使用されていることがわかりました。 、DATAFILE 'D:\ORACLE\ORADATA\ORA92\LUNTAN.dbf' SIZE 5M など。 🎜🎜🎜オンラインの格言は、.dbf-data ファイル、.tmp-一時ファイル、.log-redo ログ ファイル、.ctl-control ファイル🎜🎜 .ora-parameter ファイル、.dat-Oracle システム ファイル 🎜🎜🎜 を識別するだけですデータ ファイルの場合は、ora/dat/dbf であっても同じであり、違いはありません。私も個人的にはそう思います。みんなの意見はどうだろうか? 🎜🎜関連する推奨事項: 🎜🎜🎜🎜Oracle はテーブルスペースのデータファイルの場所をどのように変更しますか? 🎜🎜🎜🎜 mysql および oracle データベースを停止および開始するためのバッチファイル 🎜🎜🎜🎜 Oracle Clob の保存の問題を解決する方法フィールドが長すぎますか? 🎜🎜

以上がOracle データベースで ora-12899 エラーが発生した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLはデータレプリケーションをどのように処理しますか?MySQLはデータレプリケーションをどのように処理しますか?Apr 28, 2025 am 12:25 AM

MySQLは、非同期、半同期、およびグループ複製の3つのモードを介してデータの複製を処理します。 1)非同期の複製パフォーマンスは高くなりますが、データが失われる可能性があります。 2)半同期複製により、データセキュリティが向上しますが、遅延が増加します。 3)グループレプリケーションは、高可用性要件に適したマルチマスターレプリケーションとフェールオーバーをサポートします。

説明ステートメントを使用してクエリパフォーマンスを分析するにはどうすればよいですか?説明ステートメントを使用してクエリパフォーマンスを分析するにはどうすればよいですか?Apr 28, 2025 am 12:24 AM

説明ステートメントは、SQLクエリのパフォーマンスを分析および改善するために使用できます。 1.説明ステートメントを実行して、クエリプランを表示します。 2。出力結果を分析し、アクセスの種類、インデックスの使用量に注意し、順序を結合します。 3.分析結果に基づいてインデックスを作成または調整し、結合操作を最適化し、フルテーブルスキャンを回避してクエリ効率を向上させます。

MySQLデータベースをバックアップして復元するにはどうすればよいですか?MySQLデータベースをバックアップして復元するにはどうすればよいですか?Apr 28, 2025 am 12:23 AM

論理バックアップにMySQLDUMPとホットバックアップにMySQLenterPriseBackupを使用することは、MySQLデータベースをバックアップする効果的な方法です。 1. mysqldumpを使用してデータベースをバックアップします:mysqldump-uroot-pmydatabase> mydatabase_backup.sql。 2。ホットバックアップにmysqlenterprisebackupを使用:mysqlbackup - user = root-password = password - backup-dir =/path/to/backupbackup。回復するときは、対応する寿命を使用します

MySQLのスロークエリの一般的な原因は何ですか?MySQLのスロークエリの一般的な原因は何ですか?Apr 28, 2025 am 12:18 AM

MySQLのクエリが遅い主な理由には、インデックスの欠落または不適切な使用、クエリの複雑さ、過剰なデータボリューム、および不十分なハードウェアリソースが含まれます。最適化の提案には以下が含まれます。1。適切なインデックスを作成します。 2。クエリステートメントを最適化します。 3.テーブルパーティションテクノロジーを使用します。 4.適切にハードウェアをアップグレードします。

mysqlのビューは何ですか?mysqlのビューは何ですか?Apr 28, 2025 am 12:04 AM

MySQLビューは、SQLクエリの結果に基づいた仮想テーブルであり、データを保存しません。 1)ビューは複雑なクエリを簡素化し、2)データセキュリティを強化し、3)データの一貫性を維持します。ビューは、テーブルのように使用できるデータベースにクエリを保存しますが、データは動的に生成されます。

MySQLと他のSQL方言の構文の違いは何ですか?MySQLと他のSQL方言の構文の違いは何ですか?Apr 27, 2025 am 12:26 AM

MySQLdiffersfromotherSQLdialectsinsyntaxforLIMIT,auto-increment,stringcomparison,subqueries,andperformanceanalysis.1)MySQLusesLIMIT,whileSQLServerusesTOPandOracleusesROWNUM.2)MySQL'sAUTO_INCREMENTcontrastswithPostgreSQL'sSERIALandOracle'ssequenceandt

MySQLパーティションは何ですか?MySQLパーティションは何ですか?Apr 27, 2025 am 12:23 AM

MySQLパーティション化により、パフォーマンスが向上し、メンテナンスが簡素化されます。 1)大きなテーブルを特定の基準(日付範囲など)、2)物理的に独立したファイルに物理的に分割する、3)MySQLはクエリするときに関連するパーティションに焦点を合わせることができます。

MySQLで特権をどのように許可して取り消しますか?MySQLで特権をどのように許可して取り消しますか?Apr 27, 2025 am 12:21 AM

mysqlで許可を許可および取り消す方法は? 1。grantallprivilegesondatabase_name.to'username'@'host 'などの許可を付与するために付与ステートメントを使用してください。 2。Revokeallprivilegesondatabase_name.from'username'@'host 'など、Revoke Statementを使用して、許可のタイムリーな通信を確保します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター