当前位置: 首页 > news >正文

【数据库管理】②实例管理及数据库启动关闭

1. 实例和参数文件

1.1 instance

用于管理和访问 database.

instance 在启动阶段读取初始化参数文件(init parameter files).

1.2 init parameter files

[root@oracle-db-19c ~]# su - oracle
[oracle@oracle-db-19c ~]$ 
[oracle@oracle-db-19c ~]$ cd $ORACLE_HOME/dbs
[oracle@oracle-db-19c dbs]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@oracle-db-19c dbs]$ ll
total 10261428
-rw-rw----. 1 oracle oinstall     1544 Mar 30 11:17 hc_cdb1.dat
-rw-r--r--. 1 oracle oinstall     1188 Feb  2 19:19 initcdb1.ora
-rw-r--r--. 1 oracle oinstall     3079 May 14  2015 init.ora
-rw-r--r--. 1 oracle oinstall     3079 May 14  2015 init.ora.bkp
-rw-r-----. 1 oracle oinstall       24 Nov  2 15:03 lkCDB1
-rw-r-----. 1 oracle oinstall     3072 Feb  1 13:41 orapwcdb1
-rw-r-----. 1 oracle oinstall 18989056 Mar 30 11:23 snapcf_cdb1.f
-rw-r-----. 1 oracle oinstall     3584 Mar 30 11:17 spfilecdb1.ora
-rw-r-----. 1 oracle oinstall     3584 Nov 27 16:55 spfilecdb1.ora.bkp
[oracle@oracle-db-19c dbs]$ 

 1.3 pfile

(parameter file)文本初始化参数文件 -- 静态参数文件.

1)文本文件,必须通过编辑器修改参数.

2)修改参数下次重启实例才生效.

3)pfile参数文件可以不在database server上.

命名方式: init+SID.ora

1.4 spfile

(system parameter file)服务器参数文件 -- 动态参数文件.

1)二进制文件,不可以通过编辑器修改.

2)Linux下strings 可以查看 .

3)必须在database server段的指定路径下.
 

[oracle@oracle-db-19c dbs]$ string spfilecdb1.ora

1.5 静态参数和动态参数 (和动态静态参数文件两码事)

在spfile读到内存后,有一部分参数是可以直接在内存中修改,并对当前instance立即生效,这样的参数叫动态参数.除了动态参数都是静态参数.静态参数修改spfile文件.动态参数在instance关闭后失效,而静态参数是下次instance启动后才生效.

1.5.1 修改spfile文件的方法:

alter system set 参数=值 [scope=memory |spfile |both]
alter system reset 参数 [scope=memory |spfile |both] SID='*'  -- 恢复缺省值.

第一种scope=memory 参数修改立刻生效,但不修改spfile文件.

第二种scope=spfile 修改了spfile文件,重启后生效.

第三种scope=both 前两种都要满足.

如果不写scope,即缺省,那就是第三种.

*NOTE: 如果不修改spfile,将无法更改静态参数.

-- 通过查看v$parameter ,可以确定哪些参数可以在memory修改,制定scope.
SQL> desc v$parameter;Name                                                                                                              Null?    Type----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------NUM                                                                                                                        NUMBERNAME                                                                                                                       VARCHAR2(80)TYPE                                                                                                                       NUMBERVALUE                                                                                                                      VARCHAR2(4000)DISPLAY_VALUE                                                                                                              VARCHAR2(4000)DEFAULT_VALUE                                                                                                              VARCHAR2(255)ISDEFAULT                                                                                                                  VARCHAR2(9)ISSES_MODIFIABLE                                                                                                           VARCHAR2(5)ISSYS_MODIFIABLE                                                                                                           VARCHAR2(9)ISPDB_MODIFIABLE                                                                                                           VARCHAR2(5)ISINSTANCE_MODIFIABLE                                                                                                      VARCHAR2(5)ISMODIFIED                                                                                                                 VARCHAR2(10)ISADJUSTED                                                                                                                 VARCHAR2(5)ISDEPRECATED                                                                                                               VARCHAR2(5)ISBASIC                                                                                                                    VARCHAR2(5)DESCRIPTION                                                                                                                VARCHAR2(255)UPDATE_COMMENT                                                                                                             VARCHAR2(255)HASH                                                                                                                       NUMBERCON_ID                                                                                                                     NUMBERSQL> 

