Oracle 常遇到的设置语句

写在前面

Oracle 在使用过程中常会遇到小问题的解决办法

一、Oracle 用户密码过期

执行以下语句前,先确认是否有dba权限,如果没有,可使用sys以dba角色登录执行:
grant dba to XXX; 授权;

  1. 查询用户及其对应的配置文件,一般是default
select username,PROFILE FROM dba_users
  1. 查询default配置文件中密码的有效期
select * from dba_profiles s where s.profile='DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME'
  1. 修改密码有效期
alter profile default limit password_life_time unlimited

二、Orcale导出table 时,提示表不存在问题解决

原因:当数据库中的表为imp生成,且没有数据时,oracle 默认不会分配 segment ,如果此时exp表,则会提示这些表不存在

解决:手动为表分配segment

  1. 执行语句
alter table 表名 allocate extent;
  1. 批量修改语句:
select 'alter table ' || table_name || ' allocate extent;' from user_tables where segment_created = 'NO';
  1. 将执行结果中的语句复制出来执行即可。

三、Oracle sys密码过期问题

1.方法一 重建密码文件(适合密码认证登录的方式)

需要重建密码文件,具体步骤如下:

  1. 首先,确定你的密码文件的路径和名称:
    1. 在windows下在windows下
      密码文件路径oracle_home\database
      密码文件名称pwd+sid.ora
    2. 在unix下
      密码文件路径oracle_home/dbs
      密码文件名称pwd+sid
    3. Sid为实例名称,查看实例名称语句:
    Select instance_name from v$instance;
    select 'pwd'||instance_name||'.ora' from v$instance;
    
  2. 将原密码文件重命名为pwd+sid+back.ora
    在windows命令提示符下重建密码文件:
    Orapwd file=….. Password=….
    密码文件中含有sys的密码
    例如:
    orapwd file=F:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=123
    这样就建立了SYS的密码为123,可以登录了.
    经验证,使用方法一可用

2.方法二(适合OS认证登录的方式)

Oracle提供两种验证方式,一种是OS验证,另一种密码文件验证方式
如果是OS认证,则需要用以下方法修改密码:

sqlplus /nolog;
connect / as sysdba
alter user sys identified by 
alter user system identified by ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值