Oracle数据库创建表空间、建立用户、授权、还原备份_oracle数据库恢复备份
Oracle数据库创建表空间、建立用户、授权、还原备份由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“oracle数据库恢复备份”。
创建用户一般分四步: 第一步:创建临时表空间 第二步:创建数据表空间 第三步:创建用户并制定表空间 第四步:给用户授予权限
--Oracle创建临时表空间 如果没有指定的临时表空间,则可以不建 CREATE TEMPORARY TABLESPACE DB_TEMP TEMPFILE 'E:Oa DataOA_TEMP.DBF'
SIZE 32M AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
--Oracle创建表空间 如果没有指定的表空间,则可以不建 CREATE TABLESPACE DB_DATA LOGGING
DATAFILE 'E:Oa DataOA_DATA.DBF'
SIZE 32M AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
--创建用户“oa”,密码“oa”
CREATE USER OA IDENTIFIED BY OA ACCOUNT UNLOCK
DEFAULT TABLESPACE DB_DATA TEMPORARY TABLESPACE DB_TEMP;
--授权
GRANT CONNECT,RESOURCE,DBA TO OA;
--导入dmp文件到数据库 这个必须用命令窗口来执行,不是SQL语句--用户名就是要导入的用户,要导入给A,那用户名就是A imp 用户名/密码@数据库实例名 file=文件地址 full=y ignore=y;
exp system/123456@orcl file=oa.dmp owner=oa full=y;
使用expdp和impdp时应该注重的事项:
1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。
3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。
一、准备工作 1)、在备份目的路径建立备份文件夹 Oracle不会自动创建,务必手动创建 例如:d:bak 2)、用sys用户在oracle中创建逻辑目录
--oracleBak_dir这个就是这个逻辑目录的名字 SQL>create directory oracleBak_dir as ‘d:bak’;
3)、查看数据库中的逻辑目录 用来检查上面两步骤是否对应OK SQL>select * from dba_directories;4)、授权用户有对逻辑目录的读写权限
SQL>grant read,write on directory oracleBak_dir to 用户名;
二、导出
1)导出用户 登录的用户需要有导出权限
expdp 用户名/密码@orcl dumpfile=expdp.dmp directory=oracleBak_dir schemas=要导出的用户名;2)导出表
expdp用户名/密码@orcl tables=要导出的表名 dumpfile=expdp.dmp(备份文件的带后缀全名)directory=oracleBak_dir;3)按查询条件导
expdp 用户名/密码@orcl directory=oracleBak_dir dumpfile=expdp.dmp(备份文件的带后缀全名)tables=表名 query=’where deptno=20’(引号内为查询条件);4)按表空间导
expdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp(备份文件的带后缀全名)tablespaces=temp,example(表空间名称);5)导整个数据库
expdp system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;
expdp system/orcl@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;
三、导入数据 导入与导出雷同,不做解析 1)导入用户(从用户scott导入到用户scott)
impdp scott/tiger@orcl directory=oracleBak_dir dumpfile=expdp.dmp schemas=scott;2)导入表(从scott用户中把表dept和emp导入到system用户中)
impdp system/manager@orcl directory=oracleBak_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp(原用户下.某表)remap_schema=scott:system(从用户scott导入到用户system);3)导入表空间 impdp system/manager@orcl directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=example;4)导入数据库
impdb system/manager@orcl directory=oracleBak_dir dumpfile=full.dmp full=y;5)追加数据
impdp system/manager@orcl schemas=systemtable_exists_action
directory=dump_dir
dumpfile=expdp.dmp 终止expdp/impdp的方法:
1从dba_datapump_jobs中查job_name select * from dba_datapump_jobs;2连接到需要终止的JOB impdp U/PWD@instance_name attach=SYS_IMPORT_TABLE_01(这里attach后面的就是1查出来的job_name)3终止对应的JOB Import> KILL_JOB 选Y
Oracle删除用户及表空间
以system用户登录,查找需要删除的用户:--查找用户
select * from dba_users;--查找工作空间的路径
select * from dba_data_files;
--删除用户
drop user 用户名称 cascade;--删除表空间
drop tablespace 表空间名称 including contents and datafiles cascade constraint;例如:删除用户名成为LYK,表空间名称为LYK--删除用户,及级联关系也删除掉 drop user LYK cascade;--删除表空间,及对应的表空间文件也删除掉
drop tablespace LYK including contents and datafiles cascade constraint;