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用戶)
su - oracle
2.以sysdba方式來打開sqlplus,命令如下: sqlplus / as sysdba
sqlplus / as sysdba
或者打開sqlplus /nolog 以管理員身份登錄: conn sys/cjqmima as sysdba
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