Oracle数据库常用操作sql语句

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) 重启数据库结束


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章