oracle新建表空间参数,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

posted on 2014-03-03 10:50 顺其自然EVO 阅读(164) 评论(0)  编辑  收藏 所属分类: 数据库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值