oracle导出、导入.dmp文件
说明:oracle的imp/exp就相当于oracle数据的还原与备份,可以将一个项目的表完整的导出和导入
导出:
语法: exp 用户名/密码@服务名 tables=表名 file=存入本地dmp目标地址 log=存入本地log目标地址 owner=要导出的用户名
eg: exp test/test@orcl tables=sys_user file=D:/user.dmp log=D:/user.log
1):导出表,tables=tablename ; tablename:要导出的表名字
2):导出数据库, 去掉 “tables=tablename” ; 不指定表名就相当于导出整个数据库
3):导出该用户下的数据库 ,exp test/test@localhost:1521/orcl file=D:/user.dmp log=D:/user.log owner=test ; 加个 owner 指定要导出的用户名字
导入:
语法:imp 用户名/密码 BUFFER=64000 file=数据库表.dmp存放的地址 ignore=y full=y
eg: impdp test/test BUFFER=64000 file=D:/user.dmp ignore=y full=y
说明:ignore=y是表示忽略创建错误,继续后面的操作;full=y表示导入文件中的全部内容,有可能有多个用户的内容,如果你链接的用户默认使用的表空间设置是system,则导入文件的内容会导到system上。
oracle中sysdate时间的筛选
//查询一天内的数据
select 字段 from 表名 where 时间字段 between sysdate-1 and sysdate;
sysdate+1 //加1天
sysdate+1/24 //加1小时
sysdate+1/(24*60) //加1分钟
//查询一个月前的数据
select 字段 from 表名 where 时间字段 between ADD_MONTHS(sysdate,-1) and sysdate;
ADD_MONTHS(sysdate,-1) 减一个月
ADD_MONTHS(sysdate,1) 加一个月
oracle数据库的权限系统分为系统权限与对象权限。
系统权限( database system privilege )
可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。
对象权限( database object privilege )
可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。
一、创建\删除用户
登录到system以创建其他用户
打开cmd:
sqlplus /nolog
1
SQL> connect / as sysdba
1
创建用户以及设置密码:
create user username identified by password;
1
如:
create user user1 identified by 123456;
1
修改用户:
alter user user1 identified by 234556;
1
撤销用户user1:
drop user user1;
1
二、为用户授权角色\撤销授权
oracle提供三种标准角色(role):connect/resource和dba.
connect role(连接角色)
临时用户,特指不需要建表的用户,通常只赋予他们connect role.
connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。
拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他 数据的链(link)。
resource role(资源角色)
更可靠和正式的数据库用户可以授予resource role。
resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
dba role(数据库管理员角色)
dba role拥有所有的系统权限
包括无限制的空间限额和给其他用户授予各种权限的能力。
为用户user1授权:
grant connect, resource to user1;
1
撤销对user1赋予的权限:
revoke connect, resource from user;
Oracle删除用户下所有的表
sqlplus system/密码@orcl as sysdba;
drop user 用户名 cascade;
Oracle查询directory
select * from dba_directories
Oracle创建表空间
CREATE TABLESPACE CMSDATA DATAFILE
位置 SIZE 3921856K AUTOEXTEND ON NEXT 8K MAXSIZE UNLIMITED
表空间赋值给用户
alter user 用户名DEFAULT tablespace 表空间名;