数据库初始化(用户、表空间、权限)
1.添加表空间
create tablespace ‘表空间名’ datafile '数据文件路径+dbf文件名‘ size 1g autoextend on next 512m maxsize unlimited ;
2.创建临时表空间
create temporary tablespace ‘表空间名’ tempfile '数据文件路径+dbf文件名‘ size 100m autoextend on next 512m maxsize unlimited ;
3.追加表空间
alter tablespace ‘表空间名’ add datafile '数据文件路径+dbf文件名‘ size 1g autoextend on next 512m maxsize unlimited ;
4.创建用户
create user 用户名 identified by "密码" default tablespace 默认表空间名 temporary tablespace 临时表空间名 profile DEFAULT;
5.给用户授权
grant connect,resource,dba to 用户名; (权限根据需要来设置,生产环境收紧dba权限)
数据泵导入导出数据
oracle数据库导入过程中,首先需要明确的是:原用户名、原表空间和临时表空间
impdp(导入)
1.用户转换:
impdp 目标用户/目标用户密码 directory=预先定义的路径名 dumpfile=dmp文件名 logfile=日志文件名 remap_schema=原用户名:目标用户名 schemas=原用户名 transform=oid:n
注:使用impdp的用户不一定需要时目标用户,但需要有resorce权限。预先定义的路径名可以在dba_directories表中创建或者使用已有的。dmp文件一定要放在directory指定的路径下。日志可有可无,是为了方便后续检查导入过程中的问题。
2.多个导出文件(以英文逗号分隔即可)
impdp 目标用户/目标用户密码 directory=预先定义的路径名 dumpfile=dmp文件名1,dmp文件名2 logfile=日志文件名 remap_schema=原用户名:目标用户名 schemas=原用户名 transform=oid:n
3.用户和表空间转换:
impdp 目标用户/目标用户密码 directory=预先定义的路径名 dumpfile=dmp文件名logfile=日志文件名 remap_schema=原用户名:目标用户名 remap_tablespace=原表空间:目标表空间 schemas=原用户名 transform=oid:n
expdp(导出)
不指定oracle版本导出(目标数据库版本较低情况下经常用到)
expdp 用户名/密码 directory=预先定义的路径名 dumpfile=dmp文件名 logfile=日志文件名 cluster=n schemas=用户名
指定oracle版本导出
expdp 用户名/密码 directory=预先定义的路径名 dumpfile=dmp文件名 logfile=日志文件名 cluster=n schemas=用户名 version=11.1.0.6.0
添加%U参数,自动根据parallel导出两个dmp文件,可提高导出速度
expdp 用户名/密码 directory=预先定义的路径名 dumpfile=test-%U.dmp logfile=日志文件名 cluster=n schemas=用户名 parallel=2
数据空间管理
查看临时表空间使用情况
select * from dba_temp_files where file_id = 17
查看表空间使用情况
select * from dba_tablespaces
查看剩余空间情况
select * from dba_free_space where file_id = 17
删除表空间以及用户:
drop tablespace 表空间名 including contents and datafiles;
drop user 用户名 cascade;
强制删除表空间:
drop tablespace 表空间名 including contents cascade constraints;