第一篇:oracle在plsqldeveloper上创建表空间和用户脚本-龙卷风的日志-网易博客
Oracle在PLSQL Developer上创建表空间和用户脚本网易博客
Oracle在PLSQL Developer上创建表空间和用户脚本 2009-10-20 22:42:29| 分类: Database Oracle在PLSQL Developer上建立表空间脚本 创建表空间
一、create tablespace MOF_TEMP //name datafile 'D:oracleproduct10.2.0oradataorclMOF_TEMP.def' size 500M
//---/oracle/oradata/orcl/portal01.dbf autoextend on next 100M maxsize unlimited logging
//自动扩展表空间 extent management local autoallocate segment space management auto;1)DATAFILE: 表空间数据文件存放路径 2)SIZE: 起初设置为200M 3)UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k 4)空间名称MOF_TEMP与 数据文件名称 MOF_TEMP.dbf 不要求相同,可随意命名.5)AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间 6)alter database datafile ' D:oracleproduct10.2.0oradataorclMOF_TEMP.dbf ' resize 500m;//手动修改数据文件大小为500M
二、Sql>create tablespace histdb datafile 'D:oracleproduct10.2.0oradataorclhistdb.dbf' size 200m autoextend on next 10m maxsize unlimited;Sql>alter database datafile 'D:oracleproduct10.2.0oradataorclhistdb.dbf' autoextend on;
//删除用户
drop user UTEST cascade;删除表空间 DROP TABLESPACE MOF_TEMP INCLUDING CONTENTS AND DATAFILES;测试创建表空间
create tablespace IMSTEST datafile 'D:ORACLEPRODUCT10.2.0ORADATAHNORCLIMTEST.def' size 200M
autoextend on next 20M maxsize unlimited logging extent management local autoallocate segment space management auto;commit;创建用户,设置DBA角色 CREATE USER MARTIN IDENTIFIED BY martinpwd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;例如:--创建新用户 CREATE USER jack IDENTIFIED BY “123” DEFAULT TABLESPACE “USERS” TEMPORARY TABLESPACE “TEMP” grant connect to jack;grant dba to jack;grant sysdba to jack;
//删除用户
drop user jack
cascade;
第二篇: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;