Oracle数据库的常用命令
Oracle数据库的常用命令
一、创建用户及授权相关命令
二、用户登录相关命令
三、表空间相关命令
四、备份的还原
Oracle数据库的常用命令
一、创建用户及授权相关命令
--创建用户
--创建用户、设置密码【创建完毕之后需进行赋权操作】
create user zzc identified by 123456;
--创建用户、设置密码 并为用户指定默认永久表空间、临时表空间
create user zzc identified by 123456
default tablespace oes_tablespace
temporary tablespace temp profile default;
--修改用户默认永久表空间
alter user zzc default tablespace oes_tablespace;
--修改用户临时表空间
alter user zzc temporary tablespace temp;
--修改用户及密码
alter user zzc identified by 234567;
--删除用户
drop user 用户名;
--删除用户的对象及用户
drop user 用户名 cascade;
--为用户授权
oracle数据库的权限系统分为系统权限与对象权限。
系统权限( database system privilege )
可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。
对象权限( database object privilege )
可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息
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拥有所有的系统权限
包括无限制的空间限额和给其他用户授予各种权限的能力。
--授权
--一般分配connect,resource角色
grant connect,resource,dba to zzc;
--授权
--create session 用户登录的权限
--create table 用户创建表的权限
--unlimited tablespace 用户可以在其他表空间里随意建表的权限
grant create session,create table to zzc;
grant unlimited tablespace to zzc;
--撤销对用户赋予的权限
revoke connect,resource,dba from zzc;
二、用户登录相关命令
SYS用户登录
--CMD命令窗口
sqlplus sys/123456 as sysdba;
--SQLPlus命令窗口
请输入用户名: sys
输入口令:123456 as sysdba
--PLSQL工具
用户名 sys
密码 123456
数据库 ORCL
链接为 SYSDBA
普通用户登录
--CMD命令窗口
sqlplus zzc/123456;
--SQLPlus命令窗口
请输入用户名: zzc
输入口令:123456
--PLSQL工具
用户名 zzc
密码 123456
数据库 ORCL
链接为 NORMAL
三、表空间相关命令
--创建表空间
--指定表空间对应的数据文件所在位置
--指定表空间初始大小
--指定表空间自增
--指定表空间一次自增大小
--指定表空间无限制扩展
【注意 表空间大小的单位为M,不可用MB】
CREATE TABLESPACE vadp_tablespace
DATAFILE 'E:\oracleTablespace\vadp_tablespace.dbf'
SIZE 100M
AUTOEXTEND ON
NEXT 100M
MAXSIZE UNLIMITED;
--设置数据文件自动增长
ALTER DATABASE
DATAFILE 'E:\ViewHigh\dbTablespace\oes_tablespace.dbf'
AUTOEXTEND ON NEXT 100M ;
--设置数据文件自动增长、无限制扩展
ALTER DATABASE
DATAFILE 'E:\ViewHigh\dbTablespace\oes_tablespace.dbf'
AUTOEXTEND ON MAXSIZE UNLIMITED;
--查询表空间是否自增
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
--删除表空间 ,及对应的表空间文件也删除掉
DROP TABLESPACE 表空间名称 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINT;
--查询用户所属表空间(username用户的名字一定要大写)
select default_tablespace from dba_users where username='zzc';
--查询所有表空间(两种)
select * from dba_tablespaces;
select * from v$tablespace;
--查询表空间下的用户(tablespace_name表空间的名字一定要大写)
select distinct s.owner from dba_segments s where s.tablespace_name ='zzc';
--查看所有用户的临时表空间及相应的数据文件
select d.username, t.file_name, d.temporary_tablespace from DBA_TEMP_FILES t,dba_users d where t.tablespace_name = d.temporary_tablespace
--修改临时表空间temp的大小
alter database tempfile '/home/oracle/oradata/trade/temp01.dbf' resize 4096m;
--设置系统的默认临时表空间为temp
alter database default temporary tablespace temp
四、备份的还原
--创建目录(SQLPlus命令窗口执行)
create or replace directory dir_oesdev_dp as 'F:\db';
--授予用户访问此目录的权限(SQLPlus命令窗口执行)
Grant read,write on directory dir_oesdev_dp to ZZC;
--impdp方式还原备份(CMD命令窗口执行)
impdp 新用户/新用户的密码 DIRECTORY=dir_oesdev_dp DUMPFILE=备份文件名 logfile=日志名 REMAP_SCHEMA=备份用户的用户名:新用户名 REMAP_TABLESPACE=备份用户的表空间:新用户的表空间
例:impdp SJ_OES5_AHSL/123456 DIRECTORY=dir_oesdev_dp DUMPFILE=ORCL20200310094329AHSL.DMP logfile=oes_oracle.log REMAP_SCHEMA=OES_AHSL1211:SJ_OES5_AHSL REMAP_TABLESPACE=OES_AHSL1211:vadp_tablespace