Oracle常用命令

1.链接:

1.1 超级管理员命令行登陆:

sqlplus / as sysdba;

1.2 普通用户登陆:

sqlplus test/[email protected]:1521/orcl

1.3 查看当前数据库有几个用户在链接:

select username,sid,serial# from v$session; 

1.4 退出命令行:

exit
quit

2.表空间:

2.1 查看用户所在的表空间:

select username,default_tablespace from user_users;

2.2 查看表空间下有哪些表:

select * from dba_tables where tablespace_name='EOMS'

2.3 查看表空间大小:

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;

2.4 创建表空间并指定数据文件

CREATE TABLESPACE test_data                               //创建表空间test_data
LOGGING
DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST_DATA01.DBF'    //创建的数据文件
SIZE 32M                                                            //初始大小
AUTOEXTEND ON                                                                //数据文件自动扩容
NEXT 32M MAXSIZE 2048M;

2.5 创建临时表空间:

CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE 'D:\oracle\product\10.2.0\oradata\orcl\test_temp01.dbf'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M

2.6 删除表空间及数据文件:

drop tablespace test_data including contents and datafiles;

2.7 创建用户并指定表空间:

CREATE USER xiaoming IDENTIFIED BY xm123                  // 创建用户 xiaoming ,设置密码为 xm123
DEFAULT TABLESPACE TEST_DATA                                    // 指定默认表空间为 test_data
TEMPORARY TABLESPACE TEST_TEMP;                            // 指定临时表空间为 test_temp

2.8 查看表空间的名字和地址:

select file_name , tablespace_name from dba_data_files;

3.用户:

3.1 查询当前用户下的所有表:

select * from user_tables;

3.2 查询当前用户下的所有表和表说明:

select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name;

3.3 查看当前用户的角色:

select * from user_role_privs;

3.4 查看当前用户的系统权限:

select * from user_sys_privs;

3.5 查看当前用户的表级权限:

select * from user_tab_privs;

4.表:

4.1 查看某表的大小:

select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');

4.2 查询当前表的所有字段:

SELECT * FROM user_tab_cols where table_name='EOMS_PROCESS_STATE';

4.3 查询当前表的所有字段和字段说明:

select * from user_col_comments where table_name='EOMS_PROCESS_STATE'

4.4 查看包含log字符的所有表:

select object_name,object_id from user_objects where instr(object_name,'ACCOUNT')>0;

4.5 查看某表的创建时间:

select * from user_objects where object_name=upper('test');

5. 索引:

5.1 查看索引个数和类别:

select index_name,index_type,table_name from user_indexes order by table_name;

5.2 查看索引被索引的字段:

select * from user_ind_columns where index_name=upper('indexname');

5.3 查看索引的大小:

select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('indexname');

6.序列:

6.1 创建序列:

create sequence seq_newsId
increment by 1
start with 1
maxvalue 999999999
cache 10

6.2 获取序列:

select seq_newsid.nextval from dual;

6.3 删除序列:

DROP SEQUENCE seq_newsId;

6.4 查看序列:

select * from user_sequences;

7.同义词:

7.1 创建同义词:

create public synonym table_name for user.table_name;

7.2 删除同义词:

drop public synonym table_name;

7.3 查看同义词:

select * from dba_synonyms

8.视图:

8.1 创建视图:

create or REPLACE view p_rate  
AS  
select r.userid,r.rateset,p.usercode,p.username,p.alipayid   
from rate r,pro_user p where r.userid=p.userid;  

8.2 删除视图:

drop view p_rate  

8.3 查看视图:

SELECT * FROM p_rate  

9.DBLINK:

9.1 创建dblink:

create public database link dblinkname connect to username identified by password
   using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = database_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME =servicename)
)
)';

9.2 删除dblink:

drop public database link dblinkname;

9.3 查看dblink:

select * from dba_db_links;

10.存储过程和函数:

10.1 查看存储过程:

select object_name,status from user_objects where object_type='PROCEDURE'; 

10.2 查看函数:

select * from user_objects where object_type='FUNCTION'; 

10.3 查看存储过程和函数的源代码:

select * from all_source where owner=user and name=upper('&plsql_name'); 

11.查看版本:

Select version FROM Product_component_version
Where SUBSTR(PRODUCT,1,6)='Oracle';
select * from v$version;

12.查看日志文件:

select member from v$logfile;

13.导入导出:

13.1 exp导出:

exp system/manager file=d:\iom.dmp

13.2 imp导入:

imp abc/ABC file=/home/oracle/iom.dmp log=/home/oracle/iom.log full=y ignore=y;

13.3 创建目录:

CREATE OR REPLACE DIRECTORY dump_scott AS 'F:\expbak';

13.4 授权目录:

grant read, write on directory dump_scott to john;

13.5 查看目录:

select * from dba_directories;

13.6 删除目录:

drop directory exp_dir;

13.7 expdp导出:

expdp scott/tiger directory=dump_scott dumpfile=dumpscott.dmp logfile=exp.log schemas=scott 

13.8 impdp导入:

impdp EXPDPTEST/EXPDPTEST directory=dump_dir1 dumpfile=dumpscott.dmp logfile=imp.log REMAP_SCHEMA=scott:EXPDPTEST REMAP_TABLESPACE=EXPTABS:IMPTABS



猜你喜欢

转载自blog.csdn.net/qq_21963133/article/details/80134542