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数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
52 11
|
26天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
19天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
49 7
|
13天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
91 15
|
7天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
14天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
18天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
26天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据

推荐镜像

更多