首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过Oracle DB了解MySQL

MySQL允许用户按照以下权限范围降序授予五不同级别的权限: 全局 每个主机 数据库级 特定 特定(一) 数据库每个级别都有一对应授权。...默认值 MySQL和Oracle处理默认值为NOT NULL方式不同。 MySQL数据插入时确定默认值。该默认值是数据类型隐式默认值。...Oracle在数据插入时,必须为所有NOT NULL指定数据。Oracle不会为具有NOT NULL约束生成默认值。...在MySQL,数据库对应于服务器数据目录目录。数据库对应于数据库目录或多个文件,具体取决于使用存储引擎。 数据库可以包含来自不同存储引擎。...空间提供逻辑存储,并将数据库与保存数据物理磁盘链接。空间是从一或多个数据文件创建。数据文件是文件系统文件或原始设备指定磁盘空间区域。可以通过添加数据文件来扩大空间。

1.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

对于Oracle兼容,我们手拿把掐

国产数据库该如何去O? Oracle兼容性是一系统性工作,不能满足于简单SQL语法/语义兼容,主要有引擎、生态工具两方面。...递归查询、DBlink、伪等功能层面兼容 驱动层面兼容 JDBC配合内核能力做用法兼容 OCI对oracle接口用法做应用层兼容 Pro*C在嵌入式SQL做代码层兼容 工具层面兼容 异构数据库静态对象...如:LEVEL等 支持HINT功能 同义词、DBLINK、系统函数、系统支持 空串与NULL等价 3....层次查询 层次查询语法支持start with connect by 树深度遍历 增加Connect By算子,实现递归执行 优化器From生成两Path WHERE条件下推到不同Path上...PL/SQL - 自治事务 自治事务: 自治事务由主事务启动;自治事务运行时,主事务挂起 自治事务与启动它主事务相互独立 自治事务可以用在存储过程、函数、匿名块以及触发器 如果自治事务与主事务产生锁冲突

1.9K20

实验long raw 和 blob两种数据类型遇到dblink表现

首先long raw从Oracle 10g开始就不再被建议使用,建议用blob代替。同理,long建议用clob代替。...( id number, text long raw ); --BLOB create table T_TEST_BLOB( id number, text BLOB ); 然后使用plsql工具在两张分别插入一条相同数据...可以看到,和步骤2测试不同,long raw数据类型无法被创建,报错:ORA-00997。 而blob数据类型却可以正常创建。...总结:很简单小实验,只是发现二者在dblink查询和依据dblink时,表现完全相反,蛮有趣,特此记录一下。...另外,如果实验long raw和blob分别替换为long和clob去构造实验(插入数据就是字符型),现象一样就不再赘述。

98340

一条SQL语句优化

今天同事反馈ETL数据抽取很慢,并且用DBLINK来做数据抽取,慢到什么程度呢?...1、了解背景情况 让厂家找到相关语句,一看却是UPDATE语句,再看SQL语法,是带.和不带.,根本不是什么DBLINK,就是同一数据库上不同用户而已。...既然慢,那就慢慢看语句吧,语句不复杂,就是从一根据条件更新到另一张 UPDATE语句比较烦人,一般情况下我都会把语句改写成SELECT语句 2、查看执行计划 对改写后语句进行执行,并且查看执行计划...,且键值非常多,非常适合做索引,YHBH,JLDBH,ZCBH这三随便用哪个索引都是差不多;再看外层,发现该空空如也,什么索引都没有。...在WHERE条件,发现用到了分区条件,和内层索引 4、进行优化 通过以上分析,可以知道在外层上随便建一索引,应该就会取得较好效果。

28710

ora-22992 通过DBLINK 访问远程CLOB问题

