Linux下Oracle创建新的用户并设置权限

本文详细介绍了在Linux系统中如何使用Oracle数据库创建新用户并设置权限。通过`dbca`命令创建实例,然后以sysdba身份登录,执行`startup mount`、`create user`和`grant dba`等SQL命令进行用户创建和授权。在过程中遇到了数据库未打开、控制文件版本不一致等问题,通过`alter database open`、文件替换和重新启动解决。最后,列举了一些常用的Oracle数据库管理命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


$ export DISPLAY=10.3.3.8:0.0

(10.3.3.8是本机地址,此命令作用是在本机打开图形界面)


$ dbca

此命令作用是打开的工具,将会打开oracle创建实例的图形界面,创建完以后,进入到新创建的实例(以test为例)


$ echo $ORACLE_SID
 显示当前的实例id


$ export ORACLE_SID=test
  切换到test实例


$ sqlplus / as sysdbs

此命令是以sysdbs全局身份进入sql命令界面


SQL> startup mount;
 启动数据库


SQL> create user testuser identified by testuser;
创建用户testuser,密码也是testuser

SQL> grand dba to testuser;

SQL> grand connect,resource,dba to testuser;

给testuser授权,dba是管理权限,此外还可以有connect,resource,可授权多个角色。


SQL> conn testuser/testuser;

从当前用户直接切换到新创建的用户

SQL> sqlplus testuser/testuser;
或者退出后直接进入新用户。


遇到的坑:

执行create user testuser identified by testuser;语句时,出现ORA-01109: database not open错误。

找到了解决方法是,在sysdba用户下执行
SQL>alter database open;
但是执行后又报错,提示ORA-01507: database not mounted


SQL> shutdown immediate

先关闭数据库,再重启


SQL> startup mount
重启时,出现ORA-00214: control file '/opt/oracle/app/oracle/oradata/goods/control01.ctl'
version 757 inconsistent with file
'/opt/oracle/app/oracle/fast_recovery_area/goods/control02.ctl' version 755

查了一下,是控制文件不一致导致数据库起不来
找到了上述两个地址的控制文件control01和control02,先备份版本低的control02,然后将高版本的control01拷贝到control02的文件夹下,并改名control02覆盖低版本的control02。

重新进入sql命令界面

先shutdown immediate后,再次执行startup mount
这次启动成功了。

执行alter database open;也成功

可以正常创建用户了。


 -----oracle的常用操作-------


su - oracle //切换到数据库用户

echo $ORACLE_SID  //查看当前实例

export ORACLE_SID=实例名  //切换当前实例

lsnrctl status  //查看监听状态

lsnrctl start  //启动监听服务

lsnrctl stop  //关闭监听服务

ps -ef|grep oracle //查看数据库服务状态

sqlplus / as sysdba  // 以sys用户登入SQL命令,/和as注意要有空格

SQL> select username from dba_users; //查看用户 ,sql语句要加;号

SQL> alter user 用户名 account unlock; // 用户解锁

SQL> alter user 用户名 identified by 新密码; //修改用户密码

SQL>startup ; //启动数据库

SQL>shutdown immediate ;//关闭数据库

SQL>select status from v$instance ;//查看实例状态
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值