文档解释
ORA-24366: migratable user handle is set in service handle
Cause: This occurs during user authentication, a migratable user handle has been set in the service handle.
Action: Service handle must not be set with migratable user handle when it is used to authenticate another user.
ORA-24366 错误代码表示,在设置服务处理器时,没有将可迁移用户句柄设置。设置可迁移用户句柄是执行迁移操作的关键步骤。
官方解释
此 ORACLE 错误代码指示在设置服务句柄(服务连接)时从未设置可迁移用户句柄。由于可迁移用户是执行迁移操作的关键步骤。
常见案例
当开发人员使用“DBMS_MIGRATE_CUTOVER.CREATE_CUTOVER_SERVICE”创建新的服务,并在其中硬编码用户和口令时,可能会发出此 Oracle 错误代码。
一般处理方法及步骤
1.采用DBMS_SERVICE设置服务。例如,DBMS_SERVICE.CREATE_SERVICE(service_name => ‘myservice‘, network_name => ‘myservice.world‘);
2.采用DBMS_SERVICE设置可迁移用户句柄。例如, DBMS_SERVICE.SET_MIGR_USER_HANDLE(service_name => ‘myservice‘,user_handle => ‘migrate_user/user_password‘);
3.采用DBMS_SERVICE设置服务当前用户。例如,DBMS_SERVICE.SET_CURRENT_USER(service_name => ‘myservice‘,user_handle => ‘normal_user/user_password‘);