暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle基础命令——创建用户、创建表空间

吼吼哈嘿 2025-01-22
163

一、Oracle监听器
Oracle监听器listener是一个重要的数据库服务器组件,在整个Oracle体系结构中,扮演着重要的作用。



(一)Oracle监听器的作用
oracle监听器的功能_kk121150的博客-CSDN博客_oracle监听的作用

1、监听客户端请求。监听器守候在服务器制定端口(默认为:1521),监听客户端的请求。

2、为客户端请求分配Server Process。通过一个服务进程Server Process(也称为影子进程)作为代理。监听器接受到请求之后,就向操作系统(或者Dispatcher组件)要求fork(或分配)一个Server Process与客户端相连。

3、注册实例服务。目前Oracle版本中,提供动态注册和静态注册两种方式。

4、错误转移failover。在数据库实例崩溃的时候,可以自动将请求转移到其他可用实例上的一种功能。可以提供很大程度上的可用性(Availability)功能。这个过程中,发现实例已经崩溃,并且将请求转移到其他实例上。

5、负载均衡衡量。当一个客户请求到来时,Oracle会根据当前RAC集群环境中所有实例的负载情况,避开负载较高的实例,将请求转移到负载较低的实例进行处理。

在命令行窗口(CMD),输入lsnrctl,就可以进入监听器控制窗口。

监听器的行为受到参数文件的控制,我们有时候需要调整监听器的参数。调整监听参数的方法,可以通过Oracle提供的GUI界面完成,还可以通过手工修改listener.ora来完成。

oracle 中的lsnrctl命令

在启动、关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态:
1、$lsnrctl status:检查当前监听器的状态
2、$lsnrctl start [listener-name] 启动所有的监听器,可以指定名字来启动特定的监听器
3、$lsnrctl stop [listener-name] 关闭所有的监听器,可以指定名字来关闭特定的监听器
4、$lsnrctl reload 重启监听器,此命令可以代替lsnrctl stop,lsnrctl start
5、lsnrctl hep 可以显示所有可用的监听器命令

(二)Oracle监听器的目录


二、Oracle安装成功后默认的三个用户——sys、system、普通用户(normal)
Oracle安装成功后默认的三个用户 - AKX - 博客园

1.SYS用户:超级管理员,权限最高,它的角色是DBA(数据库管理员)。默认密码是change_on_install。具有创建数据库的权限。

2.SYSTEM用户:系统管理员,权限很高,它的角色是DBA operator(数据库管理员操作者),默认密码manager。不具有创建数据库的权限!

3.普通用户(normal),如系统安装时的scott用户,默认密码是tiger。普通用户的权限是SYS用户或SYSTEM用户给的,如果没有给,那普通用户连很基本的访问权限,连接权限也没有。

1.查看当前数据库命令
SQL> select name from v$database;


2.查看Oracle的版本号
SQL> select * from v$version;


3.conn /as sysdba
conn /as sysdba 详解_weixin_33736832的博客-CSDN博客



在用conn /as sysdba登录时,oracle会进行操作系统验证,发现你当前登录的用户就属于ora_dba组,就可以不输入密码登录。而sqlplus /nolog是另外的用法了,nolog表示不进行登录,仅仅是进入sqlplus软件而已。



注意:操作时尽量用system来操作

[oracle@localhost ~]$ sqlplus / as sysdba
[oracle@localhost ~]$ sqlplus system/oracle as sysdba
# 上面两种写法一样
三、Oracle创建新用户密码并赋予权限命令
1.使用system用户进入后,创建新用户和密码
SQL> connect system@prod
Enter password:
Connected.

SQL> create user zhangsan identified by zhangsan;

User created.
2.给新用户赋予权限:
SQL> grant connect,resource,dba to zhangsan;

Grant succeeded.
3.使用新用户登录:
SQL> connect zhangsan@prod
Enter password:
Connected.
4.新用户通过Datagrip远程连接Oracle:


四、DBA可以赋予的三种标准角色
connect、resource和dba三种标准角色:

授权语句:

grant connect ,resource,dba to user with admin option;
(注意:其中的“with admin option”选项的含义是权限转授,该用户user能把他得到的这个权限再转授给其他用户user。)经过授权以后,用户拥有connect、resource和dba三个角色的权限:

1.Connect 角色
是授予最终用户的典型权利,最基本的权利,能够连接到Oracle数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。

Alter session--修改会话;
Create cluster--建立聚簇;
Create database link--建立数据库连接;
Create sequence--建立序列;
Create session--建立会话;
Create synonym--建立同义词;
Create view--建立视图。
2.Resoure角色
是授予开发人员的,能在自己的方案中创建表、序列、视图等。

Create cluster--建立聚簇;
Create procedure--建立过程;
Create sequence—建立序列;
Create table--建表;
Create trigger--建立促发器;
Create type--建立类型。
3.DBA角色
是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。

ORACLE grant权限 - 走看看

oracle常用指令-grant权限_走哪儿学哪儿的博客-CSDN博客_oracle grant

ORACLE grant权限 - Snowfun - 博客园

五、给Scott用户解锁,并给普通用户重新设置密码
1.给scott默认用户解锁并重设密码为tiger
scott用户默认是锁住的,需要给他解锁

SQL> connect system@prod
Enter password:
Connected.
SQL> alter user scott account unlock;

User altered.

# 用默认用户scott登录
SQL> connect scott@prod

# 输入密码tiger
Enter password:
ERROR:
ORA-28001: the password has expired

# 此时需要输入新密码,设置密码为tiger
Changing password for scott
New password:
Retype new password:
Password changed
Connected.

# 查询scott用户的表
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
SALGRADE
BONUS
EMP
DEPT

# 查看当前用户
SQL> show user;
USER is "SCOTT"

# 查看其中一个表内容
SQL> select * from dept;

DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
2.修改普通用户的密码
# 修改用户密码
# 首先登录system
SQL> connect system@prod
Enter password:
Connected.

# 重设用户密码,重设用户密码的前提是要知道账号
SQL> alter user zhangsan identified by 123456;

User altered.

六、创建表空间
Oracle 表空间(tablespace)介绍_软件开发技术爱好者的博客-CSDN博客_oracle表空间

1.查看当前用户默认表空间
select tablespace_name,(sum(bytes)/1024/1024) tablespace_size from dba_data_files group by tablespace_name;


2.创建表空间
# 创建表空间
SQL> connect system@prod
Enter password:
Connected.

# 表空间默认大小是50M
SQL> create tablespace ts1 datafile '/home/oracle/ts1.dbf' size 50M;

Tablespace created.
创建表空间后在对应目录下会显示



3.修改普通用户默认的表空间
# 登录普通用户
SQL> connect zhangsan@prod
Enter password:
Connected.

# 设置默认表空间
SQL> alter database default tablespace ts1;

Database altered.
4.修改表空间的名字
alter tablespace ts1 rename to tss;


5.删除表空间
注意:因为之前将用户默认的表空间是新建的tts,不可以直接删除默认的表空间,会报错

# 重新设定表空间
alter database default tablespace users;

# 删除表空间
drop tablespace tts including contents and datafiles;
回到根目录就没有这个表空间了



七、Datagrip中操作注意事项
与Mysql不同,oracle的数据如果不提交,就不会保存,重启后数据会丢失,而Mysql中的事务是默认自动提交的。


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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Helen_1997_1997/article/details/128296487

文章转载自吼吼哈嘿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论