sql执行提示"?????? "

本文详细介绍了如何通过Oracle数据库的导出与导入功能进行数据迁移,并解决导出过程中遇到的NLS_CHARACTERSET设置问题。通过调整用户属性文件中的NLS_LANG参数,确保数据正确迁移。
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Legacy Mode Active due to the following parameters:
Legacy Mode Parameter: "file=db_full_backup120208111358" Location: Command Line, Replaced with: "dumpfile=db_full_backup120208111358"
Legacy Mode Parameter: "log=expdp.log" Location: Command Line, Replaced with: "logfile=expdp.log"
Legacy Mode has set reuse_dumpfiles=true parameter.
?? "AIKI"."SYS_EXPORT_SCHEMA_01": aiki/******** directory=aiki_direc dumpfile=db_full_backup120208111358 logfile=expdp.log reuse_dumpfiles=true
???? BLOCKS ??????...
?????? SCHEMA_EXPORT/TABLE/TABLE_DATA
?? BLOCKS ??????: 112.0 MB
?????? SCHEMA_EXPORT/USER
?????? SCHEMA_EXPORT/SYSTEM_GRANT
?????? SCHEMA_EXPORT/ROLE_GRANT
?????? SCHEMA_EXPORT/DEFAULT_ROLE
?????? SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
?????? SCHEMA_EXPORT/TABLE/TABLE
?????? SCHEMA_EXPORT/TABLE/INDEX/INDEX
?????? SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
?????? SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
?????? SCHEMA_EXPORT/TABLE/COMMENT
?????? SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
?????? SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . ??? "AIKI"."SYS_IMPORT_TABLE_01" 42.85 MB 23185 ?
. . ??? "AIKI"."SYS_IMPORT_TABLE_02" 42.85 MB 23185 ?
. . ??? "AIKI"."A" 7.100 MB 73368 ?
. . ??? "AIKI"."A2" 737.4 KB 10800 ?
. . ??? "AIKI"."TT" 5.460 KB 3 ?
. . ??? "AIKI"."T_F" 5.406 KB 1 ?
?????/????? "AIKI"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
AIKI.SYS_EXPORT_SCHEMA_01 ???????:
/u01/aiki/db_full_backup120208111358.dmp

?? "AIKI"."SYS_EXPORT_SCHEMA_01" ?? 11:14:44 ????


---------------------------------------------------------------------------------------------------

solution:

1.select name,value$ from props$ where name='NLS_CHARACTERSET';

NAME
------------------------------
VALUE$
--------------------------------------------------------------------------------
NLS_CHARACTERSET
ZHS16GBK


2.在用户的属性文件(.profile或者.bash_profile具体看你使用哪种shell)

加入:NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG

3:重新连接用户su - user

4:ok


SQL 注入攻击是一种常见的 Web 安全漏洞,它允许攻击者通过构造特殊的输入来操控数据库查询语句,进而执行非授权的操作。为了有效地防范 SQL 注入攻击,可以从以下几个方面入手: ### 1. 使用参数化查询 (Prepared Statements) 这是最直接有效的防御措施之一。在构建 SQL 查询时,将用户的输入作为独立的参数传递给预编译好的模板,而不是简单地拼接字符串形成最终命令。主流的关系型数据库管理系统通常都支持这种方式。 **示例:** ```sql // 错误做法 - 拼接字符串容易引发注入风险 String query = "SELECT * FROM users WHERE username='" + userInputUsername + "'"; // 正确做法 - 参数化查询 PreparedStatement pstmt = connection.prepareStatement("SELECT * FROM users WHERE username=?"); pstmt.setString(1, userInputUsername); ``` ### 2. 应用 ORM 框架 对象关系映射(ORM)工具能够自动生成底层的 SQL 代码,并自动处理好用户提供的值与其对应的表字段之间的对应关系,大大减少了手写复杂查询的需求,降低了出错的概率。 ### 3. 对用户输入进行严格的验证和过滤 确保接收的所有外部数据符合预期格式后再交给后台逻辑去处理。比如电话号码只能包含数字字符、邮箱地址应当满足标准结构等等。此外还可以借助白名单策略只接受已知安全类型的值。 ### 4. 设置最小权限原则 尽量减少应用程序对数据库所拥有的特权级别,仅授予完成特定任务所需的最低限度权利即可。如果某个功能只需要读取部分表格,则不必给予该模块修改甚至删除记录的能力。 ### 5. 避免暴露过多错误详情 当遇到非法请求或语法解析失败的情形下返回模糊化的提示信息而非具体的报错原因说明。这可以阻止黑客利用反馈线索进一步试探系统内部结构特点。 ### 补充建议: - 经常更新依赖库版本并打上官方发布的补丁包; - 关注社区最新研究进展掌握新型攻击手法的学习资料; - 考虑引入 WAF 等专业防护设备增强实时拦截能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值