1、参数文件(spfile,pfile)
路径:Unix/Linux $ORACLE_HOME/dbs ; Windows $ORACLE_HOME/database
spfile是二进制文件,不能直接查看。通过spfile 创建pfile文件,我们能够看到参数文件中的一些信息。
SQL> create pfile='$ORACLE_HOME/dbs/pfile.ora' from spfile;
File created.
SQL> !ls
alert_orcl.log hc_orcl.dat initmynewdb.ora lkLIWEI pfile.ora
hc_liwei.dat initdw.ora init.ora lkORCL spfileorcl.ora
hc_mynewdb.dat initliwei.ora initorcl.ora orapworcl
SQL> !vi pfile.ora
orcl.__db_cache_size=192937984
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=62914560
orcl.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=32
*.db_keep_cache_size=8388608
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=6
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
从Oracle 9i开始,spfile被引入Oracle数据库。Oracle选用参数文件的顺序。 spfile.ora -> spfile.ora -> init.ora
如果以上3个文件都不存在,Oracle将无法启动。
2、控制文件(control files)
路径:$ORACLE_BASE/oradata/orcl/control01.ctl
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
oradata/orcl/control02.ctl, /u
01/app/oracle/oradata/orcl/con
trol03.ctl
从文档上得知控制文件保存如下信息:
数据库名称以及数据库创建时间等。
所有数据文件和重做日志文件的名称和位置信息;
表空间信息;
OFFLINE数据文件信息;
重做日志及归档日志信息;
备份集及备份文件信息;
检查点以及SCN信息;
3.口令文件
路径:$ORACLE_HOME/dbs 缺省名称为orapw.
口令文件中存放着SYSDBA/SYSOPER用户的用户名及口令。
参数 remote_login_passwordfile 控制数据库是否使用文件认证方式。 EXCLUSIVE 表示文件认证
口令文件可以用于对具备sysdba/sysoper身份的用户进行登录认证,如果不存在该文件,则远程用户将无法使用这两个身份登录数据库。
在Oracle 10g中,数据库启动过程中,并没有检测口令文件。但有几种情况需要用到该文件。
1.在客户端以sysdba或者sysoper连接数据库时
SQL> conn sys/orcl@linux1 as sysdba
ERROR:
ORA-01031: 权限不足
SQL> conn sys/orcl@linux1 as sysdba
ERROR:
ORA-01031: 权限不足
2.给用户授予sysdba权限的时候。
SQL> grant sysdba to scott;
grant sysdba to scott
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
--------------------------------------------------------------------------------------
SQL> grant sysdba to scott;
Grant succeeded.
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SCOTT TRUE FALSE
4、LK文件以及作用
目录:$ORACLE_HOME/dbs目录下。
lk指lock,该文件在数据库第一次启动时创建,用于操作系统对数据的锁定。当数据库启动时获得锁定,数据库关闭时释放。