1.5.2 ISSYS_MODIFIABLE

SQL> select distinct issys_modifiable from v$parameter;ISSYS_MODIFIABLE
---------------------------
IMMEDIATE                        -- (动态参数)对应scope=memory
DEFERRED                         -- 其他session有效
FALSE                            -- (静态参数)只能scope=spfile,即修改spfile文件,下次启动才生效.SQL> 

1.5.3 ISSES_MODIFIABLE

SQL> 
SQL> -- 对应alter session命令,即session级修改
SQL> select distinct isses_modifiable from v$parameter;ISSES_MODIFIABL
---------------
TRUE
FALSESQL> select ISSES_MODIFIABLE, ISSYS_MODIFIABLE from v$parameter where name='sql_trace';ISSES_MODIFIABL ISSYS_MODIFIABLE
--------------- ---------------------------
TRUE            IMMEDIATESQL> -- 这个结果表示 sql_trace参数在session级别可以改,在system级也可以both修改(动态参数).
SQL> 

1.6 startup时读取参数文件

找到$ORACLE_HOME/dbs目录,顺序是优先spfile启动,没有 spfile 才从pfile启动.

1.6.1 查看启动的参数

SQL> 
SQL> show parameter spfile;NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
spfile                               string                            /u01/app/oracle/product/19.3.0/dbhome_1/dbs/spfilecdb1.ora
SQL> -- 如果Value有值 说明是spfile,否则pfile启动

1.6.2 pfile和spfile可以相互生成

SQL> create pfile from spfile;
SQL> create spfile from pfile;
create spfile from pfile
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance

1.6.3 通过当前内存参数生成pfile和spfile

-- (11g新特性):
SQL> create pfile from memory;
SQL> create spfile from memory;

1.6.4 使用pfile启动

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> 
SQL> startup pfile=$ORACLE_HOME/dbs/initcdb1.ora
ORACLE instance started.Total System Global Area  629145392 bytes
Fixed Size                  9137968 bytes
Variable Size             406847488 bytes
Database Buffers          197132288 bytes
Redo Buffers               16027648 bytes
Database mounted.
Database opened.
SQL> 
SQL> show parameter spfileNAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile                               stringSQL> -- *NOTE:
SQL> -- 如果使用pfile启动,设置scope=spfile将失败!(因为是pfile启动的)
SQL> -- 但可以设置scope=memory,要修改pfile 文件,使用文本编辑工具.
SQL> show parameter log_bufferNAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
log_buffer                           big integer
15000K
SQL> alter system set log_buffer=1 scope=spfile;
alter system set log_buffer=1 scope=spfile
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE is in useSQL> -- 设置scope=memory
SQL> show parameter db_16NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_16k_cache_size                    big integer
0
SQL> --- 如果db_16k_cache_size的值不为0的话,则需要执行alter system set db_16k_cache_size=0 scope=memory;
SQL> startup force
ORACLE instance started.Total System Global Area  629145392 bytes
Fixed Size                  9137968 bytes
Variable Size             419430400 bytes
Database Buffers          184549376 bytes
Redo Buffers               16027648 bytes
Database mounted.
Database opened.
SQL> 

2. 数据库启动与关闭

2.1 启动分为三个阶段

 2.1.1 nomount阶段

实例启动,读取init parameter

SQL> 
SQL> startup nomount;
ORACLE instance started.Total System Global Area  629145392 bytes
Fixed Size                  9137968 bytes
Variable Size             419430400 bytes
Database Buffers          184549376 bytes
Redo Buffers               16027648 bytes
SQL> -- (这条命令很实用,是看当前数据库启动的状态,有三个 started, mounted, open.)
SQL> select status from v$instance;STATUS
------------------------------------
STARTEDSQL> 

