作为一名测试人员,搜索相关操作,大多数都是先来一大篇理论知识,奈于时间考虑,希望直接上手操作,废话不多说,直接上操作,
前提
1:工具:xshell
2:oracle的备份文件
操作
1):通过xshell连接到linux服务器
2) 在命令号输入su - oracle,进入oracle服务
3)查看directory路径:select * from dba_directories;
4) 将备份文件放到此路径下
5)执行还原语句,语句就不写了,涉及隐私,
*PS:一定注意备份文件的大小写,linux系统是区分大小写,这个问题查了好久
6) 等着还原
PS:如果在导入时,导入界面卡住不动,很有可能是因为对应用户表空间不足,需要扩充表空间
7) 查看是否还原成功(分别运行,比较还原的触发器,存储过程,视图和表是否与备份库一致)
Select object_name From user_objects Where object_type=‘TRIGGER’; --所有触发器
Select object_name From user_objects Where object_type=‘PROCEDURE’; --所有存储过程
Select object_name From user_objects Where object_type=‘VIEW’; --所有视图
Select object_name From user_objects Where object_type=‘TABLE’; --所有表
扩大表空间操作
1:查看表空间的名字及文件所在位置
select tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
from sys.dba_data_files
order by tablespace_name
2:查询表空间信息
select username,default_tablespace,t.* from dba_users t
3:查询当前表空间下使用情况
select a.tablespace_name,
a.bytes / 1024 / 1024 “sum MB”,
(a.bytes - b.bytes) / 1024 / 1024 “used MB”,
b.bytes / 1024 / 1024 “free MB”,
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) “used%”
from (select tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes, max(bytes) largest
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
order by ((a.bytes - b.bytes) / a.bytes) desc;
4:根据要求,我们需要将这个sgshare的表空间扩展到4G
alter database datafile ‘表空间位置’ resize 新的尺寸
alter database datafile ‘D:\APP\ADMINISTRATOR\ORADATA\XYSHARE\SGSHARE.DBF’ resize 4096m