数据库学习
文章平均质量分 73
努力光合作用的小叶子
这个作者很懒,什么都没留下…
展开
-
12C/19C Oracle连接提示ORA-28040 没有匹配的验证协议
这是因为SQLNET.ALLOWED_LOGON_VERSION_SERVE改为8,只是参数变化,并没有重建密码,因此该account的实际password_versions仍然为:11G,12C;SQLNET.ALLOWED_LOGON_VERSION_CLIENT:客户端允许的最小认证协议,当服务器作为客户端连接Oracle数据库实例时,例如:数据库链。SQLNET.ALLOWED_LOGON_VERSION_SERVER配置的值,指身份验证协议的版本,而不是 Oracle 数据库版本。原创 2023-02-08 16:11:38 · 9354 阅读 · 2 评论 -
Oracle客户端工具安装(PL/SQL Developer 和 instantclient)小记
PL/SQL Developer工具和instantclient客户端原创 2022-09-29 16:23:33 · 2128 阅读 · 3 评论 -
Oracle用户密码问题笔记
账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定)......原创 2022-08-03 10:41:38 · 473 阅读 · 0 评论 -
oracle数据库clob字段处理
Oracle数据库处理提示ORA-01704字符串文字太长。原创 2022-07-15 17:18:47 · 5185 阅读 · 1 评论 -
oracle用户详细笔记
1、查看所有用户:2、查看用户或角色系统权限(直接赋值给用户或角色的系统权限):3、查看角色(只能查看登陆用户拥有的角色)所包含的权限4、查看用户对象权限:5、查看所有角色:6、查看用户或角色所拥有的角色:7、查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)8、SqlPlus中查看一个用户所拥有权限9、Oracle删除指定用户所有表的方法10、删除用户11、获取当前用户下所有的表:12、删除某用户下所有的表数据:13、禁止外键 ORACLE数据库中的外键约束名原创 2022-06-09 14:41:16 · 290 阅读 · 1 评论 -
慢SQL治理案例
慢sql治理一、全表扫描二、索引混乱三、非必要排序四、粗粒度查询五、OR 导致索引失败一、全表扫描扫描全表治理简单来说就是加入查询条件,命中索引,去除全表扫描查询,虽然有些粗暴,但并不是没有道理。实际业务场景中,很少有要扫描全表获取全部数据的情况,限制调用上游必须传入查询条件,且该查询条件能命中索引,能很大程度上避免慢sql。数据表的设计使用,明确表的使用规范,不乱写入数据,能给后期维护带来很大的便利,保持表数据的clean。二、索引混乱例子2.分析除了时间、操作人字段,XXX_rules转载 2022-03-18 15:12:50 · 130 阅读 · 0 评论 -
oracle中行列转换总结
oracle中行列转换1.行列转换包括以下六种情况:2. 列转行2.1 UNION ALL2.2 MODEL2.3 COLLECTION2.4 UNPIVOT3. 行转列3.1 AGGREGATE FUNCTION3.2 PIVOT4 字符串的行列转换4.1 多行转字符串4.2 字符串转多列4.3字符串转多行4.4 wm_concat函数整理了部分来自论坛及博客关于行列转换的案例,待以备查1.行列转换包括以下六种情况:列转行行转列多列转换成字符串多行转换成字符串字符串转换成多列字符串转换成原创 2022-02-09 15:16:19 · 14347 阅读 · 1 评论 -
oracle字符集整理
sqlplus执行SQL脚本出现的中文乱码问题:生产环境中的字符集全是UTF8,所以对于上传至服务器上的脚本都以’UTF8 without BOM’保存1.查看环境变量的Linux命令为echo $NLS_LANG2.先确认Oracle的字符集,sqlplus登录Oracle后执行语句:[sql]select userenv(‘language’) from dual;返回值例如:AMERICAN_AMERICA.ZHS16GBK3.修改Linux的NLS_LANG环境变量,修改Oracle原创 2021-10-29 10:54:54 · 660 阅读 · 0 评论 -
ORACLE处理ORA-12537 , 查看并修改最大连接数
ORACLE处理ORA-12537 , 查看并修改最大连接数ORACLE处理ORA-12537 , 查看并修改最大连接数ORACLE处理ORA-12537 , 查看并修改最大连接数su - oraclesqlplus "/as sysdba" show parameter processes; alter system set processes=1000 scope=spfile;-- alter system set sessions=1000 scope=spfile;shutdown原创 2021-09-23 19:42:38 · 948 阅读 · 0 评论 -
oracle中SYS.ODCIVARCHAR2LIST()实现行转列
oracle中SYS.ODCIVARCHAR2LIST()实现行转列SYS.ODCIVARCHAR2LIST:其他方法实现列转行(仅供参考)SYS.ODCIVARCHAR2LIST:SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','2','3','4','5'));Oracle 10G 以上版本才支持SYS.ODCIVARCHAR2LIST,其实SYS.ODCIVARCHAR2LIST只不过是一个TYPE,所以在9I版本中可以通过创原创 2021-09-06 15:11:08 · 1935 阅读 · 0 评论 -
oracle查询最近执行语句使用脚本整理
--oracle 查询最近执行过的 SQL语句select sql_text,last_load_time from v$sql order by last_load_time desc;SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'select%' ORDER BY last_load_time DESC;SELECT sql_text, last_lo原创 2021-08-20 10:48:42 · 1765 阅读 · 0 评论 -
EXP/IMP工具性能调优
Exp/Imp工具性能调优在工作中经常需要对oracle数据库进行备份、异地恢复的情况。Oracle的常规备份无非是exp/imp,expdp/impdp,rman三种方式。exp/imp简单方便,适用于跨db版本、跨os平台、异地备份等情况,是大家最常用的一种备份方式。expdp/impdp是10g以后推出的备份方式,其特点就是效率的大幅改善,据eygle报告,impdp相比与传统imp有20倍速度提升,其最大的缺点是不能跨数据库版本,连小版本号也不行(例如11.1到11.2)。rman相比前两转载 2021-04-30 10:00:32 · 795 阅读 · 0 评论 -
PLSQL导出CSV格式后中文为乱码问题
解决PLSQL导出CSV格式后中文为乱码的方法1.方法 12.方法 21.方法 1导出csv格式文件 新建excel文件 比如 a.xls excel软件打开 选择菜单数据 -导入外部数据 unicode默认下一步 选择 逗号分隔符 点击确定导入完成选择CVS文件路径2.方法 2导出成html格式 使用ie打开 在ie上点击右键 导出到 microsoft excel 打开的excel另存为 a.xls 完成...原创 2021-04-06 16:50:01 · 2436 阅读 · 0 评论 -
for update 和 rowid
oracle中的数据编辑for update 和 rowidrowidfor update1)select... for update2)select ...for update nowait3)select ...for update wait4)skip lockedfor update 和 rowid开发反馈说操作表一直卡着,查了才发现开发用for update 操作插入数据,导致的行等待。然后借这个计划整理下oracle的这个知识点。rowid在ORACLE中用ROWID来定位记录是最快的,原创 2021-02-19 16:06:22 · 2745 阅读 · 4 评论 -
ORACLE 的SCHEDULER创建JOB
ORACLE 的SCHEDULER创建JOBJOBS什么是JOBSCREATE_JOB参数说明通过PLSQL创建JOBS管理 JobsJOBS什么是JOBSORACLE 建议使用 Scheduler 替换普通的 job(DBMS_JOB),即在plsql工具中右边看到jobs所谓 JOBS,其实就是 Scheduler 管理的一个(或多个)任务的执行调度。CREATE_JOB通过 DBMS_SCHEDULER 包来创建 Jobs,是使用其 CREATE_JOB 过程。在创建 Job 时,用户可原创 2021-01-29 17:01:41 · 1364 阅读 · 0 评论 -
Oralce中的任务JOB
Oralce中的任务一、Job和Dbms_job二、定时任务(dbms_job)一、Job和Dbms_jobOralce中的任务有2种:Job和Dbms_job,两者的区别有:1. jobs是oracle数据库的对象, dbms_jobs只是jobs对象的一个实例, 就像对于tables, emp和dept都是表的实例。2. 创建方式也有差异,Job是通过调用dbms_scheduler.create_job包创建的,Dbms_job则是通过调用dbms_job.submit包创建的。3.转载 2021-01-29 11:05:59 · 197 阅读 · 0 评论 -
mysql开发中遇到的问题解决
刚接触mysq,在开发过程中遇到的问题记录,避免采坑将null存为一个空格GROUP_CONCAT最大长度的限制union all 提示 Illegal mix of collations for operation ‘UNION’1.将null存为一个空格-- mysql 对空格不敏感且认为''空字符串与null不同(处理的时候,先将null转为'',然后再用IF函数,将空字符串''转为' '空格)SELECT if(ifnull(product_id,'')='',' ',product_i原创 2020-11-05 17:47:21 · 1240 阅读 · 1 评论 -
(数据库面试)数据库的基本构成和原理
#数据库的基本构成和原理1.数据库(Database,DB)是什么数据库是按一定结构组织并可以长期存储在计算机内、在逻辑上保持一致的、可共享的大量相关联数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为在一定组织范围内的各种用户所共享广义数据库:Oracle,MySQL,PostgreSQL,Redis,Hbase2.数据库的应用场景电商网站:用户账号信息,商品信息,用户订单信息网上论坛:主题,发帖,回复3.数据库存在的目的存储,转载 2020-07-10 18:47:56 · 322 阅读 · 0 评论 -
数据库优化之一(索引,分区,语句改写)
数据库优化索引表分区sql语句优化索引ORACLE 采用两种访问表中记录的方式: 全表扫描全表扫描就是顺序地访问表中每条记录. ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描. 通过ROWID访问表你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息…ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的原创 2020-07-06 17:37:12 · 230 阅读 · 0 评论 -
数据库设计
数据库数据库设计物理设计数据库设计物理设计物理设计要做什么?选择合适的数据库管理系统。考虑因素:成本,业务场景,开发语言,功能,操作系统等。2.定义数据库,表及字段,要符合命名规范。选择存储引擎:这里以MySQL为例表及字段命名规范可读性:命名可读性强举例:列名nickname和nick_name相比,后者更加清晰明了,看起来更加舒服一点。表意性:见名知意举例:列名col1和user_name相比,后者更加具有直观性,可以让我们一眼就知道当前列名所代表的意思和可能的数据类型转载 2020-07-06 15:44:42 · 431 阅读 · 0 评论