2.1.2 mount阶段:

读取控制文件

SQL> alter database mount;Database altered.SQL> -- 刻意将数据库状态改成mounted
SQL> select status from v$instance;STATUS
------------------------------------
MOUNTEDSQL> 

2.1.3 open阶段:

1、检查所有的datafile、redo log、 group 、password file.

2、检查数据库的一致性(controlfile、datafile、redo file的检查点是否一致)

SQL> alter database open;Database altered.SQL> -- 刻意将数据库状态改成open
SQL> select file#, checkpoint_change# from v$datafile;FILE# CHECKPOINT_CHANGE#
---------- ------------------1           238547253           238547254           238547255            21607896            21607897           238547258            21607899           2385486710           2385486711           2385486712           23854867FILE# CHECKPOINT_CHANGE#
---------- ------------------13           2385486114           2385486115           2385486116           2385486185           23854867126           23854867127           23854867154           23854867155           23854725162           21742070163           23854867FILE# CHECKPOINT_CHANGE#
---------- ------------------164           21742070165           21742070166           21742070169           23854867181           2385486727 rows selected.SQL> -- 从控制文件读出
SQL> select checkpoint_change# from v$database;CHECKPOINT_CHANGE#
------------------23854725SQL> -- 从控制文件读出
SQL> select file#, checkpoint_change# from v$datafile_header;FILE# CHECKPOINT_CHANGE#
---------- ------------------1           238547253           238547254           238547255            21607896            21607897           238547258            21607899           2385486710           2385486711           2385486712           23854867FILE# CHECKPOINT_CHANGE#
---------- ------------------13           2385486114           2385486115           2385486116           2385486185           23854867126           23854867127           23854867154           23854867155           23854725162           21742070163           23854867FILE# CHECKPOINT_CHANGE#
---------- ------------------164           21742070165           21742070166           21742070169           23854867181           2385486727 rows selected.SQL> -- 从 datafile header 读出
SQL> -- 数据库open之前要检查controlfile所记录SCN和datafile header 记录的SCN是否一致;一致就正常打开库,不一致需要做media recover
SQL> select status from v$instance;STATUS
------------------------------------
OPENSQL> 

2.2 启动数据库时的特殊选项

SQL> alter database open read only;
SQL> startup force
SQL> startup upgrade						-- (只有sysdba能连接)
SQL> startup restrict						-- (有restrict session权限才可登录,sys不受限制)
SQL> alter system enable restricted session;-- (open后再限制)

2.3 实例关闭shutdown:

SQL> shutdown normal:					-- 拒绝新的连接,等待当前事务结束,等待当前会话结束,生成检查点
SQL> shutdown transactional:			-- 拒绝新的连接,等待当前事务结束,生成检查点
SQL> shutdown immediate:				-- 拒绝新的连接,未提交的事务回滚,生成检查点
SQL> shutdown abort(startup force):		-- 事务不回滚,不生成检查点,下次启动需要做 instance  recovery

 *NOTE: shutdown abort 不会损坏database. -- 实例保护

 如下是关闭选项

2.3.1 SHUTDOWN NORMAL

如果不指定模式,则默认关闭模式为NORMAL.正常关闭数据库时会发生以下情况:

• 不可以建立新连接.

• Oracle 服务器在完成关闭之前先等待所有用户断开连接.

• 数据库和重做缓冲区被写入磁盘.

• 后台进程终止,从内存中删除SGA.

• Oracle 服务器在关闭实例之前关闭并卸装数据库.

• 下一次启动不需要进行实例恢复.

2.3.2 SHUTDOWN TRANSACTIONAL

采用TRANSACTIONAL 关闭方式可防止客户机丢失数据,其中包括客户端当前活动的结果.执行事务处理数据库关闭时会发生以下情况:

 

• 任何客户机都不能在这个特定实例上启动新事务处理.

• 会在客户机结束正在进行的事务处理后断开客户机.

