如何管理oralce口令文件和参数文件

news2025/1/17 21:47:08

口令文件

口令文件审核

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'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅析linux 内核 高精度定时器(hrtimer)实现机制(一)

1 hrtimer 概述 在Linux内核中已经存在了一个管理定时器的通用框架。不过它也有很多不足&#xff0c;最大的问题是其精度不是很高。哪怕底层的定时事件设备精度再高&#xff0c;定时器层的分辨率只能达到Tick级别&#xff0c;按照内核配置选项的不同&#xff0c;在100Hz到1000…

灵界的科学丨一、灵界在哪里?

摘自李嗣涔教授《灵界的科学》 在国内物理学界近十位学者的见证下&#xff0c; 发现我们所处四度时空的物质世界之外&#xff0c; 似乎还有一个世界的存在&#xff0c; 当年我把这个世界称作信息场&#xff0c; 也就是俗称的灵界。 二十世纪末宇宙大尺度谜团的重大发现──…

设计模式学习记录

设计模式 UML图&#xff1a; ------> 依赖 ——>关联 -------▲ 实现 —–—▲ 继承 &#x1f53a;———> 聚合 ▲———> 组合&#xff08;关联性更强&#xff09; 一、策略模式&#xff08;行为型&#xff09; 策略模式&#xff1a;是一种定义一系列算法的方法…

Java --- Spring6项目创建及注意事项

目录 一、Spring框架解决的问题 二、Spring介绍 三、Spring八大模块 四、Spring特点 五、第一个Spring6入门程序 六、spring的细节 6.1、配置文件的bean的id不能重复 6.2、spring底层是通过反射调用无参构造方法创建对象 6.3、spring会把创建好的对象存储在Map集合中 6.4…

【数据结构初阶】树+二叉树+堆的实现

真正的勇士&#xff0c;就是在看清生活的真相后&#xff0c;依旧慷慨面对他所遭受的苦难与挫折。 大学究竟教会了我们什么呢&#xff1f;或许答案只有一个&#xff0c;看清自己&#xff0c;与自己和解&#xff0c;和自己坐下来谈一谈。 人生或许本就没有什么意义&#xff0c;…

MySQL的缓冲池(buffer pool)及 LRU算法

1.什么是缓冲池&#xff08;buffer pool&#xff09; buffer pool 是数据库的一个内存组件&#xff0c;里面缓存了磁盘上的真实数据&#xff0c;Java系统对数据库的增删改操作&#xff0c;主要是这个内存数据结构中的缓存数据执行的。 控制块 存的是 数据页所属的表 空间号&a…

MATLAB break语句

MATLAB中 break 语句用于终止 for 或 while 循环的执行&#xff0c;当在循环体内执行到该语句的时候&#xff0c;程序将会跳出循环&#xff0c;继续执行循环语句的下一语句。 注意&#xff1a;在嵌套循环中&#xff0c;break 退出只能在循环发生&#xff0c;后通过的声明控制循…

git关于创建/删除分支常用命令

主要用来介绍git中如何操作分支的命令&#xff1a; 1.git查看所有的分支: git branch -a 2.创建本地分支&#xff1a; git checkout -b <name> 3.有了本地分支之后推送到远程分支; git push origin <name> 4.切换分支&#xff1a; git checkout <name> 5.删除…

黑*头条_第5章_文章发布粉丝管理成形记

黑*头条_第5章_文章发布&粉丝管理成形记 文章目录黑*头条_第5章_文章发布&粉丝管理成形记文章发布&粉丝管理1 需求分析1.1 功能需求1.2 前端需求1.2.1 图文数据需求1.2.2 素材管理需求1.2.3 发布文章需求1.2.4 内容列表需求1.2.5 粉丝概况需求2 定义2.1 后端定义2.…

MacBook磁盘内存空间清理软件CleanMyMac2023

