百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Oracle转移数据库表空间文件,db2空间不足导致load失败(详细步骤)

mhr18 2024-10-17 10:23 30 浏览 0 评论


如果手机上显示代码错乱,请分享到QQ或者其他地方,用电脑查看!!!


Oracle转移数据库表空间文件位置

工作中碰到的一次windows因数据库表空间所在的磁盘不足,需要进行迁移的解决方法,最后网上搜索得到的方法,自己用了很多次,挺好用:

操作如下:

1、用dba权限账户登录数据库(这里用的是system账户)

在cmd中输入:sqlplus /nolog

conn system/system@orc (账户:system,密码:system,数据库实例名:orc)

2、修改表空间为offline状态

alter tablespace YUANYT offline;( YUANYT为数据库表空间名称)

3、拷贝YUANYT数据表空间文件

将C:\oracledata\YUANYT_DATA.DBF文件拷贝到D:\oracledata\YUANYT_DATA.DBF。

4、修改oracle表空间指向地址.

alter database rename file 'C:\oracledata\YUANYT_DATA.DBF' to 'D:\oracledata\YUANYT_DATA.DBF';

5、修改表空间为Online状态

alter tablespace YUANYT online;

6、查看修改后的表空间文件存储位置

select file_name from sys.dba_data_files; (最后一行数据显示:数据文件存储位置已转移到D盘)

7、最后提交操作

commit;




db2因表空间不足导致load失败,并将表变为load pending状态

之所以选用load方式导入数据是如果用import导入会生成大量事务日志,所以就放弃了,改用了load

自己不是做数据库的所以这点不懂,折腾了好一会,下面是解决方法:

环境:

a.查看当前系统cat /etc/redhat-release

1
2
3
[root@nginx/]# cat /etc/redhat-release
CentOSrelease 6.7 (Final)
[root@nginx/]#

b.查看系统内核uname –r

1
2
3
[root@nginx/]# uname -r
2.6.32-573.el6.x86_64
[root@nginx/]#

c.查看db2版本,db2level

1
2
3
4
5
6
7
8
9
[db2inst1@db2~]$ db2level
DB21085I This instance or install (instance name,where applicable:
"db2inst1")uses "64" bits and DB2 code release "SQL10057" with level
identifier"0608010E".
Informationaltokens are "DB2 v10.5.0.7", "s151221", "IP23956",and Fix Pack
"7".
Productis installed at "/opt/ibm/db2/V10.5".
[db2inst1@db2~]$

1、查看日志,有如下错误:

SQL0289N Unableto allocate new pages in table space "XXXX".

SQLSTATE=57011

将表空间大小修改后,查看这个表的状态:

a.通过这个命令:db2 "load query table XXX"可以查看表状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[db2inst1@db2 bk]$ db2 "load query table text_attachment"
SQL3501W Thetable space(s) in which the table resides will not be placed in
backup pending state since forward recovery is disabledfor the database.
SQL3109N Theutility is beginning to load data from file
"/mnt/bk/bk/empty.txt".
SQL2036N The pathfor the file, named pipe, or device "/mnt/bk/bk/empty.txt"
is not valid.
SQL1652N File I/Oerror occurred.
SQL3532I The Loadutility is currently in the "LOAD" phase.
Number of rows read = 0
Number of rows skipped = 0
Number of rows loaded = 0
Number of rows rejected = 0
Number of rows deleted = 0
Number of rows committed = 0
Number of warnings = 0
Tablestate:
Load Pending

b.所以需要先解锁Load Pending状态

db2 "load from /mnt/bk/bk/empty.txt of ixf restart/terminate into text_attachment"

注意:

直接上述命令中empty.txt,网上很多人说可以没有也可以是空的,但我测试

的时候是没有这个文件不管用,提示如下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
[db2inst1@db2 bk]$ db2 "load from/mnt/bk/bk/empty.txt of ixf restart into text_attachment"
SQL3501W Thetable space(s) in which the table resides will not be placed in
backup pending state since forward recovery is disabledfor the database.
SQL3109N Theutility is beginning to load data from file
"/mnt/bk/bk/empty.txt".
SQL2036N The pathfor the file, named pipe, or device "/mnt/bk/bk/empty.txt"
is not valid.
SQL1652N File I/O error occurred.
SQL1652N File I/O error occurred.

我就新建了一个这个空文件。再次执行上述命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[db2inst1@db2 bk]$ db2 "load from/mnt/bk/bk/empty.txt of ixf terminate into text_attachment"
SQL3501W Thetable space(s) in which the table resides will not be placed in
backup pending state since forward recovery is disabledfor the database.
SQL3110N Theutility has completed processing. "0" rows were read from the
input file.
Number of rows read = 0
Number of rows skipped = 0
Number of rows loaded = 0
Number of rows rejected = 0
Number of rows deleted = 0
Number of rows committed = 0

这样就表示成功了然后,查看我刚才被Load Pending 表的状

态:

1
2
3
4
[db2inst1@db2 bk]$ db2 "load query tabletext_attachment"
Tablestate:
Normal
[db2inst1@db2 bk]$

2、对上述问题的分析:

load后面可以跟三个参数:默认为copy NO;copy YES;NONRECOVERABLE

