oralce 常用sql
查看表空间及其数据文件
SELECT * FROM dba_data_files;
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。查看用户下的表
SELECT * FROM user_tables;
查看用户表的注释
SELECT * FROM user_tab_comments;
--查看用户表的字段注释
SELECT * FROM user_tab_comments;
--创建临时表空间
create temporary tablespace tablespace_name --表空间名称
tempfile '-------'--oracle文件路径
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
--创建数据表空间
create tablespace tablespace_name --test_data临时表空间名称
logging
datafile '-------'--oracle文件路径
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
--创建用户并指定表空间
create user username identified by password --username用户名称
default tablespace test_data --默认用户表空间
temporary tablespace test_temp; --默认临时表空间
--给用户授予权限
grant connect,resource to username;
grant dba to username
表资源被锁
----------------------------------------------------
SELECT t2.username,
t2.sid,
t2.serial#,
t3.object_name,
t2.osuser,
t2.machine,
t2.program,
t2.logon_time,
t2.command,
t2.lockwait,
t2.saddr,
t2.paddr,
t2.taddr,
t2.sql_address,
t1.locked_mode
FROM v$locked_object t1, v$session t2, dba_objects t3
WHERE t1.session_id = t2.sid
AND t1.object_id = t3.object_id
ORDER BY t2.logon_time;
--alter system kill session 'sid,serial#'; //杀死被锁的session
----------------------------------------------------
--删除空的表空间,但是不包含物理文件
drop tablespace tablespace_name;
--删除非空表空间,但是不包含物理文件
drop tablespace tablespace_name including contents;
--删除空表空间,包含物理文件
drop tablespace tablespace_name including datafiles;
--删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
--说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。
drop user username cascade
启动数据库
STARTUP
关闭数据库
1.SHUTDOWN NORMAL
发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。
采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意的是,采用这种方式,也许关闭一个数据库需要几天时间,或者更长。
2.SHUTDOWN IMMEDIATE
这是常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。
当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。
系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。
3.SHUTDOWN TRANSACTIONAL
该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。
在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。
4.SHUTDOWN ABORT
这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。
1、 数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库;
2、 需要立即关闭数据库;
3、 在启动数据库实例时遇到问题;
所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。
下一次启动数据库时需要进行实例恢复,因此,下一次启动可能比平时需要更多的时间。
启动实例
lsnrctl start
查看实例状态
lsnrctl status
