ORACLE impdp导入数据

ORACLE impdp导入数据

记录一次恢复数据库备份的操作

一、更改root密码和oracle sys密码

alter user system identified by "uatdba_2019"

二、查看数据库实例

select instance_name from v$instance;

三、配置oracle环境变量 主要是sid

su oracle
cd /home/oracle
vi .bash_profile

四、创建文件夹并给ORACLE用户权限(或者使用sql创建)

chown -R oracle:oinstall /oradata/backup
注意文件夹名称要和备份时的文件夹名称一致

五、sys用户下创建表空间

CREATE TABLESPACE "XSF_D" DATAFILE '/oradata/xsfuat/XSF_DB01.dbf' SIZE 104857600 AUTOEXTEND ON NEXT 21474836480 MAXSIZE 32767M, '/oradata/xsfuat/XSF_DB02.dbf' SIZE 32212254720 AUTOEXTEND ON NEXT 41943040 MAXSIZE 32767M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO; 
创建表空间,设置文件自动增长空间大小等等
ALTER DATABASE DATAFILE '/oradata/xsfuat/XSF_DB01.dbf' RESIZE 34359721984;
ALTER DATABASE DATAFILE '/oradata/xsfuat/XSF_DB02.dbf' RESIZE 34351349760;

六、sys用户下创建用户

--创建用户:xsfuat/uatdba_2019
CREATE USER xsfuat IDENTIFIED BY uatdba_2019 DEFAULT TABLESPACE XSF_D TEMPORARY TABLESPACE TEMP;

七、sys用户下给用户赋予权限

GRANT CONNECT,RESOURCE TO xsfuat; 
--给用户授予基础、开发权限
GRANT dba TO xsfuat;
--dba为最高级权限,可以创建数据库,表等。

八、创建目录并分配存放路径、给新建的用户分配directorie的权限

select * from dba_directories where DIRECTORY_NAME='BACKUPDIR';
create or replace directory BACKUPDIR as '/oradata/backup'; 
--和第四步类似
grant read,write on directory BACKUPDIR to xsfuat;  
--将目录的读写权限授予用户

九、linux下重新启动oracle,利用plsql测试是否能够正常连接数据库

--①以Oracle帐户查看数据库监听器的状况:
lsnrctl status
--或者查看数据库端口是否被监听(默认1521)
netstat -ano | grep 1521

--②停止数据库监听器:
lsnrctl stop

--③以管理员身份连接并关闭数据库:
sqlplus /nolog
connect / as sysdba
shutdown immediate

--④退出SqlPlus:
exit或者quit

--⑤重新启动数据库监听:
lsnrctl start
lsnrctl status

--⑥重新以管理员启动数据库:
sqlplus /nolog
connect / as sysdba
startup

本次出现的问题:ORA 12170 :TNS:连接超时

可能的原因:

1、服务端listener.ora中配置的端口是否和本地tnsnames.ora文件的配置相符。
2、服务端防火墙对1521端口是否开放。

服务端开放1521端口的方法

①编辑iptables, 开放1521端口:

sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT 
:wq
②重启防火墙
sudo service iptables restart
③保存配置,以便linux重启后依然有效
sudo service iptables save

④查看防火墙规则:
sudo iptables -L -n

经排查本次问题的原因是服务端listener.ora中的端口设置的为1531,后修改为1521,且防火墙没有开放1521端口。

十、impdp还原数据

impdp xsfuat/"uatdba_2019"@xsfuat directory=BACKUPDIR dumpfile=xsfuat_20200331.dmp remap_tablespace='CMSXSF':'XSF_D' remap_schema=xsfuat:xsfuat logfile=xsfuat_20200331.log;

需要解释的是:

impdp 用户名/“密码”@sid directory=目录 dumpfile=老数据库expdp得到的实例名.dmp remap_tablespace=老数据库空间名:新数据库空间名 remap_schema=老数据库用户名:新数据库用户名 logfile=impdb日志名.log transform=该参数可以去掉,应用于适用对象的元数据转换

需要强调的是:

问题1:如果你在操作的过程中忘记了自己建的目录,可以用命令(select * from dba_directories;)查询;

问题2:如果想删除新还原好的数据库实例,那么需要执行以下操作

1)、首先删除用户

-----drop USER xsfuat CASCADE;

2)、其次删除表空间包括表空间的内容和数据文件

-----drop tablespace XSF_D including contents and datafiles cascade constraints;

3)、最后删除目录

-----drop directory BACKUPDIR;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值