• 完成所有事务处理后立即执行关闭.

• 下一次启动不需要进行实例恢复.

 2.3.3 SHUTDOWN IMMEDIATE

采用IMMEDIATE 关闭模式会出现以下情况:

• Oracle DB 正在处理的当前SQL 语句不会完成执行.

• Oracle 服务器不会等待当前连接到数据库的用户断开连接.

• Oracle 服务器会回退活动的事务处理,并会断开所有连接用户.

• Oracle 服务器在关闭实例之前关闭并卸装数据库.

• 下一次启动不需要进行实例恢复.

注:IMMEDIATE 是使用Enterprise Manager 时的默认关闭模式.

2.3.4 SHUTDOWN ABORT

如果NORMAL、TRANSACTIONAL 和IMMEDIATE 关闭模式都不起作用,则可以选择中止当前的数据库实例.中止实例时会发生以下情况:

• Oracle DB 正在处理的当前SQL 语句会立即终止.

• Oracle 服务器不等待当前连接到数据库的用户断开连接.

• 数据库和重做缓冲区未写入磁盘.

-- Dirty buffers in the buffer cache and unwritten redo are not written to the data files and redo log files respectively

• 不回退未提交的事务处理.

• 实例终止,但不关闭文件.

• 数据库未关闭或未卸装.

• 下一次启动时需要进行实例恢复,实例恢复是自动进行的.

 注:不建议备份处于不一致状态的数据库.

3. 自动诊断信息库ADR

11g新特性:Automatic Diagnostic Repository

存储在操作系统下的一个目录(树)结构,包括: 预警日志文件,跟踪文件,健康检查,DUMP 转储文件等

11g 用 DIAGNOSTIC_DEST 一个参数代替了许多老版本的参数,如 BACKGROUND_DUMP_DEST,CORE_DUMP_DEST,USER_DUMP_DEST等.

3.1 ADR的基目录

