经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
Oracle rac环境的数据库导入操作记录
来源:cnblogs  作者:查拉图斯特拉面条  时间:2023/6/9 11:13:17  对本文有异议

搞某一大项目的性能测试,将Oracle数据库dmp文件(211G)导入性能测试环境。

因为Oracle部署方式为rac,数据存储到共享磁盘。但由于对rac了解不足,这个过程中犯了两个错误:

① 表空间、临时表空间没有创建到共享磁盘,而是创建到了数据库服务本地磁盘;

② 发现应该创建到共享磁盘后,直接物理删除了本地磁盘的表空间文件(会导致数据库奔溃),应该通过sql命令删除。


以下应是规范的操作步骤:

1. 创建表空间前,先查看表空间所在目录

  1. --查看表空间目录
  2. select name from v$datafile;

  1. --查看所有临时表空间名字及文件名
  2. select f.file#,t.ts#,f.name "File",t.name "Tablespace" from v$tempfile f,V$tablespace t where f.ts# = t.ts#;

 2. 创建用户表空间、用户及密码

  表空间、临时表空间目录应与上面查询出的目录一致。

  1. --创建用户
  2. create tablespace cwy_XXX0608 datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608.dbf' size 20480M autoextend on next 1024M maxsize unlimited extent management local;
  3. create temporary tablespace cwy_XXX0608temp tempfile '+DATA/ORCL/TEMPFILE/cwy_XXX0608temp.dbf' size 1024M autoextend on next 1024M maxsize unlimited extent management local;
  4. CREATE USER cwy_XXX0608 PROFILE DEFAULT IDENTIFIED BY XXX_0608 DEFAULT TABLESPACE cwy_XXX0608 TEMPORARY TABLESPACE cwy_XXX0608temp ACCOUNT UNLOCK;
  5. GRANT UNLIMITED TABLESPACE TO cwy_XXX0608 WITH ADMIN OPTION;
  6. GRANT "CONNECT" TO cwy_XXX0608 WITH ADMIN OPTION;
  7. grant connect,resource to cwy_XXX0608;
  8. grant create session, dba to cwy_XXX0608;
  9. --用户名:cwy_XXX0608
  10. --密码:XXX_0608

3. 如果表空间不足,需创建足够的表空间文件

  1. --扩充表空间
  2. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_01.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  3. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_02.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  4. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_03.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  5. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_04.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  6. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_05.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  7. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_06.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  8. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_07.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  9. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_08.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  10. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_09.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;
  11. alter tablespace cwy_XXX0608 add datafile '+DATA/ORCL/DATAFILE/cwy_XXX0608_10.dbf' SIZE 20480M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;

4. 如果上述创建的表空间存在问题,执行删除操作

  注:如需备份,请先执行备份。

  1. --删除表空间
  2. drop tablespace cwy_XXX0608 including contents and datafiles cascade constraint;
  1. --删除临时表空间
  2. drop tablespace cwy_XXX0608temp including contents and datafiles;

5.执行导入操作

  需要将导入文件放入DATA_PUMP_DIR目录下select * from dba_directories t;

  1. --导入数据库
  2. ./impdp cwy_XXX0608/XXX_0608 directory=DATA_PUMP_DIR dumpfile=cwy_XXX832_1124_0109.dmp REMAP_SCHEMA=cwy_XXX832_1124:cwy_XXX0608 transform=segment_attributes:n logfile=imp_cwy_XXX832_1124_0109.log

6. 其他表空间操作 

  1. --查看当前用户默认临时表空间
  2. select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
  3. --查看所有用户的默认表空间和默认临时表空间
  4. select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users;
  5. --oracle数据库查看表空间使用率
  6. SELECT a.tablespace_name,
  7. total / (1024 * 1024 * 1024) "大小(G)",
  8. free / (1024 * 1024 * 1024) "剩余大小(G)",
  9. (total - free) / (1024 * 1024 * 1024) "使用大小(G)",
  10. round((total - free) / total, 4) * 100 "使用率 %"
  11. FROM (SELECT tablespace_name, SUM(bytes) free
  12. FROM dba_free_space
  13. GROUP BY tablespace_name) a,
  14. (SELECT tablespace_name, SUM(bytes) total
  15. FROM dba_data_files
  16. GROUP BY tablespace_name) b
  17. WHERE a.tablespace_name = b.tablespace_name;
  18. --查看表空间物理文件的名称及大小
  19. SELECT tablespace_name,
  20. file_id,
  21. file_name,
  22. round(bytes / (1024 * 1024), 0) total_space
  23. FROM dba_data_files
  24. ORDER BY tablespace_name;

 


Oracle RAC介绍:

Oracle RAC(Real Application Cluster)是一种基于共享存储和共享数据库的集群解决方案,可以将多个 Oracle 数据库实例连接成一个逻辑上的单一数据库,提供高可用性、灵活性和可伸缩性。通过 RAC 集群,应用程序可以同时连接到所有节点上的数据库实例,以实现负载均衡和故障转移等特性。

RAC 集群的主要组成部分包括以下内容:

1. 共享存储:在 RAC 集群中,所有节点都可以访问共享的物理存储设备,例如 SAN 或 NAS。共享存储通常由三个或更多的存储设备组成,每个设备都被称为一个 ASM(Automatic Storage Management)磁盘组。

2. 共享数据库:RAC 应用程序可以同时连接到所有节点上的数据库实例,这些实例通过 Cache Fusion 技术实现数据共享和同步。Cache Fusion 是一种高效的内存共享技术,它可以确保在所有节点上的数据库缓存中都有相同的数据块。

3. Clusterware:Clusterware 是一种集群管理软件,它负责协调和管理所有节点上的 Oracle 数据库实例和应用程序。它可以监控节点和资源的状态,并在发生故障时执行自动故障切换和恢复操作。

4. VIP:虚拟 IP(Virtual IP)是 RAC 集群中的一个重要组成部分,它为应用程序提供了一个单一的网络入口点,并负责将请求路由到活动节点上的数据库实例。VIP 可以确保在发生故障时客户端不会看到任何中断或延迟,并且可以快速地切换到备用节点。

RAC 集群可以提供高可用性、灵活性和可伸缩性,同时也带来了一些管理和配置上的挑战。在使用 Oracle RAC 时,需要特别注意共享存储和网络连接的稳定性,并采取适当的管理和监控措施来维护集群的正常运行。

原文链接:https://www.cnblogs.com/silgen/p/17468557.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号