Oracle配置管理


一、登录管理

1. 连接方式

Oracle JDBC 连接一共有三种方式,分别是:SIDSERVICE_NAMETNSName

-- SID 格式,两种方式等价。
jdbc:oracle:thin:@<host>:<port>:<SID> 
jdbc:oracle:thin:@<host>:<port>/<SID>

-- TNSName 格式
jdbc:oracle:thin:@<TNSName>

-- Service name 格式
jdbc:oracle:thin:@//<host>:<port>/<SERVICE_NAME>  

2. 命令连接

通过命令行方式连接数据库,命令步骤如下:

-- 进入容器
docker exec -it oracle /bin/bash

-- 进入工作目录
cd /home/oracle && source .bash_profile

-- 访问,输入用户名、密码
sqlplus

-- 无用户登录
sqlplus /nolog

-- 连接数据库 
conn /as sysdba

二、用户管理

Oracle 每个用户之间的数据库都是独立存在的,根据业务需要可以创建不同的用户角色。

1. 用户创建

通过 create user 创建新的用户,创建的用户需要授权后才可进行登录等操作。

-- 连接,回车输入账号
sqlplus

-- 创建用户
create user <username> identified by <password>; 

通过 alter user 修改用户密码等信息,drop user 删除创建的用户。

alter user <username> identified by <password>; 

-- 删除用户
drop user <username> cascade;

2. 授权管理

用户新建之初并没有任何权限,因此我们需要对新建的用户进行授权。

-- 用户授权
grant <privilege> to <username>;

-- 解锁用用户
alter user <username> account unlock;

-- 移除授权
revoke <privilege> from <username>; 

其中 privilege 可选项参考下表:

权限 描述
dba 拥有所有的系统权限。
connect 临时用户,没有建表权限,只对其他用户的表有访问权限,包括 select, insert, update 和 delete 等。
resource 提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

3. 连接限制

新建的用户默认密码有效期为 180 天,且在错误输入 10 次密码之后该账号将会被锁定,可根据实际需要延长期限或设置为无限制。

-- 设置密码不过期,默认 180 天
alter profile default limit PASSWORD_LIFE_TIME unlimited;

-- 无限制次数限制,默认 10 次
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

三、系统配置

1. 系统信息

通过 v$version 可以查询当前数据库的版本等基本信息。

-- 查看版本
select * from v$version;

2. 角色信息

(1) 用户信息

通过查询 dba_users 表获取已创建的用户信息。

-- 查看所有用户详细信息
select * from dba_users;
   
-- 查看所有用户简要信息
select * from all_users;
   
-- 查看当前登录用户信息
select * from user_users;
(2) 权限信息

通过查询 dba_sys_privs 表获取已创建的用户权限信息。

-- 查看所有用户权限
select * from dba_sys_privs;
 
-- 查看当前用户权限
select * from user_sys_privs;
 
-- 查看指定用户拥有的权限
select * from dba_sys_privs where grantee='BUDAI';
(3) 角色信息

通过查询 dba_role_privs 表获取已创建的用角色信息。

-- 查看整个系统的权限角色列表
select * from dba_role_privs;

-- 查看当前登录用户角色列表
select * from user_role_privs;

-- 查看指定用户的角色
select * from dba_role_privs where grantee='BUDAI';

文章作者: 烽火戏诸诸诸侯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 烽火戏诸诸诸侯 !
  目录