ORACLE数据库
日常积累ORACLE数据库使用中遇到的问题及经验积累
wenxuechaozhe
和大神学习,向大神努力
展开
-
ORACLE NVL()和NVL2()函数使用
NVL函数 格式为: NVL(string, replace_with) 功能:如果string为NULL,则NVL函数返回replace_with的值,否则返回string的值。 注意事项:string和replace_with必须为同一数据类型。 示例: SELECT NVL(NAME,"WENXC") FROM CUSTR;--针对字符串情...原创 2019-10-22 15:10:03 · 699 阅读 · 0 评论 -
sqlldr错误:field in data file exceeds maximum length
SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件(数据)迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。在使用sqlldr的过程中,出现如下报错信息Record 1: Rejected - Error on table wenxuechao, column name.Fie...原创 2019-10-22 14:07:09 · 3654 阅读 · 0 评论 -
ORACLE导出CSV文件
前言ORACLE的导出功能会经常使用,也同样经常会有需求进行导出为CSV文件,用于往别的数据库进行迁移,本次实例及在ORACLE实现导出CSV文件操作。实现①创建导出目录,并授权给需执行导出CSV文件的用户读写权限sqlplus / as sysdbaSQL > create or replace directory OUT_PATH as '/home/wenxuechao/csv_fi...原创 2018-06-02 16:13:22 · 7564 阅读 · 1 评论 -
Oracle查看当前连接数,查看数据库最大连接数
--查看当前连接数select count(*) from v$process;--查看最大连接数select value from v$parameter where name = 'processes';原创 2017-09-12 19:23:50 · 1147 阅读 · 0 评论 -
Oracle修改内存大小
修改服务器内核参数,修改如下:##配置内核参数vi /etc/sysctl.conffs.file-max = 6815744kernel.sem = 250 32000 100 128kernel.shmall = 1073741824kernel.shmmax = 4398046511104kernel.panic)on_oops = 1net.core.rmem_defa原创 2017-09-18 15:01:20 · 3137 阅读 · 0 评论 -
查看oracle数据库字段中是否有中文
oracle数据库,查看字段中是否有中文select name from student where ASCIISTR(name) like '%\%';原创 2017-09-29 10:32:21 · 4509 阅读 · 0 评论 -
ORACLE-merge into实战
使用merge into方式进行数据导入语法:merge into 目标表 ausing 源表 bon(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……) when matched then update set a.更新字段=b.字段when not macthed then insert into a(字段1,原创 2017-12-13 11:19:06 · 581 阅读 · 0 评论 -
ORA-01940 无法删除当前已连接用户
oracle数据库需要重构,因此需要删除用户,删除表空间,但是在删除用户过程中,一直提示ORA-01940错误信息,但是经排查没有用户登录,而且在v$session中也没有相关session,记录操作方法。[oracle@enmoedu1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Fri Apr 17 2...原创 2018-03-30 16:04:35 · 1849 阅读 · 0 评论 -
ORACLE ORA-28000用户锁定
用户密码登录错误导致用户锁定,需要将该用户进行解锁。登录提示错误信息ORA-28000,解锁方式:sqlplus / as sysdbaSQL> ALTER USER WEN ACCOUNT UNLOCK;User altered.解锁后再次登录即可...原创 2018-04-09 16:10:41 · 4262 阅读 · 0 评论 -
ORACLE 分区表分区拆分
ORACLE创建分区表,分区规则为按照日期进行分区,由于投产日期未知,因此建议使用按照当前日期自动创建分区。仅需创建一个max分区,然后通过split进行分区拆分,创建一年前的全部分区。示例代码如下:CREATE TABLE WEN (DT DECIMAL(8, 0), ID DECIMAL(12, 0), ...原创 2018-05-10 14:59:16 · 6154 阅读 · 0 评论 -
ORACLE自动创建分区
背景介绍ORACLE设定按日期的分区表,并保证每日均有15天的富余。如若某天分区创建执行失败,创建分区时需将失败那天的分区补充创建。实现方式每天按照最大分区同当前时间比对判断,查看缺失多少天,然后循环创建分区。示例代码--创建存储过程create or replace procedure zxjy_ora.add_wen_ptas v_sql1 varchar2(2000); maxn...原创 2018-05-11 09:25:12 · 3564 阅读 · 0 评论 -
ORACLE分区表自动清理分区
背景介绍ORACLE按照日期创建分区表,仅保留一年数据,每天清理一年前的分区数据。实现方式每次清理均处理一年前全部分区,即时某次调度执行失败,也不会造成垃圾数据堆积。示例代码--创建存储过程create or replace procedure zxjy_ora.del_wen_ptas v_sql1 varchar2(2000);begin FOR cur IN (select PA...原创 2018-05-11 09:33:21 · 5868 阅读 · 0 评论 -
ora-01033:oracle initialization or shutdown in progress
在执行数据库操作时,提示ora-01033:oracle initialization or shutdown in progress信息记录解决方案:第一步:sqlplus /as sysdba第二步:SQL>shutdown normal第三步:SQL>startup mount第四步:SQL>alter database open;原创 2017-09-12 19:20:39 · 734 阅读 · 0 评论 -
ORACLE设置用户密码不过期
针对不同的业务场景,会有不一样的业务需求,oracle的用户密码,生产环境肯定需要定期进行更换,保证安全性。但是也同样会有需求要求oracle用户的密码永远不过期。修改ORACLE用户密码永不过期①查看用户使用的profileSQL > SELECT username,PROFILE FROM dba_users;②查看密码过期时间设置,默认为180天。SQL > SELECT * F...原创 2018-06-02 15:43:01 · 9832 阅读 · 0 评论