|
多租户架构,是ORACLE 数据库自12C之后的技术特性,可以很好地实现数据库的隔离,保障了数据库的安全性。但我们要注意CDB和PDB的架构,CDB主要用于保存PDB的元数据和公共用户信息,客户使用PDB数据库用于存储数据库数据。数据泵的使用,就包括CDB和PDB两个层面。也就是你要导入和导出数据时,要先搞清楚你是在CDB还是PDB导出数据。
比如,我连接了CDB建立了数据导出目录dump_dir,并且给用户授权导入导出权限。
但我连接PDB数据库,
$ expdp \'scott/tiger@localhost/lucifer \' schemas=scott dumpfile=scott.dmp directory=dump_dir
Export: Release 19.0.0.0.0 - Production on Fri Nov 8 21:23:13 2024
Version 19.14.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name DUMP_DIR is invalid
我导出PDB数据时,使用在CDB中建立的数据导出目录时,系统提示我在CDB中建立的数据导出目录是无效的。
如果出现上面的情况,我们要导出PDB的数据,也要在PDB中建立数据导出目录并给用户授权。如下所示
sys@ORCL 21:24:48> create directory dump_dir as '/home/oracle/tmp';
Directory created.
sys@ORCL 21:25:25> grant read,write on directory dump_dir to scott;
Grant succeeded.
以此类推,我们要用RMAN备份恢复数据库时,也要注意自己所在数据库环境。多租户环境和之前数据库环境,虽然在命令上差别不大,但架构上却完全不同。希望大家在学习中能对比学习,收到更好的学习效果。
合作电话:010-64087828
社区邮箱:greatsql@greatdb.com