设为首页 加入收藏

TOP

10gocm-)session5-)数据库管理实验(一)
2015-07-24 11:42:51 来源: 作者: 【 】 浏览:10
Tags:10gocm- session5- 数据库 管理 实验
Oracle 数据库管理实验


一 传输表空间
二 创建分区表和分区索引
三 FGA细粒度审计
四 监控索引使用情况
五 创建含特殊字段类型的表
六 Flashback闪回技术


一 传输表空间,将ocmdb库的tstrans表空间迁移到ocmdb02库中
场合:1.适用于OLAP数据仓库应用 2.数据迁移 比exp/imp速度快,不仅迁移数据同时迁移元数据
原理:只导出表空间的元数据(即结构信息),导入目标数据库,把表空间设置为只读,把对应的数据文件复制到目标系统的目标目录,挂载上导入的表空间,在把表空间设置为读写。
官方文档:Administrator’s Guide-> 8 Managing Tablespace -> Transport Tablespace Between databases
SQL Reference -> CREATE DIRECTORY
清理环境
drop user tstrans cascade;
drop tablespace tstrans including contents and datafiles;
1.初始化实验环境
sqlplus sys/sys@ocmdb1521 as sysdba
create tablespace tstrans datafile '/u01/oracle/oradata/ocmdb/tsport01.dbf' size 20m autoextend off;
create user tstrans identified by tstrans default tablespace tstrans;
grant connect,resource to tstrans;
conn tstrans/tstrans
create table t1 (a int) tablespace tstrans;
insert into t1 values (100);
commit;
create index idx_t1 on t1 (a) tablespace tstrans;
select index_name,table_name,tablespace_name from user_indexes where table_name='T1';
conn / as sysdba
select tablespace_name,segment_name,segment_type from dba_segments where tablespace_name='TSTRANS'; 查看tstrans表空间有哪些对象
2.检查tstrans表空间是否违反约束条件
exec dbms_tts.transport_set_check('TSTRANS',true);
例如表在A表空间,索引在B表空间,如果只传输A的话,就会违反自包含约束条件,表上的索引就会失效,传输不完整,解决方法:同时传输A和B两个表空间。
select * from transport_set_violations; 查看违反约束列表,没有记录为正常
3.设置TSTRANS为只读表空间,即把所有数据文件都设置成只读状态。
alter tablespace tstrans read only;
4.使用exp或expdp的transport_tablespace=y参数导出表空间的元数据 即结构信息
exp -help 打开帮助文档可以查看其选项说明
exp userid=\'/ as sysdba\' transport_tablespace=y tablespaces=tstrans file=/home/oracle/exp_tstrans.dmp
使用SYS用户只导出tstrans表空间的元数据(结构信息),而不是真实数据,因此容量比较小
scp exp_tstrans.dmp ocm02:/home/oracle 传输到第二台机器上
数据泵导出方式选做
【expdp -help
create directory dir_home as '/home/oracle';
grant read,write on directory dir_home to public;
expdp system/oracle directory=dir_home dumpfile=expdp_tstrans.dmp transport_tablespaces=tstrans transport_full_check=y

5.拷贝数据文件(表空间真正的数据)只有数据文件为只读状态才可以复制,而且不用停库
scp tstrans01.dbf ocm02:/u01/oracle/oradata/ocmdb02/
6.imp或impdp的传输表空间导入
LEO2库的准备工作
create user tstrans identified by tstrans;
grant connect,resource to tstrans;
使用imp导入方式 默认以追加方式插入表空间元数据+数据文件
imp userid=\'/ as sysdba\' file=/home/oracle/exp_tstrans.dmp fromuser=tstrans touser=tstrans transport_tablespace=y tablespaces=tstrans datafiles=/u01/oracle/oradata/ocm02/tstrans01.dbf


【使用impdp导入方法 选做】
create directory dir_home as '/home/oracle';
grant read,write on directory dir_home to public;
impdp system/oracle directory=dir_home dumpfile=expdp_tstrans.dmp remap_schema=(tstrans:tstrans) 对象从一个schema加载到另一个schema
transport_datafiles=/u01/oracle/oradata/ocm02/tstrans01.dbf 导入哪个数据文件
检查表空间是否导入成功
col tablespace_name for a15
col segment_name for a15
col segment_type for a15
select tablespace_name,segment_name,segment_type from dba_segments where tablespace_name='TSTRANS';
conn tstrans/tstrans
select * from t1;
7.将ocmdb实例和ocmdb02实例表空间调整为可读写状态
sqlplus sys/sys@ocmdb1521 as sysdba
conn / as sysdba
select tablespace_name,status from dba_tablespaces;
alter tablespace tstrans read write;
select tablespace_name,status from dba_tablespaces;
sqlplus sys/sys@ocmdb021521 as sysdba
conn / as sysdba
select tablespace_name,status from dba_tablespaces;
alter tablesp
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oraclebackgroupprocesses 下一篇sed常见用法总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·【超详细】JDK 下载 (2025-12-24 18:19:32)
·Java_百度百科 (2025-12-24 18:19:29)
·简介 - Java教程 - (2025-12-24 18:19:27)
·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)