Oracle数据库创建表空间及用户

简介:
 摘要:
/*createtablespacesystemv
datafile'/opt/oracle/oradata/ibm/systemv01.dbf'size10m
autoextendon;*/
/*droptablespacesystemv
includingcontentsanddatafiles;*/
createuser"SYSTEMV"
identifiedby"123456"defaulttablespace"SYSTEMV"
accountunlock;
grantcreateanydirectory,unlimitedtablespace,connect,resourceto"SYSTEMV";
/*dropusersystemvcascade;*/
/*connectsystemv/123456@192.168.254.99/ibm*/
   正文:
  步骤一:删除用户及其所有对象
  drop user "aaaa" cascade
   步骤二:创建表空间,并设置相关属性,先查询出一般的数据库文件都存放在哪里。
  SQL> select * from v$dbfile;
  FILE#        NAME
  --------------------------------------------------------------------------------
  4                /mc/oracle/oradata/mc/users01.dbf
  --创建表空间,并指定数据文件的位置(必须去除多余空格才能执行)
  CREATE TABLESPACE AAAA
  DATAFILE '/mc/oracle/oradata/mc/AAAA.dbf' SIZE 50M
  extent management local autoallocate
  --更改数据文件增长方式为自动增长
  alter database
  DATAFILE '/mc/oracle/oradata/mc/AAAA.dbf'
  autoextend on
  注意:上面的粗体字部分必须全部为大写;否则sqlplus将无法登陆,导数据也会出问题;如果这里大写了,将来登录用户名小写也是没问题的!
  $ sqlplus "aaaa/aaaa";$ sqlplus "AAAA/aaaa" 以上两个都可以登录!
   步骤三:授予用户适当权限
  GRANT CREATE ANY DIRECTORY TO "AAAA"
  GRANT UNLIMITED TABLESPACE TO "AAAA"
  GRANT "CONNECT" TO "AAAA"
  GRANT "RESOURCE" TO "AAAA"
  或者
  GRANT CREATE ANY DIRECTORY, UNLIMITED TABLESPACE, CONNECT, RESOURCE TO "AAAA"  查看创建好的用户
select * from dba_users
select * from dba_tablespaces
  创建临时表空间【tempfile参数必须有】
create temporary tablespace zfmi_temp
tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//创建数据表空间【datafile参数必须有 】
create tablespace zfmi
logging
datafile 'D:\oracle\oradata\zfmi\zfmi.dbf'
size 100m
autoextend on
next 32m maxsize 2048m
extent management local;
//删除用户以及用户所有的对象
drop user zfmi cascade;
//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数
//删除表空间
   前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除
drop tablespace zfmi including contents and datafiles cascade onstraints;
//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
//including datafiles 删除表空间中的数据文件
//cascade constraints 同时删除tablespace中表的外键参照
//如果在清除表空间之前,先删除了表空间对应的数据文件,会造成数据库无法正常启动和关闭。 可使用如下方法恢复(此方法已经在oracle9i中验证通过):
下面的过程中,filename是已经被删除的数据文件,如果有多个,则需要多次执行;tablespace_name是相应的表空间的名称。
$ sqlplus /nolog
SQL> conn / as sysdba;
     如果数据库已经启动,则需要先执行下面这行:
SQL> shutdown abort
SQL> startup mount
SQL> alter database datafile 'filename' offline drop;
SQL> alter database open;
SQL> drop tablespace tablespace_name including contents;
//创建用户并指定表空间【identified by 参数必须有】
create user zfmi identified by zfmi
default tablespace zfmi temporary tablespace zfmi_temp;
//授予message用户DBA角色的所有权限
GRANT DBA TO zfmi;
//给用户授予权限
grant connect,resource to zfmi; (db2:指定所有权限)
-------------------------------------------------------------------华丽的分割线----------------------------------------------------------------------
--理解 recover datafile,表空间offline如果有immediate参数(此时将脏数据保存在system的延迟回退段中),那么下次online前必须recover。
alter tablespace zbb offline immediate
SQL> recover datafile 13;
alter tablespace zbb online
=========================================
--给表空间增加新的数据文件
alter tablespace zbtbs
add datafile '/disk2/oracle/oradata/zbtbs02.dbf' size 10M reuse
=========================================
--重新指定数据文件的大小
alter database
datafile '/disk2/oracle/oradata/zbtbs02.dbf'
resize 100M
=========================================
  查看表空间的online或offline情况
  select * from v$datafile
最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
13天前
|
存储 Oracle 关系型数据库
oracle数据恢复—oracle数据库执行错误truncate命令的数据恢复案例
oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况,例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致数据丢失的数据库数据恢复过程。
|
2月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
528 28
|
2月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
105 9
|
3月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
147 10
|
3月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回查询
本文介绍了Oracle数据库的闪回查询(Flashback Query)功能及其实际应用。闪回查询通过`AS OF`子句,结合时间戳或SCN号,可查询历史数据状态,帮助分析数据差异。文中通过具体示例演示了如何使用闪回查询:创建测试表、记录当前SCN号、更新数据并提交事务,最后通过闪回查询获取历史数据。附带的视频和代码块详细展示了操作步骤与结果。
128 4
|
3月前
|
Oracle 关系型数据库 网络安全
崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB
文章是作者小草对崖山异构数据库迁移利器 YMP 的初体验分享,包括背景、YMP 简介、体验环境说明、YMP 部署(含安装前准备、安装、卸载、启动与停止)、数据迁移及遇到的问题与解决过程。重点介绍了 YMP 功能、部署的诸多细节和数据迁移流程,还提到了安装和迁移中遇到的问题及解决办法。
|
3月前
|
Oracle 关系型数据库 数据管理
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。
118 0
|
3月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle数据库的客户端工具
本文介绍了Oracle数据库的三种客户端工具:SQL*Plus、Oracle Enterprise Manager Database Express(EM)和SQL Developer的使用方法。首先通过命令行工具SQL*Plus登录数据库,创建用户并授权,建立部门与员工表,插入数据并查询;接着讲解了如何通过浏览器访问EM界面监控数据库及表空间状态;最后演示了SQL Developer的下载安装、连接配置以及执行查询的过程,帮助用户快速上手Oracle数据库管理与操作。
|
3月前
|
数据库
【YashanDB数据库】YashanDB如何回收表空间
【YashanDB数据库】YashanDB如何回收表空间

热门文章

最新文章

推荐镜像

更多