linux(centos)新建Oracle用户和数据库

这篇博客介绍了如何在Oracle数据库中切换用户、创建表空间和临时表空间,以及创建和管理用户,包括设置权限、解锁账户、导入数据和查询表。此外,还涉及到解决权限不足问题的方法,如授予CREATE SESSION权限和表空间配额。
摘要由CSDN通过智能技术生成

1、切换到Oracle用户

su – oracle

2、登录sys用户

sqlplus / as sysdba

在这里插入图片描述
3、创建表空间

查询用户表空间文件的路径

select name from v$datafile;
CREATE TABLESPACE customerchat LOGGING DATAFILE '/database/app/oracle/oradata/ccorcl/customerchat.dbf' 
SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL;

在这里插入图片描述
在这里插入图片描述
4、创建临时表空间

select name from v$tempfile;
create temporary tablespace customerchat_temp tempfile '/database/app/oracle/oradata/ccorcl/customerchat_temp.dbf'
size 100m autoextend on next 32m maxsize 500m extent management local;

在这里插入图片描述
5、创建用户密码与上面创建的文件形成映射关系

create user customerchat identified by customerchat default tablespace customerchat temporary tablespace customerchat_temp;

在这里插入图片描述
6、为用户添加权限

初始建立的用户没有任何权限,不能执行任何数据库操作,因此必须为用户设置权限或者角色。被赋予了某个角色的用户将拥有该角色所具备的权限,常被用到的系统预定义角色:CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE。其中,CONNECT、RESOURCE、DBA主要用于数据库管理,数据库管理员需要被授予这三个角色。一般的数据库开发人员,需要被授予CONNECT、RESOURCE角色即可。EXP_FULL_DATABASE、IMP_FULL_DATABASE角色分别用于操作数据库导出、导入相关的操作。为用户授予角色:

grant connect,resource to customerchat;

7、查询已创建的用户

select username from dba_users;

8、修改用户密码:

--将用户的密码设置为123456。
alter user customerchat identified by 123456;

有时用户会处于锁定状态,解锁用户:

alter user customerchat account unlock;

9、删除用户语句:

drop user 用户名 cascade;
--删除空的表空间,但是不包含物理文件
drop tablespace tablespace_name;
--删除非空表空间,但是不包含物理文件
drop tablespace tablespace_name including contents;
--删除空表空间,包含物理文件
drop tablespace tablespace_name including datafiles; 
--删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;

10、登录

sqlplus usernmae/password

报错:

ERROR:
ORA-01045: user CUSTOMERCHAT lacks CREATE SESSION privilege; logon denied

在这里插入图片描述
这是因为没有创建会话的权限,可以重新赋创建会话的权限

grant create session to customerchat;

11、查询用户下所有表

SELECT * FROM ALL_TABLES WHERE OWNER= 'CUSTOMERCHAT';

其中用户名必须大写

select * from all_tab_comments 
-- 查询所有用户的表,视图等
select * from user_tab_comments   
-- 查询本用户的表,视图等
select * from all_col_comments 
--查询所有用户的表的列名和注释.
select * from user_col_comments 
-- 查询本用户的表的列名和注释
select * from all_tab_columns 
--查询所有用户的表的列名等信息(详细但是没有备注).
select * from user_tab_columns 
--查询本用户的表的列名等信息(详细但是没有备注).

12、Linux使用sqlplus退格

使用Ctrl+Backspace

13、登录新建的customerchat用户导入sql文件

--sqlplus登录:
sqlplus customerchat/customerchat

导入sql文件:@路径名/文件名

报如下错误:

ORA-01031: insufficient privileges

这是因为没有建表的权限

登录dba用户导入

sqlplus / as sysdba

导入sql文件报如下错误:

ORA-01950: no privileges on tablespace 'CUSTOMERCHAT'

这是由于创建表空间时设置了有限的大小,两种方法:

方法1: 授予用户对该表空间的UNLIMITED配额

ALTER USER CUSTOMERCHAT  QUOTA UNLIMITED ON customerchat;

方法2: 重新授权resource角色给用户之后,便可以创建表

GRANT RESOURCE TO CUSTOMERCHAT;

————————————————
版权声明:本文为CSDN博主「Terisadeng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dongyuxu342719/article/details/81670837

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值