登录数据库,shell命令行执行
sqlplus ogg/oracle123 #ogg用户登录
sqlplus / as sysdba #超级用户登录
启动数据库
startup nomount --到非挂载模式
alter database mount; --到挂载模式
alter database archivelog; --启动归档
alter database open; --open
切换用户
conn ogg/oracle123; #切换到ogg用户,ogg用户密码为oracle123
conn / as sysdba; #切换到超级用户
查询未使用的表空间大小
select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;
查询oracle数据库名
SQL> SELECT name FROM v$database;
NAME
---------------------------
ORCL
查询oracle的实例名
SQL> select instance_name from v$instance;
INSTANCE_NAME
------------------------------------------------
orcl
查询oracle的服务名
SQL> select global_name from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL
查询所有表空间大小
select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
查询有哪些表空间
select tablespace_name from dba_tablespaces;
查询表空间有哪些表
select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME='表空间名';
查看当前用户的表
select table_name from user_tables;
查询表中数据
SQL> conn test_ogg/test_ogg;
Connected.
SQL> select * from test_ogg;
ID NAME
---------- ------------------------------------------------------------
2 test
3 test3
4 test4
5 test5
6 test6
7 test7
1 test
7 rows selected.
查询当前用户下的所有表
SQL> select table_name from user_tables;
TABLE_NAME
--------------------------------------------------------------------------------
TEST_USER
TEST3
TEST2
查看某个用户下的触发器
查看触发器
SQL> conn test/test;
SQL> select TRIGGER_NAME from USER_TRIGGERS;
TRIGGER_NAME
--------------------------------------------------------------------------------
TEST_USER_SEQ_TR
TEST2_SEQ_TR
删除触发器
SQL> DROP TRIGGER TEST2_SEQ_TR;
Trigger dropped.
确认是否删除
SQL> select TRIGGER_NAME from USER_TRIGGERS;
TRIGGER_NAME
--------------------------------------------------------------------------------
TEST_USER_SEQ_TR
查看某用户下序列名字
SQL> select sequence_name from user_sequences;
SEQUENCE_NAME
--------------------------------------------------------------------------------
TEST_USER_SEQ
SQL> select * from user_sequences;
SEQUENCE_NAME
--------------------------------------------------------------------------------
MIN_VALUE MAX_VALUE INCREMENT_BY CYC ORD CACHE_SIZE LAST_NUMBER SCA EXT SHA
---------- ---------- ------------ --- --- ---------- ----------- --- --- ---
SES KEE
--- ---
TEST2_SEQ
1 1.0000E+28 1 N N 20 1 N N N
N N
TEST_USER_SEQ
1 1.0000E+28 1 N N 20 10 N N N
N N
SEQUENCE_NAME
--------------------------------------------------------------------------------
MIN_VALUE MAX_VALUE INCREMENT_BY CYC ORD CACHE_SIZE LAST_NUMBER SCA EXT SHA
---------- ---------- ------------ --- --- ---------- ----------- --- --- ---
SES KEE
--- ---
SQL> DROP SEQUENCE TEST2_SEQ;
Sequence dropped.
确认是否删除
SQL> select * from user_sequences;
SEQUENCE_NAME
--------------------------------------------------------------------------------
MIN_VALUE MAX_VALUE INCREMENT_BY CYC ORD CACHE_SIZE LAST_NUMBER SCA EXT SHA
---------- ---------- ------------ --- --- ---------- ----------- --- --- ---
SES KEE
--- ---
TEST_USER_SEQ
1 1.0000E+28 1 N N 20 10 N N N
N N
查看test用户下的索引名字
SQL> conn test/test;
Connected.
SQL> select index_name from user_indexes;
INDEX_NAME
--------------------------------------------------------------------------------
SYS_C007616
TEST_MODIFIED_INDEX
SYS_C007628
删除空的表空间,但是不包含物理文件
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;
删除表中某一行数据
SQL> select * from student5;
SNO SNAME SSEX SBIRTHDAY SCLASS
---------- --------------------------- --------- --------------- ---------------
131 曾华 男 01-SEP-77 95033
132 曾华 男 01-SEP-77 95033
133 曾华 男 01-SEP-77 95023
134 牛顿 男 01-SEP-77 95023
135 牛顿 男 01-SEP-77 95023
132 牛顿 男 01-SEP-77 95023
132 牛顿 男 01-SEP-77 95023
133 牛顿 男 01-SEP-77 95023
134 牛顿 男 01-SEP-77 95023
135 牛顿 男 01-SEP-77 95023
136 霍金 男 01-SEP-77 95023
SNO SNAME SSEX SBIRTHDAY SCLASS
---------- --------------------------- --------- --------------- ---------------
138 爱因 男 01-SEP-77 95023
12 rows selected.
SQL> delete from student5 where sno=131;
1 row deleted.
SQL> select * from student5;
SNO SNAME SSEX SBIRTHDAY SCLASS
---------- --------------------------- --------- --------------- ---------------
132 曾华 男 01-SEP-77 95033
133 曾华 男 01-SEP-77 95023
134 牛顿 男 01-SEP-77 95023
135 牛顿 男 01-SEP-77 95023
132 牛顿 男 01-SEP-77 95023
132 牛顿 男 01-SEP-77 95023
133 牛顿 男 01-SEP-77 95023
134 牛顿 男 01-SEP-77 95023
135 牛顿 男 01-SEP-77 95023
136 霍金 男 01-SEP-77 95023
138 爱因 男 01-SEP-77 95023
11 rows selected.
SQL> drop user ogg cascade;
drop user ogg cascade
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected
SQL> select sid,serial# from v$session where username='ogg';
no rows selected
SQL> select sid,serial# from v$session where username='OGG';
SID SERIAL#
---------- ----------
1 61401
81 36607
SQL> alter system kill session '1,61401';
System altered.
SQL> alter system kill session '81,36607';
System altered.
SQL> drop user ogg cascade;
User dropped.