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/

时间: 2024-10-02 23:36:57

Oracle数据库创建表空间及用户的相关文章

oracle中创建表空间,用户,授权,表结构的例子

-- 创建表空间CREATE TABLESPACE blogDATAFILE 'F:/oracledata/blog01.dbf' size 200MEXTENT MANAGEMENT local; -- 创建用户CREATE USER blog IDENTIFIED BY blogDEFAULT TABLESPACE blog; -- 授予权限GRANT connect, resource TO blog; -- 使用blog用户连接数据库CONNECT blog/blog; -- 创建博客信

[ASP.NET]对Oracle数据库创建表/判断数据表是否已存在

asp.net|oracle|创建|数据|数据库 对Oracle数据库创建表: Dim myConnectionString As String Dim myConnection As OleDbConnection Dim myCommand As OleDbCommand Dim myCreateSQL As String myConnectionString = "Provider='OraOLEDB.Oracle.1';User ID=[User ID];Data Source=[Dat

Linux下和Windows下创建Oracle数据库,表空间,Oracle用户

通过SSH工具或是XShell工具进入远程Linux下. 其中,通过SSH工具登录的界面如下: 其中Host Name是远程服务器的ip地址.User Name是服务器的一个用户名,端口号默认22,Connect进去后可以填写服务器的密码. 通过XShell工具登录的界面如下: 点击上面的New按钮,填写HOST主机地址,即服务器的IP地址,点击OK即可.   输入命令:    cd /    到根目录下 启动tomcat usr/local/tomcat/bin/startup.sh(这是to

Oracle中如何创建表空间、用户和授权

/* 在服务器目录/optoracle/oradata/etld下创建表空间前,先手动建好etld目录,并用root用户给etld目录相应权限,如777 */ --创建表空间 create tablespace tbs_etld_data logging datafile '/opt/oracle/oradata/etld/etld_data.dbf' size 200m autoextend on next 50m maxsize 1024m extent management local;

在Oracle中如何创建表空间、用户、权限分配

1:创建表空间 wspspace,maxsize unlimited是大小不受限制 Sql代码 create tablespace wspspace datafile 'D:/dev/oracle/tablespace/wspspace.dbf' size 300M autoextend on next 50M maxsize unlimited 2.创建用户 create user wsp identified by wsp default tablespace wspspace; 3.分配权

sql oracle 数据库-一个表空间可以拥有两个用户吗

问题描述 一个表空间可以拥有两个用户吗 Create tablespace pro Datafile 'doradataworkts01.dbf Size 3m Autoextend on 请问上面datafile workts01.dbf文件里面包括表空间吗? 解决方案 当你创建用户的时候你就知道了,系统会让你制定表空间,若不制定就会设置为默认 1个数据库实例可以有多个表空间,一般用户是在表空间下的, 也就是说表空间是用户的上级,自然一个表空间就可以有多个用户了

oracle Streams创建表空间级环境概述:初始化

DBMS_STREAMS_ADM 中提供了三种创建表空间级复制环境的过程: MAINTAIN_SIMPLE_TTS :单个表空间的复制 MAINTAIN_TTS :多个表空间的复制 PRE_INSTANTIATION_SETUP 和POST_INSTANTIATION_SETUP:多个表空间的复制 MAINTAIN_SIMPLE_TTS 和MAINTAIN_TTS两过程都会自动添加否定规则集过滤streams不支持的数据库对象,PRE_INSTAINTIATION_SETUP和POST_INST

创建表空间、用户、扩容、移动数据文件

1.创建新的表空间: 2.创建用户: 3.通过修改文件大小与增加文件的方式扩容表空间: 4.人为移动数据文件,检验创建表的效果: 1.创建新的表空间: SQL> create tablespace test_data   2  logging   3  datafile '/opt/oracle/oradata/bisal/test_data_01.dbf'   4  size 10M   5  autoextend on   6  next 10m maxsize 2000m   7  ext

oracle Streams创建表空间级环境概述:创建和移除

二. 创建复制环境 创建非常简单,只需要在目标端执行下列过程即可(如果是有多个表空间要复制,只需要再添加t_names(2),t_names(3)...t_names(n)即可): JSSSTR> DECLARE 2 t_names DBMS_STREAMS_TABLESPACE_ADM.TABLESPACE_SET; 3 BEGIN 4 -- Tablespace names 5 t_names(1) := ¨WEBDATA¨; 6 DBMS_STREAMS_ADM.MAINTAIN_TTS(