[oracle@oracle-db-19c ~]$ 
[oracle@oracle-db-19c ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Thu Mar 30 14:43:44 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show user;
USER is "SYS"
SQL> 
SQL> set pagesize 200 linesize 200
SQL> 
SQL> show parameter diagNAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
diagnostic_dest                      string                            /u01/app/oracle-- NOTE:  这是ADR的基目录
-- 如果你设置了ORACLE_BASE环境变量,则diagnostic_dest默认值被设置为同样的目录,否则oracle设置的目录是$ORALE_HOME/logSQL> show parameter dumpNAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
background_core_dump                 string                            partial
background_dump_dest                 string                            /u01/app/oracle/product/19.3.0/dbhome_1/rdbms/log
core_dump_dest                       string                            /u01/app/oracle/diag/rdbms/cdb1/cdb1/cdump
max_dump_file_size                   string                            unlimited
shadow_core_dump                     string                            partial
user_dump_dest                       string                            /u01/app/oracle/product/19.3.0/dbhome_1/rdbms/log
SQL> 

 在 oracle 11g 中,故障诊断及跟踪的文件路径改变较大,告警文件分别以两种文件格式存在,xml的文件格式和普通文本格式.这两份文件的位置分别是V$DIAG_INFO中的Diag Alert 和Diag Trace 对应的目录.

熟悉9i的话,会发现11g将bdump和udump合并到一个目录/u01/diag/rdbms/XXXX/trace下了.

-- 其命名方法依然是
Background Trace Files	(针对background process) : 	SID_processname_PID.trc	如: orcl_m001_5616.trc 
User Trace Files		(针对server process) : 		SID_ora_PID.trc  		如: orcl_ora_6278.trc
-- 另外增加.trm(trace map)文件,记录trc文件的结构信息.SQL> col NAME format a20
SQL> col VALUE format a30
SQL> col INST_ID default
SQL> select * from V$DIAG_INFO;INST_ID NAME                 VALUE                              CON_ID
---------- -------------------- ------------------------------ ----------1 Diag Enabled         TRUE                                    01 ADR Base             /u01/app/oracle                         01 ADR Home             /u01/app/oracle/diag/rdbms/cdb          01/cdb11 Diag Trace           /u01/app/oracle/diag/rdbms/cdb          01/cdb1/trace1 Diag Alert           /u01/app/oracle/diag/rdbms/cdb          01/cdb1/alert1 Diag Incident        /u01/app/oracle/diag/rdbms/cdb          01/cdb1/incident1 Diag Cdump           /u01/app/oracle/diag/rdbms/cdb          01/cdb1/cdump1 Health Monitor       /u01/app/oracle/diag/rdbms/cdb          01/cdb1/hm1 Default Trace File   /u01/app/oracle/diag/rdbms/cdb          01/cdb1/trace/cdb1_ora_60719.trc1 Active Problem Count 0                                       01 Active Incident Coun 0                                       0t1 ORACLE_HOME          /u01/app/oracle/product/19.3.0          0/dbhome_112 rows selected.SQL> 

 3.2 Diag Trace

其中Diag Trace对应的目录里为文本格式的告警日志和跟踪文件,并沿用在10g中命名方法

告警日志:alter_SID.log 包含通知性的消息,如数据库启动或关闭,以及有关 TBS创建和删除的信息,也包括一些内部错误信息等.

alter_SID.log不断增长,定期清理是必要的

$cat dev/null > alert_orcl.log	# 将文件清空或
$rm alter_orcl.log              # 删掉也没有关系,下次启动会自动创建(NOTE)

检查告警日志和跟踪文件的有关错误信息的记录,如LGWR不能写日志组时,会创建一个跟踪文件,并将一条信息放入告警日志.

 

[oracle@oracle-db-19c log]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/rdbms/log
[oracle@oracle-db-19c log]$ tail -f alert_cdb1.log 
Wed Nov 30 10:26:15 2022
Process termination requested for pid 2613 [source = rdbms], [info = 2] [request issued by pid: 2607, uid: 1501]^C
[oracle@oracle-db-19c log]$

 3.3 查看预警日志

 每个数据库都有一个alert_sid.log文件.此文件位于数据库所在的服务器中,如果设置了ORACLE_BASE,则此文件默认存储在相同的目录$ORACLE_BASE/diag/rdbms/db_name/SID/trace中.

使用以下命令可以查询警告日志位置

SQL> SHOW PARAMETER BACKGROUND_DUMP_DEST;NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
background_dump_dest                 string                            /u01/app/oracle/product/19.3.0/dbhome_1/rdbms/log
SQL> 

 数据库预警文件是按时间顺序列出消息的日志文件,例如:

l 启动时使用的任何非默认初始化参数

l 已发生的所有Internal Error内部错误(ORA-600)、data block corrupted块损坏错误(ORA-1578)和deadlock errors死锁错误(ORA-60)

l 管理操作,如SQL 语句CREATE、ALTER、DROP DATABASE 和TABLESPACE,以及Enterprise Manager 或SQL*Plus 语句STARTUP、SHUTDOWN 、ARCHIVE LOG和RECOVER

l 与共享服务器和分派程序进程的功能相关的多个消息和错误

l 自动刷新实体化视图时发生的错误

Oracle DB 使用预警日志来保留这些事件的记录,以此作为在操作员控制台上显示这些信息的替代方法.(许多系统会同时在控制台中显示这些信息).例如管理操作成功完成,系统会将”completed(已完成)”消息和一个时间戳写入预警日志中.

Enterprise Manager 可监视预警日志文件,并向你通知严重的错误.你还可以查看日志,以检查不严重的错误和参考性消息.由于预警文件会增长到无法管理的大小,因此可以定期备份该文件,并删除当前的预警文件.当数据库尝试再次写入预警文件时,会重新创建一个新预警文件.

注:$ORACLE_BASE/diag/rdbms/db_name/SID/alert 目录中有一个XML 版本的预警日志.

 

3.4 DDL Log(12c新特性)

 

在之前的版本中没有可选方法来对DDL操作进行日志记录.而在12c R1中,可以将DDL操作写入xml和日志文件中.这对于了解谁在什么时间执行了create或drop命令是十分有用的.要开启这一功能必须对ENABLE_DDL_LOGGING 初始参数加以配置.这一参数可以在数据库或会话级别设置.当此参数为启用状态,一些DDL命令会记录在$ORACLE_BASE/diag/rdbms/DBNAME/log/ddl 路径下(非alert log里)的xml和日志文件中.一个xml中包含DDL命令,IP地址,时间戳等信息.这可以帮助确定在什么时候对用户或表进行了删除或是一条DDL语句在何时触发.

The DDL log is a file that has the same format and basic behavior as the alert log, but it only contains the DDL statements issued by the database. The DDL log is created only for the RDBMS component and only if the ENABLE_DDL_LOGGING initialization parameter is set to true. When this parameter is set to false, DDL statements are not included in any log.

The DDL log contains one log record for each DDL statement issued by the database. The DDL log is included in IPS incident packages.

There are two DDL logs that contain the same information. One is an XML file, and the other is a text file. The DDL log is stored in the log/ddl subdirectory of the ADR home.

When ENABLE_DDL_LOGGING is set to true, the following DDL statements are written to the log:
 

l ALTER/CREATE/DROP/TRUNCATE CLUSTER

l ALTER/CREATE/DROP FUNCTION

l ALTER/CREATE/DROP INDEX

l ALTER/CREATE/DROP OUTLINE

l ALTER/CREATE/DROP PACKAGE

l ALTER/CREATE/DROP PACKAGE BODY

l ALTER/CREATE/DROP PROCEDURE

l ALTER/CREATE/DROP PROFILE

l ALTER/CREATE/DROP SEQUENCE

l CREATE/DROP SYNONYM

l ALTER/CREATE/DROP/RENAME/TRUNCATE TABLE

l ALTER/CREATE/DROP TRIGGER

l ALTER/CREATE/DROP TYPE

l ALTER/CREATE/DROP TYPE BODY

l DROP USER

l ALTER/CREATE/DROP VIEW

SQL> ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;
-- 以下的DDL语句可能会记录在xml或日志文件中:
CREATE|ALTER|DROP|TRUNCATE TABLE
DROP USER
CREATE|ALTER|DROP PACKAGE|FUNCTION|VIEW|SYNONYM|SEQUENCE
-- ADR的概述在053试题中较多,因为它涉及了11g在数据库自动管理方面的一些重要知识,如度量、阀值、预警系统、健康监测等等

 4. 口令文件

PASSWORD FILE

oracle登录认证方式有多种

4.1 sys的两种常用的登录认证方式

OS认证(本地认证、操作系统认证)和口令文件认证.

1).OS认证

