程序员对ORACLE,虽然不象ORACLE DBA那样牛,但也要掌握些基本的东西,因此小结之.
1 格式化输出
比如 col name(要显示的字段) for a20
2 查看命令参数
show parameter
查看SGA大小
show sga
3 启动数据库
nomount方式:该方式只有在创建数据库或重建控制文件时使用,当nomount的时,只是启动实例而不打开数据库,控制文件也不打开的,此时
会分配SGA,打开后台进行,打开警报文件和追踪文件.
mount方式的时候,主要在数据库维护阶段使用,如对表空间进行修复,修改数据文件,移动数据文件等.此时,将数据库与已启动的实例关联起来.
利用初始化参数打开控制文件.
open方式则启动实例,打开控制文件,打开所有的联机的数据文件和联机重做日志文件
改变状态
alter database open;
如果要设置为只读,可以
alter database read only;
修复为可用alter database read write;
4 将数据库设置为限制模式
设置为限制模式后,就是其他用户不能登陆了,一般用来维护..
startup restrict
顺带介绍用select sid,serial#,username,type from v$session
查出用户的sid和serial#,然后用
alter system kill session ('sid','serial');来杀死一个用户进程.
5 关闭数据库
分为shutdown immediata,shutdown normal,shutdown transcation,shutdown normal等,具体的有经典的四个模式对比表
其中
shutdown normal:等于一个商场里,商场已经关门,工作人员会不给新的人进入了(不允许新连接),但不会干涉目前正在商场的人,会
等他们购物完毕.
shutdown transcational :不允许新的连接了,对于在商场购买的人,才允许他们购买,否则闲人全部赶走,正在购买的人会等到交易完毕后
再走人,就是把事务进行完.
shutdown immediate:即等于有人卖非法东西,有人来查了,此时要把交易回滚,之后关门.
shutdown abort:商店起火,所有东西中断
6 数据字典的相关操作
操作举例
比如查看当前数据库的名等信息,可以这样
select name,created,log_mode,open_mode from v$database;
查看版本
select host_name,instance_name,version from v$instance;
查看控制文件
select * from v$controlfile;
查看重做日志配置信息
select group#,member,status,archived from v$log;
查看重做日志具体位置
select * from v$logfile;
查看归档信息
archive log list
查看表空间信息
col tablespace_name for a15
select tablespace_name,block_size,status,contents,logging from dba_tablspaces;
查看表空间具体位置信息
col file_name for a40
select file_id,file_name,tablespace_name,status from dba_data_files;
控制文件的备份
alter database backup controlfile to 'd:\xxxx\xxx.bak';
7 重做日志文件
获得信息
查看重做日志配置信息
select group#,member,status,archived from v$log;
增加重做日志文件组(注意放在不同的磁盘上)
alter database add logfile
('c:\xxxxx\redo03a.log','d:\xxxx\redo03b.log') size 15M;
这里是增加了第3个日志文件组,里面有两个成员了,大小是15M
删除某个不是当前活动的日志文件组
alter database drop logfile group 3;
当要删除当前活动日志组的时候,要先切换命令
alter system switch logfile;