.
1.oracle开机启动流程
su - oracle
lsnrctl start
lsnrctl status
sqlplus / as sysdba
startup
2、如何查看数据库版本
select * from v$version;
3.如何查看用户从那个设备连接的数据库
SELECT DISTINCT machine , terminal FROM V$SESSION;
4.如何查看表结构
select * from all_tables where table_name like '%'
select * from all_tab_columns where table_name='table_name'
select * from all_tables where table_name like '%YZH_ORACLE'
select * from all_tab_columns where table_name='YZH_ORACLE'
5.如何查看最大会话数
SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';
show parameter processes;
数据库记录中曾经最大会话数
select * from v$license;
6.如何查询事务被锁时间
select * from v$locked_object ;
7.如何查询那些用户正在使用数据库
select username from v$session;
8.如何查得数据库的SID、以及是否归档
select * from v$database;
9.如何查询用户权限
SELECT * FROM DBA_SYS_PRIVS;
10.如何查询被锁对象
select *from V$LOCKED_OBJECT
select *from V$SESSION
11.如何生成随机数
select DBMS_RANDOM.RANDOM from dual;
12.查询当前用户对象
SELECT * FROM USER_OBJECTS; SELECT * FROM DBA_SEGMENTS;
13.如何获取错误信息
SELECT * FROM USER_ERRORS;
14.如何获取链接状况
SELECT * FROM DBA_DB_LINKS;
15.如何查看数据库字符状况
SELECT * FROM NLS_DATABASE_PARAMETERS;
SELECT * FROM V$NLS_PARAMETERS;
16.如何查询表空间信息
SELECT * FROM DBA_DATA_FILES;
17.如何给表、列加注释
comment on table STUDENT is '学生信息表'; --comment on table 表 is '表注释'; comment on column 表.列 is '列注释'; --comment on column 表.列 is '列注释';
18.如何查看各个表空间占用磁盘情况
select b.file_id 文件ID号,b.tablespace_name 表空间名,b.bytes 字节数,(b.bytes - sum(nvl(a.bytes, 0))) 已使用,sum(nvl(a.bytes, 0)) 剩余空间,sum(nvl(a.bytes, 0)) / (b.bytes) * 100 剩余百分比from dba_free_space a, dba_data_files bwhere a.file_id = b.file_idgroup by b.tablespace_name, b.file_id, b.bytesorder by b.file_id
19. 如何才能得知系统当前的SCN号
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;
20. 如何在字符串里加回车
select 'Welcome to visit'||chr(10)||'www.liuxiaobin.NET' from dual ;
21. 如何修改oracel数据库的默认日期
select sysdate from dual;
alter session set nls_date_format='yyyymmddhh24miss';
22.如何使select语句使查询结果自动生成序号
select rownum,2 from dual; --select rownum,COL_name from table_name;
23.如何知道数据库中某个表所在的tablespace?
--select tablespace_name from user_tables where table_name='表名';
select tablespace_name from user_tables where table_name='STUDENT';
24.如何快速做一个和原表一样的备份表?
--create table new_table as (select * from old_table);
create table BSYEARnew as (select * from BSYEAR);
25.如何查看数据库的状态
ps -ef | grep ora
26.如何查看表空间数据文件位置
select t1.name, t2.namefrom v$tablespace t1
inner join v$datafile t2on t1.ts# = t2.ts#;
26.如何修改表空间数据文件大小
alter database datafile '/opt/oracle/oradata/ORCLCDB/YZH.dbf' resize 300M;
27.如何查看ORACLE中有哪些程序在运行之中
select *from v$session;
28.如何看数据库有多少个tablespace
select * from dba_tablespaces;
29.查询SPFILE文件路劲
show parameter spfile;
30.如何查看哪些用户拥有SYSDBA、SYSOPER权限
select * from V_$PWFILE_USERS;
31.如何单独备份一个或多个表
方案1
--备份create table table_new as select * from table_old;
--恢复truncate table org_group;
--insert into org_group select * from table_new ;
create table "C##ROOTUSER".BSYEARNEWG as select * from "C##ROOTUSER".BSYEARNEW;truncate table "C##ROOTUSER".BSYEARNEW;insert into "C##ROOTUSER".BSYEARNEW select * from "C##ROOTUSER".BSYEARNEWG ;
32.查询一下当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
33.如何显示当前连接用户
SHOW USER
34.如何查看数据文件放置的路径
select tablespace_name, file_id, bytes / 1024 / 1024, file_namefrom dba_data_filesorder by file_id;
35.如何查看现有回滚段及其状态
SELECT SEGMENT_NAME, TABLESPACE_NAME, SEGMENT_ID, FILE_ID, STATUSFROM DBA_ROLLBACK_SEGS
36、Oracle常用视图
A、DBA视图
(1)指定表空间的数据文件及所在的路径
select * from dba_data_files;
(2)指定表空间的剩余空间
select * from dba_free_space
(3)找出当前数据库实例中的所有用户
select * from dba_users
(4)找出当前数据库实例中的所有对象的物理信息
select * from dba_segments
(5)指定所有表对应的列名
select * from dba_tab_columns
(6)指定所有列的注释信息
select * from dba_col_comments
(7)列出所有的表空间及相关信息
select * from dba_tablespaces
(8) 所有表分区的信息
select * from dba_tab_partitions
(9)显示所有的有索引的列
select * from dba_ind_columns
(10)显示所有的索引信息
select * from dba_indexes
(11)显示所有的job信息
select * from dba_jobs
select * from dba_jobs_running
B、V$视图
(1)查看当前进程信息
select * from v$PROCESS
(2)查看当前锁信息
select * from v$lock
(3)查看当前会话信息
select * from v$session
(4)数据库的基本信息
select * from v$database
(5)数据文件信息
select * from v$datafile
(6)日志文件信息
select * from v$logfile
(7)控制文件信息
select * from v$controlfile
(8)参数信息
select * from v$parameter;
(9)查备份以及恢复
select *from V$BACKUP_SYNC_IO
select *from V$BACKUP_ASYNC_IO
(10)查询数据库坏块
select *from V$DATABASE_BLOCK_CORRUPTION
(11)查询那个事务在使用回滚段
select *from V$TRANSACTION
(12)当前实例中undo空间以及事务如何运行。并统计undo空间开销,事务开销以及实例可用的查询长度
select *from V$UNDOSTAT
(13)实列信息
SELECT * FROM V$INSTANCE;
37.如何快速清空一个大表
--truncate table table_name;
truncate table "C##ROOTUSER".YZH_ORACLE;
38、如何查询数据库有多少表?
select * from all_tables;