参考地址: https://www.cnblogs.com/zhaideyou/articles/5845271.html
Oracle 安装完后, 其中有一个缺省的数据库, 除了这个缺省的数据库外, 我们还可以创建自己的数据库.
对于初学者来说, 为了避免麻烦, 可以用'Database Configuration Assistant'向导来创建数据库.
创建完数据库后, 并不能立即在数据库中建表, 必须先创建该数据库的用户, 并且为该用户指定表空间.
关系: 一个大的数据中分为几个表空间, 创建几个用户然后指定对应的表空间并授权, 这样用户就独立操作自己的资源了, 每每用户登录进入后, 在自己的表空间中新建表啊等等对象, 互不干扰.
下面是创建数据库用户的具体过程:
1. 假如现在已经建好名为'NewDB'的数据库
此时在 D:appAdministratororadata 目录下已经存在 NewDB 目录 (注意: 我的 Oracle11g 安装在 D 盘下, 若你的 Oracle 安装在别的目录, 那么你新建的数据库目录就在 *:appAdministratororadata 目录下).
2. 创建用户之前要创建 "临时表空间", 若不创建则默认的临时表空间为 temp.
- SQL> CREATE TEMPORARY TABLESPACE DB_TEMP
- TEMPFILE 'D:appAdministratororadataNewDBDB_TEMP.DBF'
- SIZE 32M
- AUTOEXTEND ON
- NEXT 32M MASIZE UNLIMITED
- EXTENT MANAGEMENT LOCAL;
3. 创建用户之前先要创建数据表空间, 若没有创建则默认永久性表空间是 system.
- SQL> CREATE TABLESPACE DB_DATA
- LOGGING
- DATAFILE 'D:appAdministratororadataNewDBDB_DATA.DBF'
- SIZE 32M
- AUTOEXTEND ON
- NEXT 32M MAXSIZE UNLIMITED
- EXTENT MANAGEMENT LOCAL;
其中'DB_DATA'和'DB_TEMP'是你自定义的数据表空间名称和临时表空间名称, 可以任意取名;'D:appAdministratororadataNewDBDB_DATA.DBF'是数据文件的存放位置,'DB_DATA.DBF'文件名也是任意取;'size 32M'是指定该数据文件的大小, 也就是表空间的大小.
4. 现在建好了名为'DB_DATA'的表空间, 下面就可以创建用户了:
- SQL> CREATE USER NEWUSER IDENTIFIED BY BD123
- ACCOUNT UNLOCK
- DEFAULT TABLESPACE DB_DATA
- TEMPORARY TABLESPACE DB_TEMP;
默认表空间'DEFAULT TABLESPACE'使用上面创建的表空间名: DB_DATA.
临时表空间'TEMPORARY TABLESPACE'使用上面创建的临时表空间名: DB_TEMP.
5. 接着授权给新建的用户:
SQL> GRANT CONNECT,RESOURCE TO NEWUSER; -- 表示把 connect,resource 权限授予 news 用户
SQL> GRANT DBA TO NEWUSER; -- 表示把 dba 权限授予给 NEWUSER 用户
授权成功.
OK! 数据库用户创建完成, 现在你就可以使用该用户创建数据表了!
总结: 创建用户一般分四步:
第一步: 创建临时表空间
第二步: 创建数据表空间
第三步: 创建用户并制定表空间
第四步: 给用户授予权限
切换到 system 用户,
查询表空间
- select * from Dba_Tablespaces;// 查询所有的表空间
- select tablespace_name from dba_tablespaces;// 查询表空间的名字
- select name from v$datafile;// 表空间的文件的路径
- select * from DBA_DATA_FILES;// 查询表空间中数据文件具体位置和文件名, 表空间名等
- select * from all_tables where tablespace_name='dingxinTableSpace';
删除表空间
drop tablespace dingxinTableSpace 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
查询当前数据名
方法一: select name from v$database;
方法二: show parameter db
方法三: 查看参数文件.
查询当前实例名
方法一: select instance_name from v$instance;
方法二: show parameter instance
方法三: 在参数文件中查询.
create table 表名
(字段名 字段类型)
tablespace 表空间名
;
来源: http://www.bubuko.com/infodetail-2722750.html