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

Oracle データベースで ora-12899 エラーが発生した場合の対処方法

Dec 11, 2017 pm 02:54 PM
oracle データベース

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 密令

修改密码。

1

2

CONN SYS//PASS_WORD AS SYSDBA;

ALTER USER SYSTEM IDENTIFIED BY newpass;

ログイン後にコピー

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

修改密码。

1

2

CONN SYSTEM//PASS_WORD ;

ALTER USER SYSTEM IDENTIFIED BY newpass;

ログイン後にコピー

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

这一项尤其重要。

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

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

1

2

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>"的提示,按照下面给出的命令依次执行就可以了,

1

2

3

4

5

6

7

8

9

10

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指令不对字符集超集进行检查:

1

2

3

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://www.eysky.cn' 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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Oracle データベースのログはどのくらいの期間保存されますか? Oracle データベースのログはどのくらいの期間保存されますか? May 10, 2024 am 03:27 AM

Oracle データベースのログはどのくらいの期間保存されますか?

Oracle データベース サーバーのハードウェア構成要件 Oracle データベース サーバーのハードウェア構成要件 May 10, 2024 am 04:00 AM

Oracle データベース サーバーのハードウェア構成要件

Oracle にはどれくらいのメモリが必要ですか? Oracle にはどれくらいのメモリが必要ですか? May 10, 2024 am 04:12 AM

Oracle にはどれくらいのメモリが必要ですか?

Oracle データベースを使用するために必要なメモリの量 Oracle データベースを使用するために必要なメモリの量 May 10, 2024 am 03:42 AM

Oracle データベースを使用するために必要なメモリの量

Oracle のスケジュールされたタスクは、作成ステップを 1 日に 1 回実行します。 Oracle のスケジュールされたタスクは、作成ステップを 1 日に 1 回実行します。 May 10, 2024 am 03:03 AM

Oracle のスケジュールされたタスクは、作成ステップを 1 日に 1 回実行します。

Oracle データベースにはどれくらいのメモリが必要ですか? Oracle データベースにはどれくらいのメモリが必要ですか? May 10, 2024 am 02:09 AM

Oracle データベースにはどれくらいのメモリが必要ですか?

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル

Oracleでリスニングプログラムを開始する方法 Oracleでリスニングプログラムを開始する方法 May 10, 2024 am 03:12 AM

Oracleでリスニングプログラムを開始する方法

See all articles