oracle 口令文件参数文件

转载于:(140条消息) 如何管理oralce口令文件和参数文件_oracle 口令文件_梦想家DBA匠人的博客-CSDN博客
口令文件审核

Step 1: 使用root账号将 oracle dba的权限移除

[root@oracle-db-19c ~]# su - oracle
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$ id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1502(dba),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$ su -
Password:
[root@oracle-db-19c ~]# gpasswd -d oracle dba
Removing user oracle from group dba
[root@oracle-db-19c ~]#
[root@oracle-db-19c ~]# id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[root@oracle-db-19c ~]#
注意:如何恢复已经删除的权限:

gpasswd -d userName groupName

gpasswd -d oracle dba

usermod -a -G groupName userName


usermod -a -G dba oracle

gpasswd -a oracle dba

[root@oracle-db-19c ~]# id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[root@oracle-db-19c ~]# groupadd -g 1502 dba
groupadd: group 'dba' already exists
[root@oracle-db-19c ~]# usermod -a -G dba oracle
[root@oracle-db-19c ~]# id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1502(dba),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[root@oracle-db-19c ~]#
Step2 : 核查使用 sqlplus / as sysdba是否可以登录。结果是无法登录,需要口令方可登录。

Version 19.3.0.0.0
[oracle@oracle-db-19c ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 17:26:20 2022
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied


SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
[oracle@oracle-db-19c ~]$ sqlplus sys/sys as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 17:26:52 2022
Version 19.3.0.0.0

Copyright (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.0

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@oracle-db-19c ~]$

Step3 查看口令文件在何处?

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]$ ls -ltr
total 20
-rw-r--r--. 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r-----. 1 oracle oinstall 24 Nov 2 15:03 lkCDB1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1
-rw-rw----. 1 oracle oinstall 1544 Nov 19 11:09 hc_cdb1.dat
-rw-r-----. 1 oracle oinstall 3584 Nov 19 14:00 spfilecdb1.ora
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$ ls -ltr orapwcdb1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1
[oracle@oracle-db-19c dbs]$ cp -p orapwcdb1 orapwcdb1_bkp
[oracle@oracle-db-19c dbs]$
Step 4.口令文件删除后就无法登录到超级用户了。

[oracle@oracle-db-19c dbs]$ ls -ltr
total 24
-rw-r--r--. 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r-----. 1 oracle oinstall 24 Nov 2 15:03 lkCDB1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1_bkp
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1
-rw-rw----. 1 oracle oinstall 1544 Nov 19 11:09 hc_cdb1.dat
-rw-r-----. 1 oracle oinstall 3584 Nov 19 14:00 spfilecdb1.ora
[oracle@oracle-db-19c dbs]$ rm -rf orapwcdb1
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$ sqlplus sys/sys as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 17:34:07 2022
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name:
Step5. 如何解决口令文件丢失或口令文件损坏(切记使用绝对路径,不要使用

orapwd file=$ORALCE_HOME/dbs/orapwcdb1 password=1qazxsw23edc#

否则,OPW-00001: Unable to open password-file

[oracle@oracle-db-19c dbs]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@oracle-db-19c dbs]$ orapwd file=/u01/app/oracle/product/19.3.0/dbhome_1/dbs/orapwcdb1 password=1qazxsw23edc#
[oracle@oracle-db-19c dbs]$ ll
total 28
-rw-rw----. 1 oracle oinstall 1544 Nov 19 11:09 hc_cdb1.dat
-rw-r--r--. 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r-----. 1 oracle oinstall 24 Nov 2 15:03 lkCDB1
-rw-r-----. 1 oracle oinstall 6144 Nov 19 17:57 orapwcdb1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1_bkp
-rw-r-----. 1 oracle oinstall 3584 Nov 19 14:00 spfilecdb1.ora
[oracle@oracle-db-19c dbs]$

