打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用sqlplus为oracle创建用户和表空间

 如果是在Windows系统下, 请先点击开始,然后点运行,输入cmd并点击确定,打开命令行窗口

  如果是在Linux的图形窗口,请右键点击桌面并点击打开终端,然后输入    su -   oracl

  做好上述准备工作以后,输入以下命令:

  sqlplus   /nolog

  回车后,将出现提示符 SQL>

  这时输入

  conn   /   as   sysdba

  一般即可登录,如果失败的话,可以试一下用conn    sys/sys用户的密码   as sysdba来重试一下

  接下来,我们看看您当前的数据库文件一般都是放在哪里的:

  select    name    from    v$datafile;

  windows下可能看到的结果如下:

  

        NAME
       -------------------------------------------------------------------------------------------

       D:\ORACLEXE\ORADATA\XE\SYSTEM.DBF
       D:\ORACLEXE\ORADATA\XE\UNDO.DBF
       D:\ORACLEXE\ORADATA\XE\SYSAUX.DBF
       D:\ORACLEXE\ORADATA\XE\USERS.DBF
       D:\ORACLEXE\ORADATA\XE\TABLEZONE.DBF

       SQL>

  说明您的数据文件是放在 D:\ORACLEXE\ORADATA\XE\这个目录下的

  Linux下可能看到的结果如下:

  SQL> select name from v$datafile;

  NAME

  --------------------------------------------------------------------------------

  /oracle/oradata/orcl/system01.dbf

  /oracle/oradata/orcl/undotbs01.dbf

  /oracle/oradata/orcl/cwmlite01.dbf

  /oracle/oradata/orcl/drsys01.dbf

  /oracle/oradata/orcl/indx01.dbf

  /oracle/oradata/orcl/tools01.dbf

  说明您的数据文件是放在 /oracle/oradata/orcl/ 这个目录下的

  好,我们可以开始创建数据库表空间了,创建数据库表空间的命令格式如下:

  create tablespace 表空间名 datafile   '对应的文件名'    size   大小;

  举例如下:

  对于上述的windows情况:

  create tablespace   tablezone   datafile   'D:\oracle\oradata\orcl\tablezone.dbf'    size   3000m;

  3000m指的是3000MB

  对于上述的Linux的情况:

  create tablespace   tablezone   datafile   '/oracle/oradata/orcl/tablezone.dbf'    size   3000m;

  至此,所需的表空间已建立。

  接下来我们开始创建用户,创建用户的命令格式如下:

  create user 用户名 identified   by   密码default   tablespace   用户默认使用哪一个表空间;

  修改用户的权限:

  grant   角色1,角色2 to 用户名;

  举例如下:

  create user Tony identified by "123456"default tablespace tablezone;

  grant dba,connect to Tony;

----------------------------------------------------------------------------------------------

//创建临时表空间  

create temporary tablespace user_temp  

tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' 

size 50m  

autoextend on  

next 50m maxsize 20480m   

extent management local;  

//创建数据表空间  

create tablespace test_data  

logging   

datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' 

size 50m  

autoextend on  

next 50m maxsize 20480m   

extent management local; 

如果想指定最大值为无限大,则maxsize unlimited  

//创建用户并指定表空间  

create user username identified by password   

default tablespace user_data   

temporary tablespace user_temp;  

//给用户授予权限  

grant connect,resource to username;  

//以后以该用户登录,创建的任何数据库对象都属于user_temp user_data表空间, 

这就不用在每创建一个对象给其指定表空间了  

撤权:  

       revoke   权限...   from  用户名; 

删除用户命令

 

drop user user_name cascade;

 

建立表空间

 

CREATE TABLESPACE data01

 

DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

 

UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k

 

删除表空间

 

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

 

一、建立表空间

 

CREATE TABLESPACE data01

 

DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

 

UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k

 

二、建立UNDO表空间

 

CREATE UNDO TABLESPACE UNDOTBS02

 

DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M

 

#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:

 

ALTER SYSTEM SET undo_tablespace=UNDOTBS02;

 

三、建立临时表空间

 

CREATE TEMPORARY TABLESPACE temp_data

 

TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M

 

四、改变表空间状态

 

1.使表空间脱机

 

ALTER TABLESPACE game OFFLINE;

 

如果是意外删除了数据文件,则必须带有RECOVER选项

 

ALTER TABLESPACE game OFFLINE FOR RECOVER;

 

2.使表空间联机

 

ALTER TABLESPACE game ONLINE;

 

3.使数据文件脱机

 

ALTER DATABASE DATAFILE 3 OFFLINE;

 

4.使数据文件联机

 

ALTER DATABASE DATAFILE 3 ONLINE;

 

5.使表空间只读

 

ALTER TABLESPACE game READ ONLY;

 

6.使表空间可读写

 

ALTER TABLESPACE game READ WRITE;

 

五、删除表空间

 

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

 

六、扩展表空间

 

首先查看表空间的名字和所属文件

 

select tablespace_name, file_id, file_name,

 

round(bytes/(1024*1024),0) total_space

 

from dba_data_files

 

order by tablespace_name;

 

1.增加数据文件

 

ALTER TABLESPACE game

 

ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;

 

2.手动增加数据文件尺寸

 

ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'

 

RESIZE 4000M;

 

3.设定数据文件自动扩展

 

ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf

 

AUTOEXTEND ON NEXT 100M

 

MAXSIZE 10000M;

 

设定后查看表空间信息

 

SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,

 

(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

 

FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

 

WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PLSQL Developer图形化窗口创建数据库全过程
Oracle在PLSQL Developer上创建表空间和用户脚本 - 龙卷风的日志 - 网易博客
Oracle 表空间与数据文件
Oracle删除数据文件
oracle 创建表空间
单实例数据库迁移到rac环境——RAMN
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服