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

在Oracle中,为什么在删除表分区时公共同义词变得无效

在Oracle数据库中,公共同义词(Public Synonym)是一种数据库对象,用于在不同的用户之间提供对另一个用户创建的对象的访问。当一个用户创建了一个公共同义词,指向另一个用户创建的对象时,其他用户可以通过使用该公共同义词来访问该对象,而无需知道对象所属的用户和对象的实际名称。

在删除表分区时,如果该表分区是通过公共同义词访问的,那么在删除该表分区后,该公共同义词可能会变得无效。这是因为,当删除表分区时,该表分区的元数据也会被删除,因此公共同义词所指向的对象不再存在,从而导致公共同义词变得无效。

为了避免这种情况,可以在删除表分区之前,先删除指向该表分区的公共同义词,或者在删除表分区之后,重新创建指向该表分区的公共同义词。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

我们为什么MySQL几乎不使用分区

Oracle,使用分区是一种很自然的事情,数据库容量基本都是500G起,大小5T以上都是很常见的。...但是MySQL的使用,我们几乎不使用分区,今天有同学群里一起沟通,我就按照我的理解做了梳理。...整体来说从功能上来说,Oracle有的大部分功能在MySQL分区基本存在,包括一些分区的细粒度管理。 所以如果单纯从功能入手,确实难以找到很直接的理由来拒绝分区。...我觉得主要是使用模式的差异,我们不使用的主要原因是避免单库存储过大,而且分区变更相对会比较麻烦,MySQL侧,我们的目标是让数据库更小巧轻量一些,可能更偏TP一些,我们目前是排除了分区的设计,而且也明确写进了开发规范...问题1:为啥Oracle分区用的很常见 MySQL却不推荐呢 挺疑问的。 因为是两种不同的数据库,拿MySQL当Oracle用,会有很多不如意的地方。

1.6K50

Oracle,如何正确的删除空间数据文件?

TS_DD_LHR DROP DATAFILE '/tmp/ts_dd_lhr01.dbf'; 关于该命令需要注意以下几点: ① 该语句会删除磁盘上的文件并更新控制文件和数据字典的信息,删除之后的原数据文件序列号可以重用...② 该语句只能是相关数据文件ONLINE的时候才可以使用。...“DROP TABLE XXX;”的情况下,再使用“PURGE TABLE "XXX回收站的名称";”来删除回收站的该,否则空间还是不释放,数据文件仍然不能DROP。...需要注意的是,据官方文档介绍说,处于READ ONLY状态的空间数据文件也不能删除,但经过实验证明,其实是可以删除的。...OFFLINE FOR DROP命令相当于把一个数据文件置于离线状态,并且需要恢复,并非删除数据文件。数据文件的相关信息还会存在数据字典和控制文件