[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$ sqlplus sys/1qazxsw23edc# as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 18:00:17 2022
Version 19.3.0.0.0

Copyright (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.0

SQL>
sys的安全审核需要通过口令文件。

拥有dba角色的权限就可以所有用户权限。

参数文件
什么是参数? 控制数据库属性行为的开关。

如何查看参数和参数的取值?

SQL> column name for a40
SQL> column value for a40
SQL> set linesize 200
SQL> set pagesize 200
SQL> select name,value from v$parameter;

NAME VALUE
---------------------------------------- ----------------------------------------
lock_name_space
processes 320
sessions 504
timed_statistics TRUE
timed_os_statistics 0
resource_limit TRUE
license_max_sessions 0
license_sessions_warning 0
long_module_action TRUE
standby_db_preserve_states NONE
instance_abort_delay_time 0
cpu_count 4
cpu_min_count 4
instance_groups
event
sga_max_size 629145600
use_large_pages TRUE
pre_page_sga TRUE
shared_memory_address 0
hi_shared_memory_address 0
lock_sga FALSE
processor_group_name
allow_group_access_to_sga FALSE
sga_min_size 0
shared_pool_size 0
large_pool_size 0
java_pool_size 0
streams_pool_size 0
shared_pool_reserved_size 8598323
java_soft_sessionspace_limit 0
java_max_sessionspace_size 0
如何查看非默认值的参数?

SQL>
SQL> column name for a40
SQL> column value for a40
SQL> set pagesize 200
SQL> set linesize 200
SQL> select name,value from v$parameter where isdefault<>'TRUE';

NAME VALUE
---------------------------------------- ----------------------------------------
processes 320
nls_language AMERICAN
nls_territory AMERICA
sga_target 629145600
control_files /u02/oradata/CDB1/control01.ctl, /u02/or
adata/CDB1/control02.ctl

db_block_size 8192
compatible 19.0.0
db_create_file_dest /u02/oradata
undo_tablespace UNDOTBS1
remote_login_passwordfile EXCLUSIVE
dispatchers (PROTOCOL=TCP) (SERVICE=cdb1XDB)
audit_file_dest /u01/app/oracle/admin/cdb1/adump
audit_trail DB
db_name cdb1
open_cursors 300
pga_aggregate_target 209715200
diagnostic_dest /u01/app/oracle
enable_pluggable_database TRUE

18 rows selected.

SQL>
使用sqlplus环境命令查看参数取值

show parameter xxxxx ---> 查看内存值
show spparameter xxxxx ---> 查看spfile中的值


参数的分类
动态参数:内存中的当前值可以被修改。

SQL> select NAME,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE!='FALSE' order by 2;

NAME ISSYS_MOD
---------------------------------------- ---------
backup_tape_io_slaves DEFERRED
recyclebin DEFERRED
session_cached_cursors DEFERRED
private_temp_table_prefix DEFERRED
audit_file_dest DEFERRED
olap_page_pool_size DEFERRED
object_cache_max_size_percent DEFERRED
sort_area_size DEFERRED
sort_area_retained_size DEFERRED
client_statistics_level DEFERRED
object_cache_optimal_size DEFERRED
sessions IMMEDIATE
timed_statistics IMMEDIATE
timed_os_statistics IMMEDIATE

静态参数 :内存中的当前值是不可以被修改的。

 

SQL> select NAME,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE='FALSE';

NAME ISSYS_MOD
---------------------------------------- ---------
lock_name_space FALSE
processes FALSE
standby_db_preserve_states FALSE
instance_groups FALSE
event FALSE
sga_max_size FALSE
use_large_pages FALSE
pre_page_sga FALSE
shared_memory_address FALSE
hi_shared_memory_address FALSE
lock_sga FALSE
processor_group_name FALSE
allow_group_access_to_sga FALSE
shared_pool_reserved_size FALSE
SQL>
SQL> select count(*) from v$parameter;

COUNT(*)
----------
445

SQL> show user;
USER is "SYS"
SQL>
参数文件的分类:
spfile : server parameter file

二进制格式,脱离文件系统的束缚

只能放在server端

一致性比较好

只能使用sql命令修改

spfile的优先级高于pfile

命名规则: spfile<sid>.ora & spfile.ora

pfile: parameter file

文本文件

可以放在server端也可以放在client端

pfile灵活但是副本太多

可以使用文本编辑器直接修改

命名规则: init<sid>.ora

参数文件保存的位置: $ORACLE_HOME/dbs

找到自己的参数文件!

使用spfile启动的实例,如何修改动态参数的内存值?

alter system set open_cursors=500 scope=memory;
使用spfile启动的实例,如何修改动态参数在参数文件中的取值?

alter system set open_cursors=400 scope=spfile;
使用spfile启动的实例,如何修改动态参数在参数文件中的取值和内存的取值?

alter system set open_cursors=600 scope=both;
alter system set open_cursors=600;
使用spfile启动的实例,如何修改静态参数在参数文件中的取值?重新启动实例生效!!! startup force

alter system set db_unique_name='pdb1' scope=spfile;

memory_target=50g
SQL> show parameter open_cursors

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300
SQL> show spparameter open_cursors

SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
* open_cursors integer 300
SQL>

[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$ strings spfilecdb1.ora | grep open_cursors
*.open_cursors=300
[oracle@oracle-db-19c dbs]$
使用pfile:

create pfile from spfile;
create spfile from pfile;
使用pfile 启动实例

alter system set 命令没有scope选项

alter system set 命令只能修改内存

使用pfile 启动的实例,如何修改动态参数的内存值?

alter system set open_cursors=500;
使用pfile启动的实例,如果修改动态参数在参数文件中的取值?

使用vi直接修改。

使用pfile启动的实例,如何同时修改动态参数在参数文件中的取值和内存中的取值?

先用alter system set 命令,再使用vi

使用pfile启动的实例,如何修改静态参数在参数文件中的取值?

直接使用vi直接修改

修改pfile的默认路径

使用临时的pfile启动实例

startup pfile='/home/oracle/l.ora'
————————————————
版权声明:本文为CSDN博主「梦想家DBA匠人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011868279/article/details/127939444

posted @ 2023-02-28 21:04  shu'sblog  阅读(136)  评论(0编辑  收藏  举报