• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Oracle(90)数据库如何创建用户(User)

    发布者: 404号房间 | 发布时间: 2025-6-18 09:29| 查看数: 29| 评论数: 0|帖子模式

    前言

    在Oracle数据库中,创建用户是数据库管理员(DBA)的常见任务。创建用户涉及到为用户分配用户名、密码以及权限。以下是详细的步骤和代码示例,指导你如何创建用户并为其分配权限。

    创建用户的步骤


    • 连接到数据库
    • 创建用户
    • 为用户分配权限
    • 为用户分配表空间
    • 设置用户的账户状态

    详细步骤和代码示例


    1. 连接到数据库

    首先,你需要以具有管理员权限的用户(如
    1. SYS
    复制代码
    1. SYSTEM
    复制代码
    )连接到Oracle数据库。
    1. -- 使用SQL*Plus连接到数据库
    2. sqlplus sys as sysdba
    3. -- 或者使用其他工具如SQL Developer连接
    复制代码
    2. 创建用户

    使用
    1. CREATE USER
    复制代码
    语句创建一个新的用户,并指定默认的表空间和临时表空间。
    1. CREATE USER my_user
    2. IDENTIFIED BY my_password
    3. DEFAULT TABLESPACE users
    4. TEMPORARY TABLESPACE temp;
    复制代码
    在上面的语句中:

      1. my_user
      复制代码
      是新用户的用户名。
      1. my_password
      复制代码
      是新用户的密码。
      1. users
      复制代码
      是默认的表空间。
      1. temp
      复制代码
      是临时表空间。

    3. 为用户分配权限

    使用
    1. GRANT
    复制代码
    语句为新用户分配所需的权限。常见的权限包括
    1. CONNECT
    复制代码
    1. RESOURCE
    复制代码
    角色,以及特定的系统权限和对象权限。
    1. -- 分配CONNECT和RESOURCE角色
    2. GRANT CONNECT, RESOURCE TO my_user;

    3. -- 分配特定的系统权限
    4. GRANT CREATE SESSION TO my_user;
    5. GRANT CREATE TABLE TO my_user;
    6. GRANT CREATE VIEW TO my_user;
    7. GRANT CREATE PROCEDURE TO my_user;
    8. GRANT CREATE SEQUENCE TO my_user;

    9. -- 分配特定的对象权限
    10. GRANT SELECT, INSERT, UPDATE, DELETE ON my_schema.my_table TO my_user;
    复制代码
    4. 为用户分配表空间

    如果需要为用户分配额外的表空间配额,可以使用
    1. ALTER USER
    复制代码
    语句。
    1. ALTER USER my_user QUOTA 100M ON users;
    复制代码
    在上面的语句中,
    1. 100M
    复制代码
    是分配给用户在
    1. users
    复制代码
    表空间的配额。

    5. 设置用户的账户状态

    你可以使用
    1. ALTER USER
    复制代码
    语句来锁定或解锁用户账户。
    1. -- 锁定用户账户
    2. ALTER USER my_user ACCOUNT LOCK;

    3. -- 解锁用户账户
    4. ALTER USER my_user ACCOUNT UNLOCK;
    复制代码
    示例脚本

    以下是一个完整的示例脚本,展示如何创建用户并为其分配权限。
    1. -- 连接到数据库-- sqlplus sys as sysdba-- 创建用户CREATE USER my_user
    2. IDENTIFIED BY my_password
    3. DEFAULT TABLESPACE users
    4. TEMPORARY TABLESPACE temp;-- 分配CONNECT和RESOURCE角色
    5. GRANT CONNECT, RESOURCE TO my_user;

    6. -- 分配特定的系统权限
    7. GRANT CREATE SESSION TO my_user;
    8. GRANT CREATE TABLE TO my_user;
    9. GRANT CREATE VIEW TO my_user;
    10. GRANT CREATE PROCEDURE TO my_user;
    11. GRANT CREATE SEQUENCE TO my_user;

    12. -- 分配特定的对象权限
    13. GRANT SELECT, INSERT, UPDATE, DELETE ON my_schema.my_table TO my_user;-- 为用户分配表空间配额ALTER USER my_user QUOTA 100M ON users;-- 解锁用户账户ALTER USER my_user ACCOUNT UNLOCK;-- 确认用户创建和权限分配成功SELECT username, account_status FROM dba_users WHERE username = 'MY_USER';
    复制代码
    验证用户

    为了验证新创建的用户是否可以正常连接和操作数据库,可以使用新用户的凭据连接到数据库并执行一些基本操作。
    1. -- 使用新用户连接到数据库
    2. sqlplus my_user/my_password@your_database

    3. -- 创建一个表
    4. CREATE TABLE test_table (id NUMBER, name VARCHAR2(50));

    5. -- 插入数据
    6. INSERT INTO test_table (id, name) VALUES (1, 'Test Name');

    7. -- 查询数据
    8. SELECT * FROM test_table;

    9. -- 删除表
    10. DROP TABLE test_table;
    复制代码
    总结

    创建用户是Oracle数据库管理中的一个基础操作。通过上述步骤和代码示例,你可以系统地创建用户并为其分配所需的权限和资源。定期审查和管理用户权限,可以确保数据库系统的安全性和高效运行。

    来源:https://www.jb51.net/database/331977pnu.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表