1.--建立表空间
create tablespace cmdb_db datafile '\home\cmdb_11.dbf' size 100m autoextend on next 50m extent management local;
2.--建用户
create user cmdb_1023 identified by admin default tablespace cmdb_db;
3.--给权限
grant connect,resource,dba to cmdb_db;
4.--导入数据(在命令窗口执行)
imp cmdb/admin file=/home/cmdb_henan.dmp fromuser=cmdb_L touser=cmdb;
5.--导出数据
exp cmdn/admin owner=cmdb file=/u01/app/oracle/cmdb_heinan.dmp;
6.--删除表空间
drop tablespace CMDB_db including contents and datafiles;
7.--查看表空间与文件路径
select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;
8.--删除用户并删除用户下所有数据
drop user cmdb_perftests cascade;
删除过程中可能遇到报错:cannot drop a user that is currently connected 提示有人连接用户,不能够删除!此时请使用以下语句,删除连接再删用户。
select sid,serial# from v$session where username='CMDB_HLJ'; 查询CMDB_HLJ这个数据库正在连接的SID,SERIAL#
alter system kill session '54,5'; 杀死连接'SID,SERIAL'
alter system kill session '98,select * from sys.dba_tablespaces;23'; 杀死连接'SID,SERIAL'
alter system kill session '137,3'; 杀死连接'SID,SERIAL'
DROP USER CMDB_HLJ cascade; 删除用户
9.--查看表空间名称
select * from sys.dba_tablespaces;
10.--导出数据库,空表未导出问题(第一次导出时执行)
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
复制此语句的执行结果,删除所有不是alter table 开头的语句,再次执行复制的语句。
《注:连接用户为当前要执行的用户》
Orcale数据库与监听启动与停止操作
(1) 以oracle身份登录数据库,命令:su – oracle
(2) 进入Sqlplus控制台,命令:sqlplus /nolog
(3) 以系统管理员登录,命令:connect / as sysdba
(4) 启动数据库,命令:startup
(5) 如果是关闭数据库,命令:shutdown immediate
(6) 退出sqlplus控制台,命令:exit
(7) 进入监听器控制台,命令:lsnrctl
(8) 启动监听器,命令:start
(9) 退出监听器控制台,命令:exit
(10) 重启数据库结束