:本地认证方式.Oracle不验证用户密码,前提:用户必须属于DBA组,且使用本地登录.

如: sqlplus a / as sysdba

2).口令文件认证

:是一种网络远程认证方式,只有sysdba权限的用户可以使用口令文件,必须输入密码和网络连接符.

如: sqlplus sys/PWD@orcl as sysdba

4.2 普通用户登录

普通用户是指没有sysdba权限的用户,比如system、scott,登录都必须输入口令,不管是本地或者远程,它们的口令密码不是以文件形式存放的,而是由 oracle保管在其内部的数据字典里.

本节讨论的口令文件是 sysdba 用户的远程登录认证密码文件,主要用于 sys 用户远程登录的认证.

位置: $ORACLE_HOME/dbs/orapwSID, 所谓口令文件,指的就是sys的口令文件,可以通过 remote_login_passwordfile参数控制是否生效

4.3 remote_login_passwordfile

none		-- 拒绝sys用户从远程连接
exclusive	-- sys用户可以从远程连接
share		-- 多个库可以共享口令文件
SQL> show parameter rem
NAME							TYPE			VALUE
------------------------------	------------	-----------------------------------
remote_dependencies_mode		string			TIMESTAMP
remote_listener					string
remote_login_passwordfile		string			EXCLUSIVE
remote_os_authent				boolean	FALSE
remote_os_roles					boolean	FALSE
result_cache_remote_expiration	integer	0