在本地用select语句访问远程,如果远程CLOB字段的话则会有错:ora-22992; 如果真的想看到clob字段内容的话就得在本地建立一,用下面两条语句: 我刚才试验insert into...remote table (2)insert into table select * from remote table 不过网上也有以下说法,虽然有错,不过也是一种方法, 通过临时DBLink获取...不过真正使用DBLink时却碰到一不小问题:从远程数据库上查询Blob字段时总返回ORA-22992错误,如下: select blobcolumn from remoteTable@dl_remote...; ORA-22992: 无法使用从远程选择 LOB 定位器 查找了一下解决方法,有人提出了采用物化视图可以解决这个问题。...后来还是AskTom给出了极好解决方案:使用全局临时

2.9K10

Oracle 在线重定义(上)

不能重新定义临时。 不能重新定义行子集。 在临时映射到原始时,只能使用简单的确定性表达式、序列和 SYSDATE。例如,不允许子查询。...在此方法名为 M_ROW$$ 隐藏添加到重新定义后版本。建议在重新定义完成后删除此列或将其标记为未使用。重定义最后阶段会自动将此列设置为未使用。...使用以下两种方法之一依赖对象(例如触发器、索引、物化视图日志、授权和约束)和统计信息从重新定义复制到临时。方法 1 是首选方法,因为它自动化,但有时您可能会选择使用方法 2。...以下是需要您手动创建依赖对象示例更改: 索引移动到另一个空间 修改索引 修改约束 修改触发器 修改物化视图日志 运行 REGISTER_DEPENDENT_OBJECT 过程时,必须使用 dep_type...视图还包括一 SUBOPERATION 和一 DETAILED_MESSAGE ,以获得关于当前操作详细信息。

21721

Oracle数据库逻辑迁移之数据泵注意事项

