`

Oracle重置序列(不删除重建方式)

阅读更多

Oracle中一般将自增sequence重置为初始1时,都是删除再重建,这种方式有很多弊端,依赖它的函数和存储过程将失效,需要重新编译。

不过还有种巧妙的方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的这个值(反过来走),然后再改回来。

 假设需要修改的序列名:seq_name

1、select seq_name.nextval from dual; //假设得到结果5656

2、 alter sequence seq_name increment by -5655; //注意是-(n-1)

3、 select seq_name.nextval from dual;//再查一遍,走一下,重置为1了

4、  alter sequence seq_name increment by 1;//还原

分享到:
评论

相关推荐

    oracle 重置序列从指定数字开始的方法详解

    1. **不删除重建方式** 在不删除重建序列的情况下,可以使用PL/SQL动态SQL语句来实现重置。首先,获取序列的当前`nextval`,然后根据目标起始值计算出需要的增量,通过`ALTER SEQUENCE`语句临时改变增量,接着再次...

    oracle sequence语句重置方介绍

    如果需要重置,可以直接DROP再重建: ```sql DROP SEQUENCE seq_name; CREATE SEQUENCE seq_name START WITH 100 INCREMENT BY 1; ``` 这种方式更简单,但需要注意,DROP序列会丢失序列的所有历史信息,包括当前值。...

    Oracle日志文件丢失的解决方法

    然而,在日常运维过程中,由于各种原因,如意外删除、硬件故障等,可能会导致Oracle的日志文件丢失。日志文件,尤其是重做日志(Redo Log),在数据库的正常运行中扮演着至关重要的角色,它们记录了所有对数据库的...

    oracle无备份回复各种场景处理

    在Oracle数据库管理中,无备份恢复(也称为灾难恢复)是一项关键技能,尤其是在面对各种突发情况时。本文将深入探讨在没有备份的情况下,如何处理Oracle数据库的多种常见故障场景,包括恢复密码文件、参数文件、控制...

    oracle传输表空间实例.doc

    在导入完成后,可能需要执行额外的调整,比如重置序列、重建索引、更新引用完整性约束等。在某些情况下,可能还需要调整用户、角色和权限设置,以匹配源系统中的配置。 总的来说,Oracle传输表空间是一项复杂但高效...

    案例解决:一次oracle掉电的处理过程

    但是,由于错误提示需要使用RESETLOGS选项,这意味着需要重置日志序列,以消除在数据库关闭时未完成的事务信息。 4. **使用RESETLOGS**:使用`ALTER DATABASE OPEN RESETLOGS;`命令可以尝试重置日志序列并打开...

    REDO文件block损坏的解决方法

    `命令打开数据库,并重置日志文件,这是恢复过程中的关键步骤,可以确保日志序列的一致性。 #### 步骤7:异常处理与参数调整 如果在第5步至第8步之间遇到ORA-00600等错误,可能需要调整步骤4中的SCN调整级别,或...

    数据库的物理结构(4).ppt

    `RESETLOGS`用于在丢失日志或执行特定类型的恢复后重置日志序列,而`NORESETLOGS`则保留当前的日志序列,适用于完全恢复或需要使用现有在线日志的情况。 `MAXLOGFILES`、`MAXLOGMEMBERS`、`MAXDATAFILES`、`...

Global site tag (gtag.js) - Google Analytics