打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Docker-Oracle数据泵

Oracle总结

1.概念,用户,表空间,表,用户拥有表空间,表空间可以有多个用户,表存在与表空间中

2.给用户指定表空间

--修改用户的表空间alter user username  default tablespace userspace;--创建用户时给用户创建表空间create user username   identified by userpassword default tablespace userspace;

3.查看用户拥有的表空间

select default_tablespace from dba_users where username='用户名'

4.表空间拥有大小 可以用以下命令查看表还有多少空间

SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", (total - free) "表空间使用大小", total / (1024 * 1024 * 1024) "表空间大小(G)", free / (1024 * 1024 * 1024) "表空间剩余大小(G)", (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", round((total - free) / total, 4) * 100 "使用率 %" FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_space GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) total FROM dba_data_files GROUP BY tablespace_name) b 

5.表空间可以扩容(对已有的表进行扩容)

sqlplus / as sysdba--执行alter tablespace 表名 add datafile '/data/oradbs/表名.dbf' size 4000m; 

6.Oracle导入导出数据如果数据量大,要使用数据泵,不然导入导出数据很花时间,按照以下命令进行数据的数据泵导出(服务端操作)

数据泵文件导出

创建数据泵导出数据路径

进入数据库

sqlplus /nolog

以sysdba连接数据库

connect /as sysdba

创建数据泵文件的导出目录

data_dir 可以自己命令,只要和下面的命令中directory保持一直即可

create directory data_dir as 'E:\ora\data' ;

执行该命令时需要退出数据库

directory=【data_dir】要和上面创建目录时directory后面的名称一致

expdp 用户名/密码@服务名 schemas=用户名 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

expdp [为用户名]/[密码]@[服务名]
schemas=[为用户名]
dumpfile=[导出数据库文件(可自命名)]
directory=[目录名]
logfile=[日志文件文件名(可自命名)]

命令结束不需要加“;”

数据泵文件导入

数据导入准备工作:
在本地创建一个存放数据泵文件的路径

linux系统为例:/usr/oracle

同时将该文件的所属组和用户修改

chown oracle:oinstall /usr/oracle 

如果进入容器后的默认用户没有修改文件的权限,切换到root用户修改

su root

管理员密码根据自己情况而定,我的容器的密码是helowin

进入Docker的Oracle容器

docker exec -it  容器名  /bin/bash

进入容器后连接oracle

sqlplus /nologconnect /as sysdba

然后在oracle服务端中创建读取数据泵文件的路径,这些路径都要保持一致

data_dirs(这个是创建的列明),【data_dirs】 这个可以随意命名,比如【data_dirssss】,只要和接下来的sql语句中的相关字段保持一致即可,即括号前面标注的地方

create directory data_dir as '/usr/oracle' ;

data_dirs(跟上面名字保持一致),例子【data_dirssss】

//给用户读写目录的权限

Grant read,write on directory data_dir to 数据库用户名;

data_dirs同理上面,例子【data_dirssss】

创建数据泵文件所在文件,之后需要将数据泵文件放在该目录下

create directory data_dirs as '\usr\oracle' ;

数据泵文件导入

directory 后面的【data_dirs】跟上面命名的要一致,例子【data_dirssss】

impdp OASS1/OASS1@HELOWIN REMAP_SCHEMA = oass1:OASS1 table_exists_action = replace directory=data_dir dumpfile=EXPDP.DMP logfile=expdp.log

impdp [用户名]/[密码]@[服务名]
REMAP_SCHEMA=[源用户名1]:[目标用户名2]
table_exists_action=replace /存在的表动作(覆盖)/
directory=[目录名]
dumpfile=[.dmp文件名]
logfile=[.log文件名]

7.导入过程中可能存在字符集不同的异常,下面的命令可以将字符集统一
oracle_11g编码修改

SQL>SHUTDOWN IMMEDIATE;SQL>STARTUP MOUNT;SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;SQL>ALTER DATABASE OPEN;SQL> ALTER DATABASE CHARACTER SET ZHS16GBK ;SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;SQL>SHUTDOWN IMMEDIATE;SQL>STARTUP;
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle 数据泵导入导出总结
Oracle学习笔记十四:备份与恢复案例
[Oracle数据库迁移]使用expdp/impdp进行迁移
EXP,EXPDP数据导入本地性能测试的一点心得
Oracle备份与恢复介绍(物理备份与逻辑备份)
编程语言 Oracle 数据库导出数据泵(EXPDP)文件存放的位置
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服