4.4 sec_case_sensitive_logon

通过设置参数为TURE,可以让口令是大小写敏感的(11g新特性)

SQL> 
SQL> show parameter caseNAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
sec_case_sensitive_logon             boolean                           TRUE
SQL> 

4.5 重建口令文件

[oracle@oracle-db-19c ~] $ cd $ORACLE_HOME/dbs
[oracle@oracle-db-19c dbs] $ ll
total 32
-rw-rw---1 oracle oinstall 1544 Sep 13 22:36 hc_orcl.dat
-rw-r--r-- 1 oracle oinstall 2992 Feb 3 2012 init.ora
-rw-r--r-- 1 oracle oinstall 1026 Sep 12 22:14 initorcl.ora
-rw-r----- 1 oracle oinstall   24 Aug 18 22:02 lkORCL
-rw-r----- 1 oracle oinstall 7680 Aug 18 22:08 orapworcl
-rw-r----- 1 oracle oinstall 2165 Aug 18 22:02 orcl.ora
-rw-r----- 1 oracle oinstall 3584 Sep 13 22:38 spfileorcl.ora
-- $ORACLE_HOME/dbs放参数文件和(sys)口令文件的地方, orapworcl就是sys口令文件
-- 你可以先删掉它,再创建它: 使用orapwd命令创建新的sys口令文件:
[oracle@oracle-db-19c dbs]$ rm orapworcl	-- 删除sys口令文件
-- 远程无法登陆sql
-- 重新建立口令文件
-- 注意:  file=orapw+sid的写法
[oracle@oracle-db-19c dbs]$ orapwd file=orapworcl password=Oracle#2020 entries=5 force=y		
-- entries的含义是表示口令文件中可包含的SYSDBA/SYSOPER权限登录的最大用户数5.

5. 恢复scott 案例

-- 如果scott用户被误删,可以通过执行下列脚本重新建立.
SQL> drop user scott cascade;
SQL> @$ORACLE_HOME/rdbms/admin/utlsampl.sql
-- (不是所有案例都有恢复脚本,HR就没有)

http://www.lryc.cn/news/45661.html

相关文章:

  • 【2023】Kubernetes之Pod与容器状态关系
  • LabVIEW阿尔泰PCIE 5654 例程与相关资料
  • spark2.4.4有哪些主要的bug
  • 信息学奥赛一本通 1347:【例4-8】格子游戏
  • acwing3417. 砝码称重
  • 生成式 AI:百度“文心一言”对标 ChatGPT?什么技术趋势促使 ChatGPT 火爆全网?
  • PCL 非线性最小二乘法拟合圆柱
  • 【设计模式】迪米特法则
  • CSS3笔试题精讲1
  • 交叉编译用于移植的Qt库
  • 泰凌微TLSR8258 zigbee开发环境搭建
  • C#实现商品信息的显示异常处理
  • 细数N个获取天气信息的免费 API ,附超多免费可用API 推荐(三)
  • 20230404英语学习
  • 冒泡排序 快排(hoare递归)
  • 49天精通Java,第24天,Java链表、散列表、HashSet、TreeSet
  • HashMap源码分析小结
  • 太奇怪了!小公司面试全挂,大厂面试全过,为什么小公司要求比大厂还高?...
  • Java开发环境配置
  • 大学英语视听说教程(陈向京版本)
  • nginx--开源免费
  • 阿里云OSS对象存储
  • 基于VHDL语言的汽车测速系统设计_kaic
  • 【数据结构】单链表(笔记总结)
  • Git操作之 git add 撤销、git commit 撤销
  • 用PyTorch实现MNIST数据集手写数字识别
  • leetcode3:无重复字符的最长子串
  • ChatGPT让现在的软件都土掉渣了
  • IU5708D低静态电流同步升压DC-DC 控制器
  • ubuntu查看软件安装路径