Oracle系统管理和系统资料获取的一些基本命令
资料获取自学习何明著作<<Oracle DBA 培训教程>>第二版之时.其中dba_开头的表需要有sysdba权限才能访问.
1. 获取数据库名字,创建日期,当前模式,日志模式等等:
SELECT name,created,log_mode,open_mode from v$database;
2. 获取运行实例的主机名,实例名,版本:
SELECT host_name,instance_name,version from v$instance;
3. 获取组件版本信息.
SELECT * from v$version;
4.获取控制文件信息.
SELECT * from v$controlfile;
5.获取日志文件信息.
SELECT * from v$logfile;
和
SELECT group#, members, bytes, status, archived from v$log;
6. 获取备份和恢复策略,以及归档文件位置.(也需要sysdba权限)
archived log list
7. 如果上面输出中的存档终点的值不是直接的目录而是 USE_DB_RECOVERY_FILE_DEST 的话,用以下语句获取最终信息.
SELECT name,value from v$parameter WHERE name = 'db_recovery_file_dest';
8.获取表空间信息.
SELECT tablespace_name, block_size, status, contents, logging from dba_tablespaces;
9. 获取数据文件信息.
SELECT file_id, file_name, tablespace_name, status, bytes from dba_data_files;
10. 在没有sysdba权限时,可以用以下语句来获取数据文件的储存位置信息.
SELECT name from v$datafile;
11. 获取用户信息.
SELECT username,created from dba_users;
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
select * from sys.smon_scn_time;
--scn 与时间的对应关系
每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入sys.smon_scn_time表。
select * from student as of scn 592258
就可以看到在这个检查点的表的历史情况。
然后我们恢复到这个检查点
insert into student select * from student a ......
下面是用scott用户测试的。
如果不知道当前用户是什么用户,可以输入: show user ,这样它就显示出当前用户是什么用户了.
如果想编辑已经输入到sqlplus中的代码,可以输入“ed”,然后回车就能弹出一个记事本,记事本里面有上一步输入的代码,修改代码并保存后关闭记事本,最后在sqlplus中输入“/”并击回 ......
GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。
关于ROLLUP和CUBE函数的使用,请参见我的另一篇文章。
http://blog.csdn.net/wh62592855/archive/2009/1 ......
虽然本人没有验证过,不过据说通过ADODB访问Oracle对性能影响很小.而且ADODB比OCI8也要方便很多,毕竟许多东西都再次封装过.不过不管怎么说这都在中间又加上了一层,理论上来说出现问题的几率和解决问题的难度都变大了.而Oracle又经常用在不能随便出问题的环境,所以想必想要直接使用OCI的情况也不少.以下就是我的例子:
<?p ......