linux安装oracle服务
略,参考https://www.cnblogs.com/zhangboyu/p/7449203.html
数据库服务的启动与关闭
使用oracle用户登陆或者切换至oracle用户 su - oracle
启动:1启动监听 2启动实例
关闭:1关闭实例 2关闭监听
查看监听状态:lsnrctl status
监听启动:lsnrctl start
监听关闭:lsnrctl stop
操作实例时先使用管理员账号连接数据库(sqlplus / as sysdba)
启动实例:startup
关闭实例:shutdown
创建用户和表空间
1.登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
2.以sysdba方式来打开sqlplus,命令如下: sqlplus / as sysdba
或者打开sqlplus /nolog 以管理员身份登录: conn sys/cjqmima as sysdba
3.创建临时表空间:
--查询临时表空间文件的绝对路径。如果需要的话,可以通过查询来写定绝对路径。一般用${ORACLE_HOME}就可以了
select name from v$tempfile;
create temporary tablespace CJQ_TEMP tempfile \'${ORACLE_HOME}\oradata\CJQ_TEMP.bdf\' size 100m reuse autoextend on next 20m maxsize unlimited;
4.创建正式表空间
--查询用户表空间文件的绝对路径: select name from v$datafile; create tablespace CJQ datafile \'${ORACLE_HOME}\oradata\CJQ.dbf\' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
5.创建用户和密码,指定上边创建的临时表空间和表空间
create user cjq identified by cjq default tablespace CJQ temporary tablespace CJQ_TEMP;
用户赋权
grant dba to cjq; grant connect,resource to cjq; grant select any table to cjq; grant delete any table to cjq; grant update any table to cjq; grant insert any table to cjq;
#操作表空间的权限
grant unlimited tablespace to cjq;
查看用户所有权限
select * from dba_sys_privs where grantee = \'CJQ\'
select * from dba_role_privs where grantee = \'CJQ\'
撤销权限
revoke 角色|权限 from cjq
ORA-01045: user lacks CREATE SESSION privilege解决办法
错误原因没有赋予权限(登陆权限session)
解决办法:grant create session,resource to 用户名;
ORA-12145:TNS:无法解析指定的连接标识符
检查tnsnames.ora配置
在客户端的安装路径下,我的是D:\oracle\instantclient_12_1\NETWORK\ADMIN,创建一个文件,名为:tnsnames.ora,如果之前创建过了,则直接打开住里追加就行了。在tnsnames.ora中追加如下内容:
SID名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SID名)
)
注意SID名前面不能有任何其他字符,尤其是空格!
查询需要修改的用户名的编号:select user#,name from user$;(取对应的user#,假设user#等于66)
修改用户名称:update user$ set name=\'新的用户名称\' where user#=66;
系统会提示:1 row updated.说明修改成功
输入:commit;提交所作修改。
ALTER USER 用户名 IDENTIFIED BY 新密码;
输入:commit;(回车)提交所作修改即可
修改用户默认表空间
alter user cjq default tablespace CJQ temporary tablespace CJQ_TEMP;
修改表空间名称以及对应物理文件名称
1.表空间名称修改
alter tablespace CJQ_TEST rename to CJQ
2.是修改后的表空间离线
alter tablespace CJQ offline
3.修改linux上表空间对应的物理文件名称(改成期望文件名称)
先查看所有表空间对应的物理文件相对路径
select * from dba_data_files
linux后台进入表空间对应物理文件的上一级目录,修改文件名称
mv cjq_test.dbf cjq.dbf
4.指定表空间物理文件名称替换
alter tablespace CJQ rename datafile \'/u01/app/product/12.2.0/cjq_test.dbf\' to \'/u01/app/product/12.2.0/cjq.dbf\'
5.使表空间在线
alter tablespace CJQ online