6.9K30
  • 【DB笔试面试630】Oracle,怎样收集的统计信息?怎样收集分区的统计信息?

    ♣ 题目部分 Oracle,怎样收集的统计信息?怎样收集分区的统计信息?...DBMS_STATS.GATHER_TABLE_STATS(USER,'TB_NAME',PARTNAME=>'PT_PART_NAME',GRANULARITY=>'PARTITION',CASCADE=>TRUE);--针对分区的单个分区进行收集统计信息...DBMS_STATS.GATHER_DATABASE_STATS();--收集当前数据库下所有用户的统计信息 l EXEC DBMS_STATS.GATHER_SCHEMA_STATS(USER);--收集用户下所有对象的统计信息 当系统的分区数据量很大...,如果每次都收集全部的分区必然会导致统计信息的收集非常慢,Oracle 11g之后可以通过设置INCREMENTAL来只针对数据有变动的分区做收集: EXEC DBMS_STATS.SET_TABLE_PREFS...'TABLE_NAME') FROM DUAL;--查看分区INCREMENTAL的值 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

    97630

    【DB笔试面试649】Oracle分区统计信息的更新机制是怎样的?

    ♣ 题目部分 Oracle分区统计信息的更新机制是怎样的?...♣ 答案部分 分区统计信息的更新机制如下所示: ① 当某个分区的数据变化达到10%,自动收集统计信息任务运行时,Oracle会更新该分区的统计信息。...② 当分区中所有分区数据变化量的总和达到分区总数据量的10%,Oracle会更新该分区的统计信息。...另外,需要注意的是,更新分区的统计信息10.2.0.5之前必须要扫描该所有的分区或整个的数据,而从10.2.0.5开始,可以设置分区按增量变化统计,只收集有数据变化的分区。...DUAL;--查看分区INCREMENTAL的值 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

    96010

    【DB笔试面试645】Oracle,当收集的统计信息应该注意哪些问题?

    ♣ 题目部分 Oracle,当收集的统计信息应该注意哪些问题?...⑩ 是否分区:若是分区则建议收集全局的统计信息并且收集数据量有变更的单个分区(加GRANULARITY和参数并设置属性INCREMENTAL)的统计信息。...有些DBA收集统计信息,没有使用NO_INVALIDATE=>FALSE选项,所以,即使收集了统计信息,执行计划也不会立即改变。...收集SH.SALES上的统计信息,让所有依赖于该的游标不失效 ⑲ 对于OLTP类型的数据库,需要特别关注DML比较频繁的以及数据加载比较大的分区。...21 如果加载数据量比较大,并且是分区,每个分区的业务数据呈现的是均匀的,Oracle 11g可以考虑采用DBMS_STATS.COPY_TABLE_STATS先把统计信息做个快速的设置,然后,再收集该分区的统计信息

    1.2K30

    Oracle数据库常用十一大操作指令

    十、同义词 ---- 同义词是对象的一个别名,不占用任何的实际存储空间,只oracle的数据字典中保存其定义描述,使用同义词oracle会将其翻译为对应对象的名称。 1....含义: Oracle允许把一个重的所有行分成几个部分,并将它们存储不通的空间,分成的每一部分成为一个分区,被分区成为分区。...对于包含大量数据的来说,分区很有用,优点有以下几点: 1)改善的查询性能。在对表进行分区后,用户执行sql查询可以只访问的特定分区而非整个。 2)更容易管理。...因为分区的数据存储多个部分,按分区加载和删除数据比中加载和删除更容易。 3)便于备份和恢复。可以独立地备份和恢复每个分区。 4)提高数据安全性。...分区对用户是透明的,及应用程序可以不知道已被分区更新和查询分区当做普通来操作,但oracle优化程序知道已被分区。 2.

    2.1K30

    Oracle数据库常用操作命令

    设置或删除MINVALUE或MAXVALUE 修改增量值 修改缓存的序列号的数目   不能修改序列的START WITH参数 4.删除序列 十、同义词 同义词是对象的一个别名,不占用任何的实际存储空间...,只oracle的数据字典中保存其定义描述,使用同义词oracle会将其翻译为对应对象的名称。...对于包含大量数据的来说,分区很有用,优点有以下几点: 1)改善的查询性能。在对表进行分区后,用户执行sql查询可以只访问的特定分区而非整个。 2)更容易管理。...因为分区的数据存储多个部分,按分区加载和删除数据比中加载和删除更容易。 3)便于备份和恢复。可以独立地备份和恢复每个分区。 4)提高数据安全性。...分区对用户是透明的,及应用程序可以不知道已被分区更新和查询分区当做普通来操作,但oracle优化程序知道已被分区

    3.1K10

    Oracle事务和对象详解

    函数索引:使用函数涉及正在创建索引的列的索引 3、创建索引 操作我们可以使用Oracle的scott用户进行测试,首先解锁,改一个密码,登陆进去就可以操作了 create [unique] index...1、而在Oracle同义词可用来: 1)简化Oracle输入的SQL语句,通过给对象建立同义词,我们可以简化复杂的SQL语句,方便记忆和操作 2)隐藏对象的名称和所有者,给对象建立了同义词,如scott...那么我们查询这个的时候就不用担心暴露的位置,提供了一定的安全性 3)提供对数据库的公共访问,可以通过给远程连接建立公有同义词给其他的用户查看。...分布式环境Oracle数据库链接是必须的。有一点,oracle数据库链接是单向的;一个链接,能从a数据库链接到b数据库,那么无法从b数据库链接到a数据库。...·Oracle可将的行分成多个部分(存储于不同的空间),这些部分组成的就是分区,这些部分被称为Oracle分区

    1.2K20

    Oracle数据库学习笔记(五 —— 函数、视图、索引、同义词

    视图的修改和删除 3.5 实践练习 第四节 Oracle 同义词 4.1 同义词定义 4.2 同义词分类 4.3 同义词的创建与删除 4.4 完成以下练习 引言 在前面的学习过程,我们接触过一些特定函数...当一个含有大量的记录Oracle 查找该的特写记录需要花费大量时间 (类比花费大量的时间来查找书中的主题一样)。我们可以 Oracle 建立一个次隐藏,该包含主表中一个或多个重要的列。...当通过视图修改数据,实际上是改变基的数据;相反地,基数据的改变也会自动反映在由基产生的视图中。由于逻辑上的原因,有些Oracle视图可以修改对应的基,有些则不能(仅仅能查询)。...修改视图: DROP VIEW VIEW_NAME语句删除视图 删除视图的定义不影响基的数据 只有视图所有者和具备DROP VIEW权限的用户可以删除视图 视图被删除后,基于被删除视图的其他视图或应用将无效...使用同义词Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。

    91610

    同名的同义词和视图解惑

    针对系统动态性能视图,数据库启动Oracle动态创建了x$,在此基础之上,创建gv$和v$视图,Oracle创建了gv_$和v_$视图,然后创建了gv$和v$的公共同义词,而真正的v$视图访问的限制是通过软件机制实现的...我们执行的“desc v$bisal”,返回两个字段,所以可确认他访问的是视图v$bisal,说明进行数据访问的时候,先访问的是视图,其优先级要高于公共同义词, SQL> desc v$bisal...eygle的书中介绍了Oracle对于对象名的解析顺序, (1) Oracle首先查看在发出命令的用户模式是否存在或视图。 (2) 如果或视图不存在,Oracle会看私有同义词是否存在。...(6) 如果公共同义词不存在,返回信息"ORA-00942 table or view does not exit"。 朋友提出第二个问题,为什么能创建出两个相同名称的对象v$bisal?...创建同义词vbisal指定了public关键字,视图vbisal是当前用户,因此这两个对象其实还是属于不同空间的,不存在同名问题, SQL> create view v$bisal as select

    1K20

    同名的同义词和视图解惑

    针对系统动态性能视图,数据库启动Oracle动态创建了x,在此基础之上,创建gv和v视图,Oracle创建了gv_和v_视图,然后创建了gv和v的公共同义词,而真正的v视图访问的限制是通过软件机制实现的...eygle的书中介绍了Oracle对于对象名的解析顺序, (1) Oracle首先查看在发出命令的用户模式是否存在或视图。 (2) 如果或视图不存在,Oracle会看私有同义词是否存在。...(3) 如果私有同义词存在,将使用这个同义词所引用的对象。 (4) 如果私有同义词不存在,看同名的公共同义词是否存在。 (5) 如果公共同义词存在,将使用这个同义词所引用的对象。...(6) 如果公共同义词不存在,返回信息"ORA-00942 table or view does not exit"。 朋友提出第二个问题,为什么能创建出两个相同名称的对象v$bisal?...创建同义词vbisal指定了public关键字,视图vbisal是当前用户,因此这两个对象其实还是属于不同空间的,不存在同名问题, SQL> create view v$bisal as select

    98330

    SQL基础--> 序列(SEQUENCE)、同义词(SYNONYM)

    =============================== 一、序列 是一个Oracle对象,提供唯一的数字,需要根据指定的增量值来递增,通常用于产生主键值 类似于SQL server的IDENTITY...SQL server可以直接将列指定 为IDENTITY列,使用的时候可以不需要理会IDENTITY列,系统会自动递增,这样看来SQL server 主键的产生更为简便。...(NOCACHE), 可使用USER_SEQUENCES 查看序列当前的有效值 --当第一次使用序列指定了currval列,结果出现如下错误提示 SQL> SELECT my_seq.currval...--删除公共同义词后robinson不可访问 SQL> CONN robinson/lion; Connected....schema,如scott.seq1.nextval 对于循环使用序列,当达到最大值后,初始值为 同义词Oracle对象的一个同名对象 可以分为公共同义词和私有同义词,两者可同名 创建和删除所需的权限

    1.3K20

    oracle 权限一览

    改变数据库的任何一个簇 DROP ANY CLUSTER 删除数据库的任何一个簇 数据库 ALTER DATA BASE 改变数据库;不管操作系统的特权,经由Oracle把文件添加到操作系统...LINK 删除公共数据库链接 公共同义词 CREATE PUBLIC SYNONYM 创建公共同义词 DROP PUBLIC SYNONYM 删除公共同义词 角色 CREATE ROLE 创建角色...DROP ANY SNAPSHOT 删除任何模式的任何快照 同义词 CREATE SYNONYM 自有模式创建同义词 CREATE ANY SYNONYM 在任何模式创建任何同义词 DROP...ANY SYNONYM 在任何模式删除任何同义词 系统 ALTER SYSTEM 发出ALTER SYSTEM 语句 CREATE TABLE 自有模式创建。...DELETE ANY TABLE 删除任何模式的任何或视图中的行 空间 CREATE TABLESPACE 创建空间;不管用户有何操作系统特权,经由Oracle把文件添加到操 作系统 ALTER

    1.3K20

    删除分区提示ORA-00942

    为了限制开发人员测试库随意变更结构,我们测试库为开发人员创建了专用账号,这个账号内只包含系统真正属主数据库用户同义词,授予了select/insert/update/delete权限,无法执行...很显然,在上面的例子,是后者的含义。 这问题能解决么? 官方文档说,如果要具有删除分区的权限,就需要授予DROP ANY TABLE的权限, ? 这就能解决了?...TEST2下删除分区(注意,此处是用同义词删除),还是报了ORA-00942, SQL> show user USER is "TEST2" SQL> alter table interval_sales...用“同义词删除分区提示错误,用“schema.table_name”删除分区成功,这两者是何区别?...分区同义词,代表的是分区对象,但是分区的每个分区其实也是个对象,我们通过user_objects视图就可以看出来,每个分区名称,都是实实在在的对象,但是每个分区,并没有对应的同义词, SQL>

    1.2K10

    Oracle 错误总结及问题解决 ORA「建议收藏」

    解决:嵌套分组函数必须要有GROUT BY子句(哪些是分组函数请看“Oracle函数大全”) ORA-00979: 不是 GROUP BY 表达式 ORA-00980: 同义词转换不再有效 说明:同义词创建...没有存储溢出行段的数据段 ORA-01430: 已经存在要添加的列 ORA-01431: GRANT 命令的内部不一致 ORA-01432: 要删除的公用同义词不存在 ORA-01433: 要创建的同义词已经定义...SET UNUSED ORA-12981: 无法从对象类型删除列 ORA-12982: 无法从嵌套的删除列 ORA-12983: 无法删除的全部列 ORA-12984: 无法删除分区列 ORA...ORA-14527: 允许分区关键字列使用 ROWID 数据类型 ORA-14528: 删除优化的过程中出现模拟的崩溃 ORA-14529: 在有利于交换的分区上执行 ctas 的过程复制 Hakan...) 插入以兼容级运行的数据库 ORA-19727: 无法将数据 [] (级) 插入正在运行的 Oracle 数据库 ORA-19728: 数据对象号分区间 () 冲突 ORA-19729:

    20.9K20

    Oracle解决高水位线(high water mark 简称:HWM)​问题

    (high water mark 简称:HWM) 所有的Oracle段(segments,在此,为了理解方便,建议把segment作为的一个同义词)都有一个段内存放数据的上线,那么我们把这个上线成为...即使的全部数据都删除了,那么HWM还是原值,不会变,由于这个特点,使得HWM就像一个水库的历史最高水位。 简单的说就像水库里的历史最高水位。...当然也不是说你把的数据删掉一半,它的高水位就会下降,因为高水位代表历史最高水位。  Oracle执行delete删除操作不会降低高水位。...2.select 特性和高水位的关系 Oracle执行select 操作扫描的是高水位以下的全部数据块。所以不是说数据库存放了多少数据块,就会扫描多少个数据块。...,某一行更新,如果更新的是分区列,并且更新后的列值不属于原来的这个分区,如果开启了这个选项,就会把这行从这个分区delete掉,并加到更新后所属的分区

    1.2K30

    Oracle总结【视图、索引、事务、用户权限、批量操作】

    ,真正的数据还是存储 (6)程序员虽然操作的是视图,但最终视图还会转成操作基 (7)一个基可以有0个或多个视图 为什么要用到视图?...那么我们使用的时候就会变得非常方便… 小总结: (1)如果你不想让用户看到所有数据(字段,记录),只想让用户看到某些的数据,此时可以使用视图 (2)当你需要减化SQL查询语句的编写,可以使用视图,...salgrade select * from s; 删除同义词 drop synonym ev5; 删除同义词,会影响基吗?...不会影响基 删除,会影响同义词吗? 会影响同义词 序列 Mysql的自动增长可以直接在创建的时候,字段后面跟上auto increament关键字就行了。...,类似于新华字典的目录 (2)运用在某个/些字段上,但存储,独立于之外 为什么要用索引 为什么要用索引 (1)通过指针加速Oracle服务器的查询速度 (2)通过rowid快速定位数据的方法,减少磁盘

    1.9K41

    【DB笔试面试514】Oracle同义词的定义及其作用是什么?有关同义词需要注意些什么?

    ♣ 题目部分 Oracle同义词的定义及其作用是什么?有关同义词需要注意些什么? ♣ 答案部分 同义词是其它对象(例如表、实体、存储过程、函数、包、序列)的别名。...同义词也可以是另一个同义词的别名。同义词的优点主要体现在以下几个方面: l 当使用对象,不需要指出对象的所有者。 l 引用对象不需要指出它所在的数据库。...如果存在公共同义词和私有同义词同名的情况,那么访问同义词,访问的是私有同义词所指向的对象。 ② 不能创建和当前用户下的名相同的私有同义词,但是可以创建和当前用户下的名相同的公共同义词。...with same name as object LHR@ora11g > create public synonym s_b for s_b; Synonym created. ③ 不能访问与当前用户下的名相同的公共同义词...通过访问同义词就相当于访问其他SCHEMA对象的,但是,当创建的同义词和其他对象重名的时候,有可能在查询却指向了另一个同名的对象,导致无法访问到正确的数据。

    84610

    Oracle 分区

    --================== -- Oracle 分区 --================== 一、分区: 随着的不断增大,对于新纪录的增加、查找、删除等(DML)的维护也更加困难...关于分区的功能实际上同SQL server 分区是同样的概念,只不过SQL server的数据存放到了文件组,相当于Oracle概念空间, 有兴趣的可以参考: SQL server...散列分区的每个分区都被存储单独的段。 3.List分区:列表分区 List分区可以控制如何将行映射到分区中去。...List分区必须指定的以下内容 分区方法:list 分区分区描述,每个描述指定一串文字值(值的列表),它们是分区列(它们限定将被包括分区的行)的离散值 示例: create table...,要重建索引,否则索引会变得无效 alter index xxx rebuild 10.合并分区: alter table sales3 merge partitons sp1,sp3 into

    1.8K20

    SQL Server 2005与Oracle同步注意NUMBER类型转换

    在前面的文章我已经讲到使用同义词的方法来SQL Server 2005下连接Oracle,我们可以使用同义词来实时访问Oracle数据库,但是如果Oracle数据流较大则会影响应用系统的性能,...于是我采用数据库作业每天定时执行: drop table abc--删除旧表 go select * into abc from aaa--aaa为同义词 这样就可以把Oracle的数据同步到本地的...若只是数据类型改变了倒没有什么,我应用程序处理转换一下就是了,但是更奇怪的是其中某些数据Oracle查出来是12.34567,但是SQL Server 2005查出来却成了12.345670543574563452346547546234234543656434...解决办法就是将SQL Server同步的nvarchar(384)类型修改为decimal类型或numeric类型,同步删除,只是清除内容,然后插入数据。...同步SQL为: TRUNCATE TABLE abc--清除abc内容 go insert into abc--将同义词aaa的数据插入abc select * from aaa 这样问题是解决了

    77930
    领券