最近做项目,因为这边的库太久没更新了,想着从正式环境导下最新的库下来,谁知道导完,居然很多表都没有数据。
重新导了几次库之后 ,才发现原来导库过程中已经报错了,无法为表空间 DATA01 中的段创建 INITIAL 区。
这个错误通常是由于表空间 DATA01 的空间已经用完导致的。要解决这个问题,你可以考虑添加一个新的数据文件来扩展表空间。
--查看当前用户是哪个表空间
表空间名称
select default_tablespace from dba_users where username='登录用户名'
--查找表空间
select * from dba_data_files where tablespace_name='表空间名称'
添加表空间
alter TABLESPACE USERS
add DATAFILE 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS07.DBF'
SIZE 900M
AUTOEXTEND
ON NEXT 10M
MAXSIZE UNLIMITED;
--再次查找表空间是否添加完毕
select * from dba_data_files where tablespace_name='表空间名称'
导库语句
--删除用户
drop user 用户名 cascade;
--创建用户
CREATE USER 用户名 IDENTIFIED BY 用户名 DEFAULT TABLESPACE users;
--授权
GRANT CONNECT,RESOURCE,CREATE DATABASE LINK TO 用户名;
--授权
Grant dba to 用户名;
--导库语名(这里是在数据库服务器上边的cmd命令行导库)
imp 用户名/密码@ORCL fromuser=来自哪个库名称 touser=用户名 file=路径
--查询哪些用户占用数据库
select username,sid,serial# from v$session where username = '用户名'
--导库过程中会有用户占据库,直接强制用户退出
alter system kill session '130,50961';
drop user 用户名 cascade;
--创建用户
CREATE USER 用户名 IDENTIFIED BY 用户名 DEFAULT TABLESPACE users;
--授权
GRANT CONNECT,RESOURCE,CREATE DATABASE LINK TO 用户名;
--授权
Grant dba to 用户名;
--导库语名(这里是在数据库服务器上边的cmd命令行导库)
imp 用户名/密码@ORCL fromuser=来自哪个库名称 touser=用户名 file=路径
--查询哪些用户占用数据库
select username,sid,serial# from v$session where username = '用户名'
--导库过程中会有用户占据库,直接强制用户退出
alter system kill session '130,50961';
假如表空间不足,导进来的库就会有问题,很多表数据都没有充分的导入自己这边的库,这也导致了以后的项目无法正常动作。
我们在开发中,导库是屡见不鲜的事情了,所以完整充分导完整个库,对我们开展工作是相当有帮助的。
以上是自己的做为资深开发的一些个人经历,把这些经验分享给大家,希望以后大家在从事开发中,可以避免不必要的麻烦,跟浪费时间精力。
要是大家喜欢我的文章的话,可以在文章下留言或是联系我,共同进步,共同探讨开发的一些案例,促进彼此间的交流,分享一些日常的开发趣事。
- THE END -
最后修改:2024年3月27日
共有 0 条评论