Oracleデータベースメール

背景

    Oracleは最近、原因私たちが発見することができないデータの回避損失への順序で同期データでケトル時までの時間からのデータの損失、リーダーシップが一度データベースチェックでは、一日の後に完全なデータの同期を必要とし、結果を確認するには、電子メールを介して送信されます。また、Oracleのストアドプロシージャに送信メッセージを与えます。

    ストアドプロシージャは、書き込みが非常に微妙行いますが、最終的なプログラムが最後の生産に構文エラーを報告しないように、テストネットワーク環境内のメールボックスサーバーのために、使用することができない、生産展開の結果は、それは、しかし、問題に来たときにこの特別な記録保持に、タイムリーに解決されている未解決の問題です

ORA-29278:SMTP一時的なエラー:421サービスは利用できません

原因:ネットワークの問題、ROM SMTPサーバー

解決策:設定が正常であるSMTPサービスをチェックし、ネットワークポートは、通常の訪問することができSMTPサーバ通常のサービスかどうか

注:命令チェックポート

窓版:telnetのIPポート

Linuxバージョン:wgetのIP:ポート

またはSSH:SSHなど-v -pポート、ユーザ名@ IP

-v代表がデバッグモードを開いて、ユーザ名は任意で指定することができます

 

 

 

 

 

 

2、ORA-24247:ネットワークアクセスは、アクセス制御リストである(ACL)ごみ

原因:メール操作の許可を対応するエンドユーザーが行う操作のOracleデータベースの不足

ソリューション:

1  BEGIN 
2  
3  - 1.アクセス制御リスト(ACL)を作成し
4。 
5。    dbms_network_acl_admin.create_acl(ACL          =>  ' email_server_permissions.xml ' 6。 
7。                                      説明=>  ' ネットワークサーバザ・Eメールのアクセス許可を有効' 8。 
9。                                      プリンシパル    =>  ' ORACLE_USER '- 許可されたユーザは、即ち、特定操作は、メールユーザーのOracleデータベースを行う
10  
。11                                      is_grant     =>TRUE、
 12は 
13れる                                      特権    =>  ' 接続' );
 14  
15    - COMMIT; 
16  
。17    - メール・サーバに関連付けられた2ザACL 
18れている 
。19    dbms_network_acl_admin.assign_acl(ACL         =>  ' email_server_permissions.xml ' 、 -各矛盾を保持する必要がある子供のスクリプト文字列、実行時に
 20  
21                                      ホスト        =>  * * * * ... - SMTPサーバーアドレス、; IPマッピングを行うには、ホスト名と一貫性を呼び出すために、私は、IPを呼び出したときにのみ使用することができ、特定の練習のIPを選択し、ドメイン名が与えられている
 22  
23                                     lower_portの=>  25 24  
25                                      upper_portの=>  NULL );
 26である 
27    - COMMIT; 
28  
29    - ユーザーに付与された権限が接続3.ACLメールサーバ
30  
31である    dbms_network_acl_admin.add_privilege(ACL        > =  ' email_server_permissions.xml ' 32  
33は=>  ' ORACLE_USER '- 許可されたユーザ
34は、 
35                                        is_grant   => TRUE、
 36  
37                                         特権=>  ' 決意' );
38  
39    - COMMIT。
40  
41  END

 3、PLS-00201:識別子 'XXX' は宣言する必要があります

理由:許可されたアクションのユーザーステップ実行は、アクセスDBMSを持っていない、_NETWORK_ACL_ADMIN権パッケージ

解決策:高いユーザー権限を見つけるには、パッケージへのアクセスを接続するために特定のアクションを実行することをユーザーに許可しました

ユーザー名にパッケージ名を実行付与;

注:それは、現在のユーザーでない場合は、次の名前を追加するためのコール:ZUO.Procとして

現在のユーザーの場合:あなたは直接呼び出すことができます。もしPROC

 

4、ORA-44416:ACLは無効:未解決の主要ユーザーmgrdb」を

理由:ユーザー名の大文字と小文字の問題は、許可ACLは、ユーザー名は大文字にしました

解決策:スクリプトは、ユーザー名は大文字される許可しました

 

参考リンク:

https://blog.csdn.net/yuanyannan123/article/details/40182189

https://www.2cto.com/database/201404/290719.html

http://www.nazmulhuda.info/ora-44416-unresolved-principal

https://blog.csdn.net/u010678947/article/details/20702149

https://www.cnblogs.com/muhy/p/10567607.html

おすすめ

転載: www.cnblogs.com/hopeiscoming/p/12052342.html