oracle 口令文件参数文件

[复制链接]
发表于 2023-3-1 02:47:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
转载于:(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.ora & spfile.ora
pfile: parameter file
文本文件
可以放在server端也可以放在client端
pfile灵活但是副本太多
可以使用文本编辑器直接修改
命名规则: init.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版权协议,转载请附上原文出处链接及本声明。
原文链接:
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表