Oracle管理运维

目录

  • 一、表空间管理
      • 1、oracle创建表空间及给用户授予权限
    • 2、删除表空间及数据文件
  • 权限管理
  • 导入导出

一、表空间管理

1、oracle创建表空间及给用户授予权限

  1. 登录
-- 登录  sqlplus sys/密码 as sysdba

sqlplus sys as sysdba
orcl.xxxx.com

sqlplus system/orcl.xxxx.test 
  1. 创建表空间:
# 永久表空间
create tablespace ltkj_member_sp datafile '/data/db/oracle/oradata/orcl/member.dbf' size 1G autoextend on next 500M maxsize unlimited ;

# 临时表空间
create temporary tablespace ltkj_member_sp_temp tempfile '/data/db/oracle/oradata/orcl/member_temp.dbf' size 100M autoextend on next 500M ;
  1. 创建用户并指定默认表空间:
create user membertest identified by membertest 
default tablespace ltkj_member_sp 
temporary tablespace ltkj_member_sp_temp;
  1. 授予用户表空间权限:
alter user membertest quota unlimited on ltkj_member_sp;
  1. 给用户授予权限:
grant connect, resource to membertest;

这样就创建了一个新的表空间并为用户授予了相应的权限。可以根据具体需求修改表空间的大小、用户的权限等。

2、删除表空间及数据文件

要删除表空间及数据文件,需要执行以下步骤:

2-1. 首先确认要删除的表空间及数据文件是否在使用中,可以通过以下SQL语句查询:

SELECT tablespace_name, file_name 
FROM dba_data_files 
WHERE tablespace_name = 'your_tablespace_name';

2-2. 如果表空间及数据文件没有被使用,可以先将表空间及数据文件设置为OFFLINE状态,然后删除表空间及数据文件。执行以下SQL语句:

ALTER DATABASE DATAFILE 'datafile_path' OFFLINE DROP;
ALTER TABLESPACE your_tablespace_name OFFLINE;
DROP TABLESPACE your_tablespace_name INCLUDING CONTENTS AND DATAFILES;

2-3. 如果表空间及数据文件被使用,需要先将表空间及数据文件设置为READ ONLY,然后删除表空间及数据文件。执行以下SQL语句:

ALTER DATABASE DATAFILE 'datafile_path' OFFLINE;
ALTER DATABASE DATAFILE 'datafile_path' READ ONLY;
ALTER DATABASE DATAFILE 'datafile_path' DROP;
ALTER TABLESPACE your_tablespace_name OFFLINE;
DROP TABLESPACE your_tablespace_name INCLUDING CONTENTS AND DATAFILES;

请注意,删除表空间及数据文件是一个危险的操作,务必在确认无误之后再执行。建议在执行删除操作前进行备份以防止数据丢失。

权限管理

  • 授予权限:grant 权限 to 用户名;
  • 撤销权限:revoke 权限 from 用户名;

常用:

创建用户:

create user zhangsan identified by zhangsan;
grant connect, resource to zhangsan;        //授权zhangsan用户连接权限
grant create session to zhangsan;           //授予zhangsan用户创建session的权限,即登陆权限
grant unlimited tablespace to zhangsan;     //授予zhangsan用户使用表空间的权限
grant create table to zhangsan;             //授予创建表的权限
grant drop any table to zhangsan;           //授予删除表的权限
grant insert any table to zhangsan;         //插入表的权限
grant update any table to zhangsan;         //修改表的权限
grant create view to zhangsan;              //创建视图权限

其他

grant update(pass) on mytab to zhangsan;    //授予其他用户对当前用户表中的【某个字段】的操作权限
grant all on mytab to zhangsan;             //授予其他用户操作表的所有权限
revoke all on mytab from zhangsan;          //撤销其他用户操作表的所有权限
select * from user_tab_privs;               //查询其他用户对【当前用户表】的操作权限
select * from user_col_privs;               //查询其他用户对【当前用户表字段】的操作权限

权限传递:

grant create session to zhangsan with admin option;   //系统权限:(表示把系统权限授予给zhangsan,并允许其授予给其他用户) 
grant update on mytab to zhangsan with grant option;  //用户权限:(表示把用户权限授予给zhangsan,并允许其授予给其他用户) 

角色管理:

create role roleName;            //创建角色
grant 权限 to roleName;          //给角色授予权限
grant roleName to userName;     //将角色授予给用户
select * from user_role_privs;  //用户查询拥有的角色
drop role roleName;             //删除角色

注:

  • 当给角色授予权限的时候,拥有此角色的用户也同时增加了权限;
  • 当撤销角色权限的时候,拥有此角色的用户的对应权限也被撤销;
  • 当角色被删除,拥有此角色的用户将丧失之前角色所有的所有权限。

————————————————————————————————————————————————

1.GRANT 赋于权限

常用的系统权限集合有以下三个:
CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)
常用的数据对象权限有以下五个:
ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,
DELETE ON 数据对象名, INSERT ON 数据对象名, ALTER ON 数据对象名

GRANT CONNECT, RESOURCE TO 用户名;
GRANT SELECT ON 表名 TO 用户名;
GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;

2.REVOKE 回收权限

REVOKE CONNECT, RESOURCE FROM 用户名;
REVOKE SELECT ON 表名 FROM 用户名;
REVOKE SELECT, INSERT, DELETE ON表名 FROM 用户名1, 用户名2;

查询数据库中第63号错误:



select orgaddr,destaddr from sm_histable0116 where error_code='63';

查询数据库中开户用户最大提交和最大下发数: select MSISDN,TCOS,OCOS from ms_usertable;
————————————————————————————————————————————————

导入导出

create or replace directory dmp_dir as '/usr/local/soft/oracle/bk_dump' ;


grant write, read on directory dmp_dir to membertest ;

你可能感兴趣的:(数据库,oracle,数据库)