Mac电脑用的时间久了&#xff0c;Mac用户尤其是MacBook用户会经常收到“磁盘几乎已满”的提示&#xff0c;如何解决这个问题&#xff0c;当我们使用苹果MAC一段时间后&#xff0c;就会有大量的垃圾文件占用磁盘空间&#xff0c;例如系统缓存文件、应用程序缓存文件、备份和重复…

2022/11/18[指针] 关于指针的初步理解

先看一段利用指针交换a和b值得代码&#xff1a; #include<stdio.h> void swap(int* p1, int* p2); int main() {int a, b;int* pa, * pb;printf("enter:");scanf_s("%d%d", &a, &b);pa &a;pb &b;printf("%d,%d\n", pa,…

面试:线程池核心线程如何保持一直运行的

对于Java中 Thread 对象&#xff0c;同一个线程对象调用 start 方法后&#xff0c;会在执行完run 后走向终止&#xff08;TERMINATED&#xff09;状态&#xff0c;也就是说一个线程对象是不可以通过多次调用 start 方法重复执行 run 方法内容的。Java的线程是不允许启动两次的&…

frp内网穿透服务

参考博客&#xff1a; https://www.jianshu.com/p/19ea81efffc4 https://blog.csdn.net/yj222333/article/details/124752420 依赖于&#xff1a;Github开源软件FRP 下载地址&#xff1a;https://github.com/fatedier/frp/releases frp 主要由 客户端(frpc) 和 服务端(frps…

基于JAVA景区售票系统设计与实现 开题报告

本科生毕业论文 基于java框架springboot旅游景区景点购票系统 开题报告 学 院&#xff1a; 专 业&#xff1a; 计算机科学与技术 年 级&#xff1a; 学生姓名&#xff1a; 指导教师…

三维模型文件以及obj、ply格式文件生成pcd点云文件

方法一、三维模型文件生成obj文件 要想生成点云文件&#xff0c;要先将三维模型文件保存为obj文件格式&#xff0c;步骤如下&#xff1a; 通过SolidWorks将模型保存为stl文件格式打开SolidWorks的插件选择&#xff0c;在ScanTo3D前面打勾 在solidworks中以网格文件的形式打开…

通信算法之九十六:电力通信系统-HRF多载波通信系统-物理层收发信道开发

目录1.HRF通信系统-物理层收发信道开发1.1 SIG发射机算法功能模块1.2 SIG接收机算法功能模块1.3 PHR发射机算法功能模块1.4 PHR接收机算法功能模块1.5 PSDU发射接收机处理流程1.6前导LTF/STF序列发射接收处理流程1.7PPDU帧&#xff08;前导SIGPHRPSDU&#xff09;发射接收处理流…

阿里云服务器(Ubuntu)配置nextcloud个人网盘

tags: Ubuntu Server Linux 写在前面 最近迷恋上了云服务器的配置, 感觉云服务器能做的事情太多了, 不管是docker还是直接部署, 都是相当方便快捷的, 下面来看看在阿里云服务器配置nextcloud网盘的基本配置方法, 这里参考了一篇文章1, 写的相当详细了, 我这里只是做一些补充.…

【5G MAC】Msg1 TX开环功控介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

使用python编写mqtt客户端向EMQX服务器发送数据

摘要&#xff1a;本文介绍如何用python编写一个mqtt客户端向EMQX服务器发送数据&#xff0c;实现一个简易的本地物联网服务器。 上一篇文章讲到使用mqtt.fx软件来发布消息。 (1条消息) 使用mqtt.fx向EMQX服务器发送消息_TMS320VC5257H的博客-CSDN博客https://blog.csdn.net/yo…

【树莓派不吃灰】命令篇⑦ 学习awk命令

目录awk 命令1. 基本语法2. 工作原理3. 基础实例操作3.1 把用户名和Shell打印出来3.2 找到以ssh关键字开头的所有行&#xff0c;并输出用户名和shell&#xff0c;中间以“-”分割3.3 给用户 ID加上一个常量3.4 输出第一个字段为sshd所在的行4. BEGIN END 操作4.1 基于3.2&#…