impdp+remap_schema导入后登录报ORA-01017: Invalid Username/password

环境说明:有个11.2.0.4的rac数据库,现需要把USR_OA克隆一份出来做测试,新用户名是TEST_OA,直接是expdp导出用户,再用impdp+remap_schema生成TEST_OA,

业务人员使用PLSQL(版本12.0.1.1814)  登录TEST_OA时总是报错 ORA-01017: Invalid Username/password。  
 
处理办法: alter user ZJ_TEST idetified by "密码" account unlock;    --密码可以和之前一样

参考文档:Data Pump Import

https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_import.htm#sthref340

如果impdp导入前用户不存在,impdp导入后需要重置密码

### C++ 中字符串子串查找的方法 在 C++ 编程语言中,可以采用多种方式来实现字符串子串的查找功能。以下是几种常见且实用的方法: #### 使用 `std::string::find` 函数 这是最简单也是最常见的方法之一。通过调用 `std::string` 类中的成员函数 `find()` 可以快速定位子串的位置。如果找到匹配项,则返回其起始索引;如果没有找到,则返回特殊值 `std::string::npos`。 ```cpp #include <iostream> #include <string> int main() { std::string str = "This is a test string."; std::string subStr = "test"; size_t foundPos = str.find(subStr); if (foundPos != std::string::npos) { std::cout << "Substring '" << subStr << "' found at position: " << foundPos << std::endl; } else { std::cout << "Substring not found." << std::endl; } return 0; } ``` 此代码片段展示了如何利用 `std::string::find` 来检测特定子串是否存在及其具体位置[^1]。 #### 手动实现暴力法查找 除了依赖于 STL 提供的功能外,还可以自己编写逻辑完成同样的任务——即逐一遍历母串并与目标模式逐一比较直至发现完全一致的部分为止。这种方法虽然效率较低但对于学习基本原理很有帮助。 ```cpp size_t naive_search(const std::string& haystack, const std::string& needle){ if(needle.empty()) return 0; for(size_t i=0; i <= haystack.size()-needle.size(); ++i ){ bool match=true; for(size_t j=0 ;j<needle.size();++j){ if(haystack[i+j]!=needle[j]){ match=false; break; } } if(match) return i; } return std::string::npos; } // Usage example similar to previous one. ``` 上述例子定义了一个名为 `naive_search` 的辅助函数用于执行简单的线性扫描操作[^3]。 #### 利用 KMP 算法提高性能 对于更复杂的场景或者当输入规模较大时考虑应用 Knuth-Morris-Pratt(KMP) 字符串匹配算法可能更加合适因为它能够显著减少不必要的重复计算从而提升整体运行速度。 由于篇幅所限这里不再详述其实现细节但是有兴趣的话可以从其他资料深入研究该主题[^2]. --- ### 总结 综上所述,在实际开发过程中可以根据具体情况选择合适的解决方案:如果是追求简洁性和易读性的场合推荐优先选用内置的标准库接口如 `std::string::find`; 而针对某些特殊情况则有必要自行设计定制化版本甚至引入高级别的优化策略比如基于状态机转换机制构建高效的搜索引擎等等.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值