Oracle常用基本操作

日期:2015年01月06日 作者: 分类:数据库 浏览:3626

1. 创建临时表空间

create temporary tablespace user_temp 
    tempfile '/home/oracle/oracle_base/oradata/wilson/user_temp.dbf'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

2. 创建数据表空间

create tablespace user_data
    logging
    datafile '/home/oracle/oracle_base/oradata/wilson/user_data'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

3. 创建用户并指定表空间

create user test_user identified by test_user
    default tablespace user_data
    temporary tablespace user_temp
    account unlock;

4. 给用户授予权限

grant connect,resource to test_user;

5. 在其他机器上远程登录这个用户

sqlplus test_user/test_user@192.168.6.150/wilson

6. 删除用户及用户所有的对象

drop user kkxt cascade;

7. 删除表空间

前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除

drop tablespace user_temp including contents and datafiles cascade constraints;
drop tablespace user_data including contents and datafiles cascade constraints;

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;

8. 解锁用户

SQL> select username,account_status,password from dba_users;
SQL> alter user scott account unlock;
SQL> alter user scott identified by tiger;

标签:

除非注明,戊辰人博客文章均为原创,转载请以链接形式标明本文地址

本文地址:https://wanglu.info/2015/01/148.html