Oracle使用imp和impdp导入数据

impdp命令只可导入expdp导出的dmp文件。expdp导出的时候,需要创建 DIRECTORY。
导出什么表空间,导入也要什么表空间。导出什么用户,导入也要什么用户。

  1. 使用imp导入数据
imp user/[email protected]/pdborcl file=e:\xxx.dmp log=e:\xxx.log full=y
  1. 使用impdp导入数据
 - 首先sys登陆
 sqlplus sys/[email protected]/pdborcl as sysdba
 - 创建对应表空间
 create tablespace YUAN datafile 'e:\app\oracle\oradata\oral\YUAN .dbf' 
 size 100m autoextend on next 50m 
 maxsize umlimited extent management local;
 - 创建对应用户
 create user TIAN identified by 000;
 alter user TIAN default tablespace YUAN;
 grant create any directory,create session,create table,create view,unlimited tablespace to TIAN ;
 - 创建目录对象
 conn TIAN/000 as sysdba;
 create or repalce directory dump_dir as 'e:\dir'; 
 exit;
 - impdp tian/[email protected]/pdborcl directoru=dump_dir dumpfile=xxx.dmp ingory=y

Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。
CDB全称为Container Database,中文翻译为数据库容器。
PDB全称为Pluggable Database,即可插拔数据库。
在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。

遇到oracle12c的PDB数据库未打开错误

show pdbs;
alter pluggaable database PDBORCL open;
alter session set container=PDBORCL;
commit;

Oracle12c开启scott账户

在oracle目录app\orcl\product\12.1.0\dbhome_1\NETWORK\ADMIN\下tnsnames.ora文件最后加入以下内容
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDBORCL)
)
)
进入sqlplus连接登陆sys账号,运行以下语句

 conn sys/000 as sysdba;
 alter session set container = PDBORCL;
 startup
 conn sys@pdborcl/000 as sysdba;
 alter user scott account unlock identified by tiger;
 // 创建触发器,自动启动PDB
 conn sys/000 as sysdba;
 CREATE OR REPLACE TRIGGER open_all_pdbs
    AFTER STARTUP
    ON DATABASE
    BEGIN
    EXECUTE IMMEDIATE 'alter pluggable database all open';
    END open_all_pdbs;    
    /
 shutdown immediate
 startup

猜你喜欢

转载自blog.csdn.net/xiha_zhu/article/details/85638574