环境:数据迁移,版本 11.2.0.4 -> 12.2.0.1 思考: 对于DBA而言,常用物理方式迁移,物理迁移优势不必多说,使用这种方式不必担心对象前后不一致情况,而这往往也解决了不懂业务...本文宗旨是通过构建一简单例子来说明。...1.构建测试用例 2.查询特殊对象 3.测试迁移过程 4.正式迁移过程 1.构建测试用例 我想法是,构建一测试用例,但尽可能包含更多类型对象,从而模拟现实绝大部分场景。...那么,仔细思考下,我们至少需要创建: - 1.1 用户默认数据空间、索引空间、临时空间 - 1.2 多个用户schema,拥有不同角色权限 - 1.3 用户下建有(普通堆、索引组织、全局临时...(public同义词,private同义词) - 1.7 用户下有dblink(publicdblink,privatedblink) - 1.8 用户下有存储过程、函数、触发器、包、包体、序列

59640

珍藏 | Java 岗位 【数据库】 面试题及答案详解

· 一最多只能有三触发器,insert、update、delete · 每个触发器只能用于一 · 不能对视图、临时创建触发器 · Truncate table能删除,但不能触发触发器 3:...它使得我们获取数据容易,相比多表查询。 - 游标:是对查询出来结果集作为一单元来有效处理。 游标可以定在该单元特定行,从结果集的当前行检索一行或多行。...· 主键在本是唯一、不可唯空,外键可以重复可以唯空; · 外键和另一张主键关联,不能创建对应不存在外键。 12:在数据库查询语句速度很慢,如何优化?...实际大部分应用是不会产生重复记录,最常见是过程与历史UNION。 · UNION ALL只是简单结果合并后就返回。...Oracle自己开发了一数据类型varchar2,这个类型不是一标准varchar,他将在数据库varchar可以存储空字符串特性改为存储null值,如果你想有向后兼容能力,oracle建议使用

3.4K20

Oracle数据库逻辑迁移之数据泵注意事项

环境:Oracle数据迁移,版本 11.2.0.4 -> 12.2.0.1 思考: 对于DBA而言,常用物理方式迁移,物理迁移优势不必多说,使用这种方式不必担心对象前后不一致情况,而这往往也解决了不懂业务...本文宗旨是通过构建一简单例子来说明。...1.构建测试用例 2.查询特殊对象 3.测试迁移过程 4.正式迁移过程 1.构建测试用例 我想法是,构建一测试用例,但尽可能包含更多类型对象,从而模拟现实绝大部分场景。  ...那么,仔细思考下,我们至少需要创建: 1.1 用户默认数据空间、索引空间、临时空间 1.2 多个用户schema,拥有不同角色权限 1.3 用户下建有(普通堆、索引组织、全局临时、分区...同义词,private同义词) 1.7 用户下有dblink(publicdblink,privatedblink) 1.8 用户下有存储过程、函数、触发器、包、包体、序列 2.查询特殊对象 2.1

66120

SQL命令 UPDATE(二)

这防止更新操作直接更改一值,该值是涉及其他字段值计算结果。 在本例,试图使用UPDATE覆盖计算字段导致SQLCODE -138错误。...但是,可能希望修改一计算字段值,以反映对一(或多个)源字段值更新。 可以通过使用更新触发器来实现这一点,该更新触发器在您更新了指定源字段之后重新计算计算过字段值。...从引用,可以: 使用引用字段多个%SerialObject属性值更新为%List结构。...这取决于如何使用别名: 如果两引用都没有别名,则两者都引用同一: UPDATE table1 value-assignment FROM table1,table2 /* join of...如果不这样做,导致%msgSQLCODE -99错误,用户“name”没有%NOLOCK权限。 %NOTRIGGER—在UPDATE处理过程不会提取基触发器

1.8K30

PostgreSQL 教程

连接多个 主题 描述 连接 向您展示 PostgreSQL 连接简要概述。 别名 描述如何在查询中使用别名。 内连接 从一中选择在其他具有相应行行。...左连接 从一中选择行,这些行在其他可能有也可能没有对应行。 自连接 通过与自身进行比较来与其自身连接。 完全外连接 使用完全连接查找一另一个没有匹配行行。...主题 描述 插入 指导您如何单行插入。 插入多行 向您展示如何插入多行。 更新 更新现有数据。 连接更新 根据另一个值更新值。 删除 删除数据。...连接删除 根据另一个值删除行。 UPSERT 如果新行已存在于,则插入或更新数据。 第 10 节....重命名表 名称更改为新名称。 添加 向您展示如何向现有添加一或多。 删除 演示如何删除。 更改数据类型 向您展示如何更改数据。 重命名列 说明如何重命名表或多

49410

数据库常见面试题及答案(数据库面试常见问题)

大家好,又见面了,我是你们朋友全栈君。 1、触发器作用? 触发器是一特殊存储过程,主要是通过事件来触发而被执行。...它可以强化约束,来维护数据完整性和一致性,可以跟踪数据库内操作从而不允许未经许可更新和变化。可以联级运算。如,某触发器上包含对另一个数据操作,而该操作又会导致该触发器被触发。...视图:是一种虚拟,具有和物理表相同功能。可以对视图进行增,改,查,操作,试图通常是有一或者多个行或子集。对视图修改会影响基本。它使得我们获取数据容易,相比多表查询。...12、主键和外键区别? 主键在本是唯一、不可唯空,外键可以重复可以唯空;外键和另一张主键关联,不能创建对应不存在外键。 13、在数据库查询语句速度很慢,如何优化?...Oracle自己开发了一数据类型varchar2,这个类型不是一标准varchar,他将在数据库varchar可以存储空字符串特性改为存储null值,如果你想有向后兼容能力,oracle建议使用

3.5K10

Oracle 学习笔记

设计数据库时,要决定它包括哪些,每个包含哪些,每数据类型等。 在创建时,必须为其指定数据类型,数据类型决定了数据取值、范围和存储格式。...会话级临时 会话级临时因为这这个临时数据和你的当前会话有关系,当你当前SESSION不退出情况下,临时数据就还存在,而当你退出当前SESSION时候,临时数据就全部没有了,当然这个时候你如果以另外一...SESSION登陆时候是看不到另外一SESSION插入到临时数据。...即两不同SESSION所插入数据是互不相干。当某一SESSION退出之后临时数据就被截断(truncate table,即数据清空)了。...每次使用时候, 只是重新执行SQL. 视图是从一或多个实际获得,这些数据存放在数据库。那些用于产生视图叫做该视图。一视图也可以从另一个视图中产生。

1.3K50

【DB笔试面试446】如何文本文件或Excel数据导入数据库?

题目部分 如何文本文件或Excel数据导入数据库?...SQL*Loader必须包含一控制文件,该控制文件是SQL*Loader中枢核心,控制文件能够控制外部数据文件数据如何映射到Oracle。通常与SPOOL导出文本数据方法配合使用。...总得来说这种方法是最值得采用,可以自动建立操作系统批处理文件执行SQL*Loader命令,数据导入原始接收,并在数据库设置触发器进行精细操作。...2、对于第一1,还可以被更换为COUNT,计算记录数后,加1开始算SEQUENCE3、还有MAX,取该字段最大值后加1开始算SEQUENCE 16 数据文件数据当做表进行加载...并且变量实际值也超出类型可接受最大值时,就会触发ORA-01461错误 当数据文件字段值真实长度超过4000长度时,只有一方法:数据表字段类型改为CLOB类型或者新增加一临时CLOB字段,sqlldr

4.5K20

OGG| 数据迁移后比对一致性

DBLInk 技术,同时连接到一库下进行 count 查询比对行数不一样,下面来一起看看具体细节,有五种方法供参考。...也就是说,涉及到 DBLInk 进行操作多个库,它们会将 SCN 同步到这些库最大 SCN。...SYS 用户创建 TABLE_LIST ,需要比对用户和插入新创建 TABLE_LIST 。...此包还使您能够聚合数据库对象,以便它们在不同数据库中保持一致。通常,此包用于在多个数据库共享一数据库对象环境。当同一数据库对象副本存在于多个数据库时,该数据库对象是共享数据库对象。...DBMS_COMPARISON 包无法比较以下数据类型数据: LONG、LONG RAW、ROWID、UROWID、CLOB、NCLOB、BLOB、BFILE 用户定义类型(包括 object

1.2K10

oracle,通过触发器,记录每个语句影响总行数

但问题来了,在语句触发器,无法得到该语句行数,sql%rowcount  在触发器里报错。只能用行级触发器去统计行数! 代码结构: 整个监控数据行功能包含: 一日志,包,序列。...日志:记录目标名,SQL执行开始、结束时间,影响行数,监控数据行上某些信息。 包:主要是3存储过程, 语句开始存储过程:用关联数组来记录目标名和开始时间,把其它值清0....: 有了以上代码后,想要监控目标,只需要给它添加三触发器,调用包里对应存储过程即可。  ...clob,还可以显示监控删除行: ? 并行时,在bz,可能会有类似信息: i,i,-i,-i  ,这表示同一时间有2语句在插入目标。...i,d,-d,-i  表示在插入时,有一删除语句也在执行。 当平台多人在用时,避免不了有同时操作同一张情况,通过这个值,可以观察到数据库执行情况!

77620

【DB笔试面试449】如何监控数据库登陆登出、DDL语句等内容?

题目部分 如何监控数据库登陆登出、DDL语句等内容? 答案部分 系统中一些常用监控都可以使用DDL触发器和系统触发器来实现。...可以先创建一张记录DDL语句XB_AUDIT_DDL_LHR(由于该表记录数会很大,所以,需创建成按月自动分区分区),并创建合适索引,然后创建存储过程用于插入DDL信息到该日志。...最后再创建系统触发器就可以DDL语句或系统事件信息插入日志。下面详细说明DDL触发器和系统触发器使用。...SUBPARTITION SP3) (PARTITION P201610 VALUES LESS THAN(TO_DATE('201610','YYYYMM'))); ------创建主键用到序列及其它常用索引...: SELECT * FROM XB_AUDIT_DDL_LHR T WHERE T.OPERATION='SERVERERROR'; 本小节监控内容也解决了前面提出问题,“如何监控会话登录登出情况

59530
领券