数据库创建
2015-07-21 17:40
381 查看
创建数据库实例
登陆oracle服务器,进入oracle安装目录bin目录下,执行./dbca会出现实例创建界面,一步步执行即可。创建表空间
表空间是逻辑上用于存储数据库表的,创建用户需给该用户执行默认表空间,否则每次创建表都需手工指定表空间。表空间作用:
控制用户所占用的表空间配额,主要是限制用户可使用的磁盘空间。
控制数据库所占用的磁盘空间,一个数据库可以有多个表空间,但是一个表空间只属于一个数据库,所以通过设置每个表空间的最大空间,就可以控制数据库占用的磁盘空间。
灵活放置表空间,提高数据库的输入输出性能,在数据库设计时,可根据数据的分类进行创建表空间,不同类型的数据可以放置在不同的表空间内,比如wms、tms等子系统。另外,当表空间可以独立备份和恢复,这样就可以避免整个数据库备份时影响系统性能。
大表的排序操作
临时表空间:
用户进行数据库操作时,排序、分组汇总、索引这些作业会产生大量的临时数据,此时就会使用到临时表空间。
创建用户给用户指定临时表空间,如果不指定,当需要使用临时表空间时,数据库就会使用系统表空间,从而降低数据库性能。
创建语句:
create tablespace spacename -----表空间名称 logging datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' -----指定表空间对应的数据库文件存储路径 size 32m -----初始大小 autoextend on -----开启自动扩展 next 32m maxsize 20480m -----每次增加32m,最大空间20G extent management local; create temporary tablespace tempspacename -----临时表空间名称 logging tempfile 'D:\oracle\oradata\Oracle9i\user_data.dbf' -----指定临时表空间对应的数据库文件存储路径 size 32m -----初始大小 autoextend on -----开启自动扩展 next 32m maxsize 20480m -----每次增加32m,最大空间20G extent management local;
创建用户
create user username identified by password ----指定用户名、密码 default tablespace spacename ----指定默认表空间 temporary tablespace tempspacename ---指定临时表空间 QUOTA integer[K|M]|UNLIMITED ON spacename; ----指定用户在表空间上可以使用的最大空间 alter user username ... ---修改用户 drop user username; ----删除用户,当用户拥有其他对象,比如表、视图时删除失败 drop user username cascade; ----删除用户,连同该用户拥有的表、视图等
常用语句:
ALTER USER username QUOTA 0 ON spacename; —-不可用
ALTER USER scott QUOTA UNLIMITED ON spacename; –无限制
ALTER USER dog QUOTA 30M ON spacename; —可用30m
SELECT USERNAME,TABLESPACE_NAME,MAX_BYTES/1024/1024 “Max MB” FROM dba_ts_quotas WHERE USERNAME=’SCOTT’; —查看用户在表空间上可用的配额
SELECT owner,object_name, object_type FROM dba_objects WHERE owner= ‘SCOTT’; —-查看用户拥有的对象
修改用户密码
一般普通用户密码丢失,可通过plsql等工具使用sys、system等用户登录,进行修改。
sys和system用户可互相修改密码。
sys和system密码丢失,可登录oracle数据服务器bin目录下,通过下图修改密码
用户授权
权限分类:系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等(对用户而言)
对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等(是针对表或视图而言的)
系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
常用的系统权限:
CREATE SESSION 创建会话
CREATE SEQUENCE 创建序列
CREATE SYNONYM 创建同名对象
CREATE TABLE 在用户模式中创建表
CREATE ANY TABLE 在任何模式中创建表
DROP TABLE 在用户模式中删除表
DROP ANY TABLE 在任何模式中删除表
CREATE PROCEDURE 创建存储过程
EXECUTE ANY PROCEDURE 执行任何模式的存储过程
CREATE USER 创建用户
DROP USER 删除用户
CREATE VIEW 创建视图
查看系统权限:
dba_sys_privs 记录所有用户拥有的系统权限
user_sys_privs 记录当前用户拥有的系统权限
SELECT grantee,privilege,admin_option FROM dba_sys_privs WHERE grantee IN (‘SCOTT’,’ROBINSON’) ORDER BY grantee; —查看用户拥有的系统权限
对象权限:
对象权限 | 表 | 视图 | 索引 | 过程 |
修改(alter) | 有 | - | 有 | - |
删除(delete) | 有 | 有 | - | - |
执行(execute) | - | - | - | 有 |
索引(index) | 有 | - | - | - |
插入(insert) | 有 | 有 | - | - |
关联(references) | 有 | 有 | - | - |
选择(select) | 有 | 有 | 有 | - |
更新(update) | 有 | 有 | - | - |
GRANT object_priv|ALL [(columns)] ON object to {user|role|PUBLIC} [WITH GRANT OPTION];
ALL:所有对象权限
PUBLIC:授给所有的用户
WITH GRANT OPTION:允许用户再次给其它用户授权
查询权限分配情况:
数据字典视图 | 描述 |
ROLE_SYS_PRIVS | 角色拥有的系统权限 |
ROLE_TAB_PRIVS | 角色拥有的对象权限 |
USER_TAB_PRIVS_MADE | 查询授出去的对象权限(通常是属主自己查) |
USER_TAB_PRIVS_RECD | 用户拥有的对象权限 |
USER_COL_PRIVS_MADE | 用户分配出去的列的对象权限 |
USER_COL_PRIVS_RECD | 用户拥有的关于列的对象权限 |
USER_SYS_PRIVS | 用户拥有的系统权限 |
USER_TAB_PRIVS | 用户拥有的对象权限 |
USER_ROLE_PRIVS | 用户拥有的角色 |
SELECT * FROM user_tab_privs_made; –下面是scott用户开放的对象权限
SELECT * FROM user_col_privs_made; –查询列上开放的对象权限
SELECT * FROM user_tab_privs_recd; –查询已接受的对象特权(即某个用户被授予了哪些表上的哪些对象特权)
SELECT * FROM user_col_privs_recd; –查询用户已接受列的对象权限
收回权限:
使用REVOKE 语句收回权限
使用WITH GRANT OPTION 子句所分配的权限同样被收回
REVOKE {privilege [, privilege…]|ALL} ON object FROM {user[, user…]|role|PUBLIC}
with admin option :给用户授予系统权限时可使用该选项,被授权者可将这些权限再次授给其他用户,回收时,不会回收其他用户的权限。
with grant option :给用户授予对象权限时可使用该选项,被授权者可将这些权限再次授给其他用户,回收时,同时回收其他用户的权限。
wms项目数据库
创建表空间、临时表空间创建用户,指定用户默认的表空间
授权,对于wms自身用户,可:grant dba,connect,resource to wms;
对于一般用户,如wcs用户,可:grant connect,resource to S3_WCS; 对于特殊业务如自动库,可再授予其对象权限。
相关文章推荐
- markdown简介和语法介绍
- Markdown
- Sublime Text 下的 Mardown 插件
- markdown的超链接加上target='_blank'
- Markdown语法英文原版翻译
- 测试markdown
- Markdown 快速参考及编辑器推荐
- Markdown小解,Blog之路
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- Markdown学习笔记----概述
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- Markdown 语法(1)- 写标题
- Markdown 语法(2)- 文本强调
- Markdown 语法(3)- 列表
- Markdown 语法(4)- Links 链接