学习Oracle时,你可能会遇到Oracle用户表空间问题,这里将介绍Oracle用户表空间问题的解决方法,在这里拿出来和大家分享一下。其实就是在已有的数据库实例上创建一个新的帐号,访问一些新的表。
操作步骤如下:
1、登录linux,以Oracle用户登录(如果是root用户登录的,登录后用su-oracle命令切换成oracle用户)
2、以sysdba方式来打开sqlplus,命令如下:sqlplus"/assysdba"
3、查看我们常规将Oracle用户表空间放置位置:执行如下sql:
- select name from v$datafile;
上边的sql一般就将你的Oracle用户表空间文件位置查出来了。
4、创建Oracle用户表空间:
- CREATE TABLESPACE NOTIFYDB DATAFILE
- '/oracle/oradata/test/notifydb.dbf
- 'SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
5、创建用户,指定密码和上边创建的Oracle用户表空间
- CREATE USER hc_notify IDENTIFIED BY hc_password DEFAULT TABLESPACE NOTIFYDB;
6、赋予权限
- grant connect,resource to hc_notify;
- grant unlimited tablespace to hc_notify;
- grant create database link to hc_notify;
- grant select any sequence,create materialized view to hc_notify;
经过以上操作,我们就可以使用hc_notify/hc_password登录指定的实例,创建我们自己的表了
//创建临时表空间
create temporary tablespace test_temp
tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//创建数据表空间
create tablespace test_data
logging
datafile 'E:/oracle/product/10.2.0/oradata/testserver/test_data01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//创建用户并指定表空间
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;
//给用户授予权限
grant connect,resource to username;
//以后以该用户登录,创建的任何数据库对象都属于test_temp 和test_data表空间,这就不用在每创建一个对象给其指定表空间了。