1 常用命令
1.1 修改网络地址
进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-enp0s3)
打开配置文件并编辑以下变量:
在上图中,“NM_CONTROLLED=no”表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理。“ONBOOT=yes”告诉我们,系统将在启动时开启该接口。
保存修改并使用以下命令来重启网络服务:
# systemctl restart network.service
现在验证接口是否配置正确:
# ip add
2 Oracle操作
2.1 启动Oracle
$ su – oracle: 登陆oracle用户
$ sqlplus "/as sysdba": 连接oracle
SQL> startup : 启动oracle实例
SQL> shutdown immediate : 停止
SQL> alter session set container=pdborcl; 切换session
SQL> startup 启动pdborcl
$ lsnrctl status : 检查监听是否启动
$ lsnrctl start : 启动监听器
2.2 CentOS下自动启动oracle
- 使用root登陆
-
vi /etc/oratab
,找到“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N”,改为“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:Y” - 接著新增一個檔案到 /etc/init.d/ 目錄下 ,命名為 dbora ,此部分可以參考官方文件上的設定:
- 设置自动启动:
cd /etc/init.d
chgrp dba dbora
chmod 750 dbora
chkconfig --add dbora
- vi /etc/rc.d/rc.local,添加:
su oracle -lc "/ora01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc /ora01/app/oracle/product/11.2.0/db_1/bin/dbstart
- 使用触发器,在启动CDB时启动PDB:
使用SYS用户创建如下触发器即可:
CREATE TRIGGER open_all_pdbs
AFTER STARTUP
ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database pdboral open';
END open_all_pdbs;
/
- 重启生效
2.3 XShell中SQL内部Backspace为^H
修改XShell的Keyboard的Backspace为ASCII 127
2.4 表空间
查看表空间及大小(M):
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
创建表空间:
create tablespace test
datafile '/ora01/app/oracle/oradata/orcl/test.dbf' size 1000M
default storage (initial 50M
next 50M
minextents 1
maxextents unlimited
pctincrease 0);
查看默认表空间:
select * from database_properties where property_name = 'DEFAULT_PERMANENT_TABLESPACE';
更改默认表空间:
alter database default tablespace users;
删除表空间:
drop tablespace niptest including contents and datafiles;
2.5 查看版本
SELECT banner FROM v$version WHERE ROWNUM = 1;
2.6 启动DBCA
$ dbca
2.7 12c中启用pdborcl
进入oracle用户(oracle/oracle)
修改tnsnames.ora,添加pdborcl
sqlplus / as sysdba登陆
SQL> alter session set container=pdborcl; 切换session
SQL> startup 启动pdborcl
SQL> conn sys@pdborcl/sys as sysdba; 登陆
通过创建触发器的方式来自动启动PDB,用不着每次还得先用sys登录CDB,然后启动PDB。
触发器代码如下:
SQL> CREATE OR REPLACE TRIGGER open_all_pdbs
2 AFTER STARTUP
3 ON DATABASE
4 BEGIN
5 EXECUTE IMMEDIATE 'alter pluggable database all open';
6 END open_all_pdbs;
7 /
重启数据库:在sqlplus中执行shutdown, startup
新建可插拔数据库:
CREATE pluggable DATABASE pdborcl admin USER pdbadmin identified BY Learning roles=(connect)
file_name_convert= ('D:\App\Oracle\oradata\orcl\pdbseed', 'D:\App\Oracle\oradata\orcl\pdborcl');
其中pdborcl是我创建的可插接式数据库,pdbadmin是创建的用户,Learning是密码。file_name_convert换成相应目录。
2.8 查看/更改12c中当前登录环境:CBD根库/PDB库
SQL> show con_name pdbs;
SQL> show con_name;
SQL> alter session set container = pdborcl;
SQL> alter session set container = CDB$ROOT;
2.9 用户
12c创建公共用户需要以C##作为用户名的开头。略。
创建普通用户(本地用户,在可插拔数据库pdborcl使用):
SQL> create user eric identified by eric default tablespace test;
SQL> grant dba to eric;