oracle 数据库 建表空间 用户 导入 导出
===========================================================
创建表空间:
create tablespace tablespace datafile 'F:\oracle\product\10.1.0\oradata\databaseSID\tablespace.dbf' size 200m autoextend on next 10m maxsize unlimited;
--tablespace 表空间名称 tablespace.dbf 数据文件名称 两个可以不一致
alter database datafile 'F:\oracle\product\10.1.0\oradata\databaseSID\tablespace.dbf' resize 500m;
CREATE TABLESPACE itreasury
DATAFILE 'F:\oracle\product\10.1.0\oradata\databaseSID\itreasury.dbf' SIZE 500 M
AUTOEXTEND ON NEXT 100 M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT;
删除表空间
DROP TABLESPACE tablespace INCLUDING CONTENTS AND DATAFILES;
===========================================================
创建用户并分配表空间
create user username identified by password
default tablespace tablespace;
其中 username 为用户名,password为密码
若修改用户密码
alter user username identified by password2;
若删除用户
drop user username cascade;
授权
grant connect to username;
grant dba to username;
grant resource to username;
grant unlimited tablespace to username;
赋予用户导入/导出数据库权限
grant CONNECT,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE to username;
grant ALTER USER,COMMENT ANY TABLE,CREATE ANY VIEW, CREATE USER,DELETE ANY TABLE,DROP ANY VIEW,DROP USER to username;
==========================================================================
导入表空间
首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用imp命令导入数据:
imp username/password@SID file=XXX.dmp fromuser=XXX touser=XXX tables=(XXX,XXX)
$imp username/password@databaseSID file=D:\backupbmpfile.dmp full=y ignore=y;
其中,fromuser若为多个表空间的话,使用()将其括起来:fromuser=(a,b);
touser参数仿fromuser参数;
若只导入一部分表,使用tables参数,用()括起要导入的表;如果想全部导入,不需要指定tables参数
补充:
1.要新建一个数据库;
2.若你的oracle安装在Unix/Linux上,直接在shell中使用imp;如果你的oracle安装在Windows上,随便在哪里开启一个CMD窗口就可以执行imp;
3.username/password指的是你的数据库的登录用户名和密码;
4.fromuser指对方数据库用户名,touser指你的数据库的用户名;
5.使用oracle的管理端在“表空间”中即可创建;
6.要导入所有的表最方便,不用写tables参数就成,不需要知道对方的表名。
==========================================================================
导出数据
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
$exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
$exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
$exp aichannel/aichannel@TESTDB2 file= d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
$exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
==========================================================================
Oracle主机身份证明中的用户名和口令错误的解决方法
oracle的web database control中,进行一些操作需要主机身份证明,比如进行数据备份、数据的导出导入、创建表空间等; 这样对于数据库的安全增强了一定的保证。如果我们有进行适当的配置,可以第一次会遇到一些错误:验证错误 请检查并更正以下错误, 然后重试该操作: Error - 错误: 用户名和/或口令无效 所以此时我们需要进行简单的配置:
1 从开始设置——控制面板——管理工具 找到本地安全策略
2 打开本地安全策略,找到本地策略
3 打开其中的用户权限分配(user rights assignment)
4 在右边的列表中找到“作为批处理作业登陆”(log on as a batch job)
5 选中,点击右键,选择属性,将数据库安装的所在操作系统用户,添加其中即可
6 然后应用、确定。
下次就使用安装oracle的os用户及相应的口令进行主机身份证明。