### Oracle 创建删除用户、角色、表空间、导入导出命令总结 #### 一、表空间管理 表空间是Oracle数据库中的基本存储单元,用于管理数据文件。以下为创建临时表空间与非临时表空间的命令示例: 1. **创建临时表空间(`zfmi_temp`)** ```sql createtemporarytablespace zfmi_temp tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf' size 32m autoextend on next 32m maxsize 2048m extentmanagement local; ``` 2. **创建普通表空间(`zfmi`)** ```sql createtablespace zfmi logging datafile 'D:\oracle\oradata\zfmi\zfmi.dbf' size 100m autoextend on next 32m maxsize 2048m extentmanagement local; ``` - `logging`: 指明该表空间为日志表空间。 - `datafile`: 数据文件的位置。 - `size`: 文件初始大小。 - `autoextend on`: 自动扩展功能开启。 - `next`: 下次扩展的大小。 - `maxsize`: 最大扩展限制。 - `extentmanagement local`: 指明使用局部管理方式。 #### 二、删除表空间 删除表空间时需要注意,如果表空间正在被使用,则需要先将其离线再进行删除操作。 1. **删除表空间命令示例** ```sql droptablespace zfmi including contents and datafiles cascade constraints; ``` - `including contents`: 包括表空间的所有内容。 - `including datafiles`: 包括数据文件。 - `cascade constraints`: 同时删除表空间中的约束。 2. **删除前的准备工作** - 确认表空间不再被任何对象引用。 - 离线数据文件: ```sql $ sqlplus /nolog SQL> conn /as sysdba; SQL> shutdown abort SQL> startup mount SQL> alter database datafile 'filename' offline drop; SQL> alter database open; SQL> droptablespace tablespace_name including contents; ``` 其中,`filename` 需要替换为实际的数据文件路径。 #### 三、用户管理 用户是Oracle数据库的重要组成部分,用于管理数据库访问权限。 1. **创建用户命令示例** ```sql create user zfmi identified by zfmi default tablespace zfmi temporary tablespace zfmi_temp; ``` - `zfmi`: 用户名。 - `identified by zfmi`: 用户密码。 - `default tablespace zfmi`: 默认表空间。 - `temporary tablespace zfmi_temp`: 临时表空间。 2. **授予权限** ```sql grant dba to zfmi; -- 授予DBA权限 grant connect, resource to zfmi; -- 授予连接和资源权限 ``` - `grant dba to zfmi;`: 授予DBA权限。 - `grant connect, resource to zfmi;`: 授予连接和资源权限。 #### 四、角色管理 角色是一组权限的集合,可以方便地对用户进行权限分配。 1. **创建角色** ```sql create role myrole; ``` 2. **向角色授予权限** ```sql grant create session, create table to myrole; ``` 3. **将角色授予用户** ```sql grant myrole to user1; ``` #### 五、数据导入导出 数据导入导出是常见的数据库操作之一,主要用于备份恢复和数据迁移。 1. **导出数据** - 导出整个数据库: ```sql exp system/manager@TEST file=d:daochu.dmp full=y ``` - 导出特定用户数据: ```sql exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) ``` - 导出特定表: ```sql exp aichannel/aichannel@TESTDB2 file=d:datanewsmgnt.dmp tables=(inner_notify, notify_staff_relat) ``` - 导出表中的部分数据: ```sql exp system/manager@TEST file=d:daochu.dmp tables=(table1) query="where filed1 like '00%'" ``` 2. **导入数据** - 导入整个数据库: ```sql imp system/manager@TEST file=d:daochu.dmp imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y ``` - 导入特定表: ```sql imp system/manager@TEST file=d:daochu.dmp tables=(table1) ``` #### 六、注意事项 - 在执行任何创建或删除操作之前,请确保有足够的磁盘空间以及所有相关数据的安全备份。 - 对于表空间的操作,特别是删除操作,请务必确认表空间不再被使用,以免导致数据丢失。 - 在进行权限授予时,请确保遵循最小权限原则,只授予必需的权限。 - 导入导出过程中,确保有足够的资源支持,并根据实际情况调整参数如`buffer`等。 - 使用命令行工具时,注意检查版本兼容性,确保使用的命令与当前Oracle版本相符。 以上就是关于Oracle创建删除用户、角色、表空间、导入导出命令的一些总结,希望能对您有所帮助。
create temporary tablespace zfmi_temp
tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//tempfile参数必须有
//创建数据表空间
create tablespace zfmi
logging
datafile 'D:\oracle\oradata\zfmi\zfmi.dbf'
size 100m
autoextend on
next 32m maxsize 2048m
extent management local;
//datafile参数必须有
//删除用户以及用户所有的对象
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;
//创建用户并指定表空间
create user zfmi identified by zfmi
default tablespace zfmi temporary tablespace zfmi_temp;
剩余5页未读,继续阅读
- jiutian10122013-02-28和网上查询的差不多..
- 粉丝: 2
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip