Oracle常用基本操作
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;
除非注明,戊辰人博客文章均为原创,转载请以链接形式标明本文地址