Oracle安装完成后,可以手动创建目录、参数文件、密码文件、执行SQL创建数据库,也可以用dbca命令,调出图形界面创建数据库,从体验来说,我个人比较喜欢用dbca。
在ssh终端执行dbca命令,需在服务器端配置DISPLAY环境变量,指向windows机器,如果ssh软件支持Xwindows服务器,就可以显示dbca界面:
export DISPLAY=172.32.147.182:0.0
执行dbca之前应已经安装好Oracle,并且设置好环境变量ORACLE_HOME和ORACLE_BASE。
Step 2 我比较喜欢选Advanced configuration,这让你可以有更多配置选项,但是又并不复杂。
Step 3 选择如下图,这里不创建容器数据库,就是最简单的单实例,General Purpose数据库。
Step 4 根据需要设置Global database name(如果不设置SID那么SID=Global database name,两者可以不同),不勾选Create as Container database,创建完数据库后要设置ORACLE_SID变量为这个SID,注意,大小写敏感!
“Global database name”作为网络注册时的service name,与SID不同,客户端连接时指定service name(Global database name),例如:
sqlplus sys/123@172.32.148.156:1521/abc.qinhao as sysdba
下图,设置控制文件、online redo log和datafile所在目录,一般选“use template file for database storage attributes”就够了,结果就是放在$ORACLE_BASE/oradata/SID 目录下,创建完数据库结果就是:
Step 5 也可以选下面的“use following for the database storage attributes”,设置其它任意路径,还可以使用ASM和OMF功能。
Step 6,默认空白就行,除非你要使能闪回和开启归档日志,不过这些都可以创建完数据库以后再配置开启。
Step 7 配置Listener,在另个一终端启动Listener:lsnrctl start,其它默认即可。(Status为Up)
如果你想创建另一个不同端口的Listener,可以用“Create a new listener“。
Step 8 默认空着,Next。
Step 9 这一步可以设置字符集、连接方式(dedicated or shared)、内存等,我需要将字符集设置为ZHS16GBK,如果没有特殊要求可以用默认值,直接next。(或者浏览熟悉一下)
Step 10 我不需要什么EM,这里就取消了,估计大多数人也用不到,对Oracle的管理直接使用命令行舒适的,next。
Step 11 设置sys和system用户的密码,数据库建好后用sqlplus / as sysdba,就是用sys用户登录的,然后以这个用户再创建别的用户。
Step 12 使用默认值,Next。不过这一页的“All Initialization parameters”可以查看和修改初始化参数,dbca会自动创建一份默认的初始化参数spfile<SID>.ora和密码文件(这些本来都是SQL建库时,需要手动做的工作),“Customize Storage Location”让你可以查看和修改datafile、online redo log、control file的路径和大小。
Step 13 到了这一步,点finish,就开始创建数据库了。
dbca创建完数据库,会启动实例,不知道为什么我总是无法连接上,索性直接重启虚拟机。
还要将 export ORACLE_SID=nlpass01加入~/.bash_profile。