(1)对于DMS表空间,load默认为copy NO模式,load完成后,表空间会出去暂挂状态,这个时候只能查询表中的数据,需要对表空间进行一次备份才可以对表进行update,insert等操作。

(2)如果是copy YES ,load完成后会自动进行一次备份操作;

(3)如果是NONRECOVERABLE,这样load数据是不可恢复的,此命令不会昌盛表空间暂挂,也不会自动进行表空间备份,但是有一个缺点:不能恢复,当数据库进行回滚的时候,不能还原,相对来说比较危险,但是个人觉得还是这个用起来方便

当上述解决了Load Pending之后就可以正常导入数据了。我后用的NONRECOVERABLE,用起来方便点。


以上是全部内容,只是善于分享,不足之处请包涵!爬虫基本的原理就是,获取源码,进而获取网页内容。一般来说,只要你给一个入口,通过分析,可以找到无限个其他相关的你需要的资源,进而进行爬取。


我也写了很多其他的非常简单的入门级的爬虫详细教程,关注后,点击我的头像,就可以查看到。


欢迎大家一起留言讨论和交流,谢谢!

相关推荐

Java面试宝典之问答系列(java面试回答)

以下内容,由兆隆IT云学院就业部根据多年成功就业服务经验提供:1.写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出的和以总和显示的SQL。SELECT...

ADG (Active Data Guard) 数据容灾架构下,如何配置 Druid 连接池?

如上图的数据容灾架构下,上层应用如果使用Druid连接池,应该如何配置,才能在数据库集群节点切换甚至主备数据中心站点切换的情况下,上层应用不需要变动(无需修改配置也无需重启);即数据库节点宕机/...

SpringBoot多数据源dynamic-datasource快速入门

一、简介dynamic-datasourc是一个基于SpringBoot的快速集成多数据源的启动器,其主要特性如下:支持数据源分组,适用于多种场景纯粹多库读写分离一主多从混合模式。支持...

SpringBoot项目快速开发框架JeecgBoot——项目简介及系统架构!

项目简介及系统架构JeecgBoot是一款基于SpringBoot的开发平台,它采用前后端分离架构,集成的框架有SpringBoot2.x、SpringCloud、AntDesignof...

常见文件系统格式有哪些(文件系统类型有哪几种)

PART.01常见文件系统格式有哪些常见的文件系统格式有很多,通常根据使用场景(Windows、Linux、macOS、移动设备、U盘、硬盘等)有所不同。以下是一些主流和常见的文件系统格式及其特点:一...

Oracle MySQL Operator部署集群(oracle mysql group by)

以下是使用OracleMySQLOperator部署MySQL集群的完整流程及关键注意事项:一、部署前准备安装MySQLOperator通过Helm安装Operator到Ku...

LibreOffice加入"转向Linux"运动

LibreOffice项目正准备削减部分Windows支持,并鼓励用户切换到Linux系统。自Oracle放弃OpenOffice后,支持和指导LibreOffice开发的文档基金会对未来有着明确的观...

Oracle Linux 10发布:UEK 8.1、后量子加密、增强开发工具等

IT之家6月28日消息,科技媒体linuxiac昨日(6月27日)发布博文,报道称OracleLinux10正式发布,完全二进制兼容(binarycompatibility...

【mykit-data】 数据库同步工具(数据库同步工具 开源)

项目介绍支持插件化、可视化的数据异构中间件,支持的数据异构方式如下MySQL<——>MySQL(增量、全量)MySQL<——>Oracle(增量、全量)Oracle...

oracle关于xml的解析(oracle读取xml节点的属性值)

有时需要在存储过程中处理xml,oracle提供了相应的函数来进行处理,xmltype以及相关的函数。废话少说,上代码:selectxmltype(SIConfirmOutput).extract...

如何利用DBSync实现数据库同步(通过dblink同步数据库)

DBSync是一款通用型的数据库同步软件,能侦测数据表之间的差异,能实时同步差异数据,从而使双方始终保持一致。支持各种数据库,支持异构同步、增量同步,且提供永久免费版。本文介绍其功能特点及大致用法,供...

MYSQL存储引擎InnoDB(八十):InnoDB静态数据加密

InnoDB支持独立表空间、通用表空间、mysql系统表空间、重做日志和撤消日志的静态数据加密。从MySQL8.0.16开始,还支持为模式和通用表空间设置加密默认值,这允许DBA控制在这些模...

JDK高版本特性总结与ZGC实践(jdk高版本兼容低版本吗)

美团信息安全技术团队核心服务升级JDK17后,性能与稳定性大幅提升,机器成本降低了10%。高版本JDK与ZGC技术令人惊艳,且JavaAISDK最低支持JDK17。本文总结了JDK17的主要...

4 种 MySQL 同步 ES 方案,yyds!(两个mysql数据库自动同步的方法)

本文会先讲述数据同步的4种方案,并给出常用数据迁移工具,干货满满!不BB,上文章目录:1.前言在实际项目开发中,我们经常将MySQL作为业务数据库,ES作为查询数据库,用来实现读写分离,...

计算机Java培训课程包含哪些内容?其实就这六大块

不知不觉秋天已至,如果你还处于就业迷茫期,不如来学习Java。对于非科班小白来说,Java培训会更适合你。提前了解下计算机Java培训课程内容,会有助于你后续学习。下面,我就从六个部分为大家详细介绍...

取消回复欢迎 发表评论: